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 638533 - when viewing mail, frequent SEGFAULT in try_open_e_book_cb
when viewing mail, frequent SEGFAULT in try_open_e_book_cb
Product: evolution
Classification: Applications
Component: Mailer
2.32.x (obsolete)
Other Linux
: Normal critical
: ---
Assigned To: evolution-mail-maintainers
Evolution QA team
Depends on:
Reported: 2011-01-02 19:01 UTC by mathias
Modified: 2011-11-30 05:59 UTC
See Also:
GNOME target: ---
GNOME version: ---

gdb backtrace of the segfault (15.83 KB, text/x-log)
2011-01-02 19:01 UTC, mathias
debug output of evolution (43.17 KB, text/plain)
2011-01-02 19:03 UTC, mathias
workaround for the segfault (1.53 KB, patch)
2011-01-02 19:15 UTC, mathias
rejected Details | Review

Description mathias 2011-01-02 19:01:19 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.
Comment 1 mathias 2011-01-02 19:03:58 UTC
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.
Comment 2 mathias 2011-01-02 19:15:05 UTC
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.
Comment 3 Fabio Durán Verdugo 2011-01-03 01:29:26 UTC
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

Thread 1 (Thread 0x7ffff7fb1800 (LWP 3676))

  • #0 IA__g_clear_error
    at /scratch/build-area/glib2.0-2.24.2/glib/gerror.c line 300
  • #1 try_open_e_book_cb
    at em-utils.c line 1544
  • #2 open_reply
    at e-book.c line 1681
  • #3 org_gnome_evolution_dataserver_addressbook_Book_open_async_callback
    at e-data-book-bindings.h line 43
  • #4 ??
    from /lib/
  • #5 dbus_connection_dispatch
    from /lib/
  • #6 message_queue_dispatch
    at dbus-gmain.c line 101
  • #7 g_main_dispatch
    at /scratch/build-area/glib2.0-2.24.2/glib/gmain.c line 1960
  • #8 IA__g_main_context_dispatch
    at /scratch/build-area/glib2.0-2.24.2/glib/gmain.c line 2513
  • #9 g_main_context_iterate
    at /scratch/build-area/glib2.0-2.24.2/glib/gmain.c line 2591
  • #10 IA__g_main_loop_run
    at /scratch/build-area/glib2.0-2.24.2/glib/gmain.c line 2799
  • #11 gtk_main
    from /usr/lib/
  • #12 main
    at main.c line 639

Comment 4 Akhil Laddha 2011-01-03 04:19:31 UTC has similar traces.
Comment 5 Milan Crha 2011-02-16 16:31:58 UTC
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).
Comment 6 Milan Crha 2011-09-02 06:28:28 UTC
Similar downstream bug report from 2.32.2:
Comment 7 Akhil Laddha 2011-10-20 10:13:28 UTC
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.
Comment 8 Fabio Durán Verdugo 2011-11-30 05:59:53 UTC
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.