GNOME Bugzilla – Bug 638533
when viewing mail, frequent SEGFAULT in try_open_e_book_cb
Last modified: 2011-11-30 05:59:53 UTC
Created attachment 177367 [details] gdb backtrace of the segfault I am using evolution 2.30.3 in a fresh install of Debian Squeeze on AMD64 (but with data kept from older versions). Since this fresh install (aprox. a week ago) I am seeing very frequent segfaults with evolution. These segfaults are happening when I am wiewing mails. Step to reproduce : 1-launch evolution 2-read some new or old mails 3-after "some" (5 or 10) mails, evolution will crash with a segfault just after a mail is selected. The segfault always occurs at the same place (a backtrace is attached). I suppose that this bug is not easily reproducible, because it renders evolution nearly unusable for me so it could not have gone unnoticed (and I did not find anything similar in the bug tracker). I will attach other information and a "workaround" in following messages.
Created attachment 177368 [details] debug output of evolution This is a debug output of evolution (obtained with CAMEL_DEBUG=all) corresponding to the same execution which gave the attached backtrace. I only give the end of the file.
Created attachment 177369 [details] [review] workaround for the segfault This "patch" is a workaround to this crash. The segfault is raised when some incorrect GError data are freed (when a new error should be created). The faulty GError comes from a DBUS message. By changing the try_open_e_book function so that it is a really synchronous function (i.e. it calls the e_book_open function) the segfault have disappeared. (I am using the setting to only load image in HTML mail if the author of the mail is in y contact list, if that may explain why the contact list is accessed when I am viewing mail.) I understand that this is not a correct patch, even though I did not notice any serious drawback with applying this patch. As I know too few of Gnome and absolutely nothing of DBUS I did not find from where is sent the faulty message (containing the erroneous GError data), so I don't know if the problem really is in evolution or in DBUS (but I have no random crash except in evolution). However if there is some other things that I can look at to help debug this issue, please tell me what.
Paste here the attach backtrace Program received signal SIGSEGV, Segmentation fault. 0x00007fffee7d5f19 in IA__g_clear_error (err=0x30198dff4) at /scratch/build-area/glib2.0-2.24.2/glib/gerror.c:300 300 /scratch/build-area/glib2.0-2.24.2/glib/gerror.c: Aucun fichier ou dossier de ce type. in /scratch/build-area/glib2.0-2.24.2/glib/gerror.c (gdb) thread apply all bt full
+ Trace 225378
Thread 1 (Thread 0x7ffff7fb1800 (LWP 3676))
https://bugzilla.gnome.org/show_bug.cgi?id=557613#c104 has similar traces.
Hrm, I thought this was fixed by some of Chen changes, but looking into the logs where I would expect such change I didn't find any after 2.30.3 release. Let's have this opened and search for a reproducer, the best with some latest code, than with 2.32.2-, as there is not planned any update, and the code might change anyway, even I didn't find the change (I could search incorrectly).
Similar downstream bug report from 2.32.2: https://bugzilla.redhat.com/show_bug.cgi?id=735102
Can you please check again whether this issue still happens in Evolution 3.0.3 or 3.2.0 and update this report by adding a comment and changing the "Version" field? Thanks a lot.
Closing this bug report as no further information has been provided. Please feel free to reopen this bug if you can provide the information asked for. Thanks!