After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 742080 - Program received signal SIGBUS, Bus error.: __memcpy_ssse3 () at ../sysdeps/i386/i686/multiarch/memcpy-ssse3.S:144
Program received signal SIGBUS, Bus error.: __memcpy_ssse3 () at ../sysdeps/i...
Status: RESOLVED NOTGNOME
Product: evolution
Classification: Applications
Component: Mailer
3.12.x (obsolete)
Other Linux
: Normal normal
: ---
Assigned To: evolution-mail-maintainers
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2014-12-29 09:47 UTC by Paul Menzel
Modified: 2015-01-05 11:27 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
(gdb) set logging on … (56.99 KB, text/x-log)
2014-12-29 09:47 UTC, Paul Menzel
Details

Description Paul Menzel 2014-12-29 09:47:25 UTC
Created attachment 293425 [details]
(gdb) set logging on …

Using Debian Sid/unstable with Evolution 3.12.9~git20141130.241663-1 and SQLite 3.8.7.4 (libsqlite3-0) Evolution crashed with a bus error.

Program received signal SIGBUS, Bus error.
[Switching to Thread 0xa8fc0b40 (LWP 12188)]
__memcpy_ssse3 () at ../sysdeps/i386/i686/multiarch/memcpy-ssse3.S:144
144	../sysdeps/i386/i686/multiarch/memcpy-ssse3.S: Datei oder Verzeichnis nicht gefunden.

Thread 28 (Thread 0xa8fc0b40 (LWP 12188))

  • #0 __memcpy_ssse3
    at ../sysdeps/i386/i686/multiarch/memcpy-ssse3.S line 144
  • #1 memcpy
    at /usr/include/i386-linux-gnu/bits/string3.h line 51
  • #2 unixWrite
    at sqlite3.c line 28150
  • #3 camel_sqlite3_file_xWrite
    at camel-db.c line 212
  • #4 sqlite3OsWrite
    at sqlite3.c line 15975
  • #5 vdbePmaWriteBlob
    at sqlite3.c line 11767
  • #6 vdbeSorterListToPMA
    at sqlite3.c line 77409
  • #7 vdbeSorterFlushPMA
    at sqlite3.c line 77549
  • #8 sqlite3VdbeSorterWrite
    at sqlite3.c line 77624
  • #9 sqlite3VdbeExec
    at sqlite3.c line 8210
  • #10 sqlite3Step
    at sqlite3.c line 67812
  • #11 sqlite3_step
    at sqlite3.c line 2342
  • #12 sqlite3_exec
    at sqlite3.c line 99420
  • #13 cdb_sql_exec
    at camel-db.c line 487
  • #14 camel_db_select
    at camel-db.c line 1075
  • #15 camel_db_get_folder_uids
    at camel-db.c line 1142
  • #16 camel_folder_summary_load_from_db
    at camel-folder-summary.c line 2441
  • #17 local_summary_load
    at camel-local-summary.c line 168
  • #18 maildir_summary_load
    at camel-maildir-summary.c line 496
  • #19 camel_local_summary_load
    at camel-local-summary.c line 184
  • #20 camel_local_folder_construct
    at camel-local-folder.c line 635
  • #21 camel_maildir_folder_new
    at camel-maildir-folder.c line 505
  • #22 maildir_store_get_folder_sync
  • #23 camel_store_get_folder_sync
    at camel-store.c line 1261
  • #24 e_mail_session_uri_to_folder_sync
  • #25 receive_get_folder
    at mail-send-recv.c line 924
  • #26 open_folder
    at camel-filter-driver.c line 1131
  • #27 do_move
    at camel-filter-driver.c line 593
  • #28 camel_sexp_term_eval
    at camel-sexp.c line 810
  • #29 term_eval_begin
    at camel-sexp.c line 748
  • #30 camel_sexp_term_eval
    at camel-sexp.c line 800
  • #31 camel_sexp_eval
    at camel-sexp.c line 1728
  • #32 camel_filter_driver_filter_message
    at camel-filter-driver.c line 1773
  • #33 camel_filter_driver_filter_folder
    at camel-filter-driver.c line 1544
  • #34 em_filter_folder_element_exec
    at mail-ops.c line 122
  • #35 fetch_mail_exec
    at mail-ops.c line 361
  • #36 mail_msg_proxy
    at mail-mt.c line 373
  • #37 g_thread_pool_thread_proxy
    at /build/glib2.0-EvFudu/glib2.0-2.42.1/./glib/gthreadpool.c line 307
  • #38 g_thread_proxy
    at /build/glib2.0-EvFudu/glib2.0-2.42.1/./glib/gthread.c line 764
  • #39 start_thread
    at pthread_create.c line 309
  • #40 clone
    at ../sysdeps/unix/sysv/linux/i386/clone.S line 129

I have no idea if this related to the SQLite upgrade from 3.8.7.2 to 3.8.7.4 or some other problem as I get crashes due to bus errors since at least Evolution 3.4, but was never able to catch it in GDB.

Below is some more output from GDB commands I found to run in this case:

(gdb) info registers
eax            0x9114e4b0	-1860901712
ecx            0x400	1024
edx            0x9b972000	-1684594688
ebx            0xb4042cf8	-1274794760
esp            0xa8fbf2d8	0xa8fbf2d8
ebp            0x0	0x0
esi            0x400	1024
edi            0x0	0
eip            0xb51e54f9	0xb51e54f9 <__memcpy_ssse3+73>
eflags         0x210202	[ IF RF ID ]
cs             0x73	115
ss             0x7b	123
ds             0x7b	123
es             0x7b	123
fs             0x0	0
gs             0x33	51
(gdb) x/i $pc
=> 0xb51e54f9 <__memcpy_ssse3+73>:	movlpd %xmm0,(%edx)
(gdb) p/x $edx
$1 = 0x9b972000
(gdb) p/t $eax & (sizeof(int) - 1)
$2 = 0

So the problem is not unaligned access.
Comment 1 Paul Menzel 2014-12-29 09:52:51 UTC
I am able to reproduce this the second time.

Program received signal SIGBUS, Bus error.

Thread 2759457600 (LWP 30155)

  • #0 __memcpy_ssse3
    at ../sysdeps/i386/i686/multiarch/memcpy-ssse3.S line 144
  • #1 memcpy
    at /usr/include/i386-linux-gnu/bits/string3.h line 51
  • #2 unixWrite
    at sqlite3.c line 28150
  • #3 camel_sqlite3_file_xWrite
    at camel-db.c line 212
  • #4 sqlite3OsWrite
    at sqlite3.c line 15975
  • #5 vdbePmaWriteBlob
    at sqlite3.c line 11767
  • #6 vdbeSorterListToPMA
    at sqlite3.c line 77409
  • #7 vdbeSorterFlushPMA
    at sqlite3.c line 77549
  • #8 sqlite3VdbeSorterWrite
    at sqlite3.c line 77624
  • #9 sqlite3VdbeExec
    at sqlite3.c line 8210
  • #10 sqlite3Step
    at sqlite3.c line 67812
  • #11 sqlite3_step
    at sqlite3.c line 2342
  • #12 sqlite3_exec
    at sqlite3.c line 99420
  • #13 cdb_sql_exec
    at camel-db.c line 487
  • #14 camel_db_select
    at camel-db.c line 1075
  • #15 camel_db_get_folder_uids
    at camel-db.c line 1142
  • #16 camel_folder_summary_load_from_db
    at camel-folder-summary.c line 2441
  • #17 local_summary_load
    at camel-local-summary.c line 168
  • #18 maildir_summary_load
    at camel-maildir-summary.c line 496
  • #19 camel_local_summary_load
    at camel-local-summary.c line 184
  • #20 camel_local_folder_construct
    at camel-local-folder.c line 635
  • #21 camel_maildir_folder_new
    at camel-maildir-folder.c line 505
  • #22 maildir_store_get_folder_sync
  • #23 camel_store_get_folder_sync
    at camel-store.c line 1261
  • #24 e_mail_session_uri_to_folder_sync
  • #25 receive_get_folder
    at mail-send-recv.c line 924
  • #26 open_folder
    at camel-filter-driver.c line 1131
  • #27 do_move
    at camel-filter-driver.c line 593
  • #28 camel_sexp_term_eval
    at camel-sexp.c line 810
  • #29 term_eval_begin
    at camel-sexp.c line 748
  • #30 camel_sexp_term_eval
    at camel-sexp.c line 800
  • #31 camel_sexp_eval
    at camel-sexp.c line 1728
  • #32 camel_filter_driver_filter_message
    at camel-filter-driver.c line 1773
  • #33 camel_filter_driver_filter_folder
    at camel-filter-driver.c line 1544
  • #34 em_filter_folder_element_exec
    at mail-ops.c line 122
  • #35 fetch_mail_exec
    at mail-ops.c line 361
  • #36 mail_msg_proxy
    at mail-mt.c line 373
  • #37 g_thread_pool_thread_proxy
    at /build/glib2.0-EvFudu/glib2.0-2.42.1/./glib/gthreadpool.c line 307
  • #38 g_thread_proxy
    at /build/glib2.0-EvFudu/glib2.0-2.42.1/./glib/gthread.c line 764
  • #39 start_thread
    at pthread_create.c line 309
  • #40 clone
    at ../sysdeps/unix/sysv/linux/i386/clone.S line 129

Comment 2 Paul Menzel 2014-12-29 10:15:36 UTC
Downgrading to libsqlite3-0 3.8.7.1 from Debian Jessie/testing solves this problem for me.
Comment 3 Paul Menzel 2014-12-29 10:28:08 UTC
(In reply to comment #2)
> Downgrading to libsqlite3-0 3.8.7.1 from Debian Jessie/testing solves this
> problem for me.

At least I was unable to reproduce it.
Comment 4 Paul Menzel 2014-12-29 15:09:32 UTC
For the record, I am using a 32-bit Linux kernel (3.16.x) and user space.
Comment 5 Paul Menzel 2014-12-29 15:16:22 UTC
Richard, thank you for your reply on the sqlite-users list [1].

I am currently unable to reply via email, so I am using this medium. Sorry for that.

The Debian Sources service has the exact source of the package, including `camel-db.c`, I am using [2].

[1] https://www.mail-archive.com/sqlite-users@sqlite.org/msg87897.html
[2] http://sources.debian.net/src/evolution-data-server/3.12.9~git20141128.5242b0-2/camel/camel-db.c/
Comment 6 D. Richard Hipp 2014-12-30 12:33:40 UTC
Can someone please test and verify that adding -DSQLITE_MAX_MMAP_SIZE=0 to the SQLite build clears this problem?
Comment 7 Milan Crha 2015-01-05 11:27:18 UTC
This [1] evolution threads ends with a note about the SQLite working properly when there is enough /var space, thus I close this as NotGnome.

[1] https://mail.gnome.org/archives/evolution-list/2014-December/msg00135.html