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 :
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.
(gdb) thread apply all bt full
(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:
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.