GNOME Bugzilla – Bug 530716
Evolution crashed : just after opening an error message window from status bar log
Last modified: 2008-09-29 10:08:26 UTC
Evolution 2.23.1 Gdb traces of evolution process 0xffffe410 in __kernel_vsyscall () (gdb) bt
+ Trace 196516
Thread 1 (Thread 0xb64b18d0 (LWP 17280))
(gdb) bt full
+ Trace 196517
master_client = (GnomeClient *) 0x8074c10 context = (GOptionContext *) 0x806a0c0
Crash came from the mailer.
I wrote some info in bug #481306 comment #4 where I thought it's only 2.10 issue, but now I see I'm wrong.
Created attachment 119011 [details] [review] proposed evo patch for evolution; OK, I think I found it. Two issues: 1) activity handler destroys non-responded errors with gtk_widget_destroy instead of through response signal, but in mailer we are waiting for response handler, to show other pending messages, thus you see only first alert from the provider, not the others which comes in life time of the previous one. 2) if the error wasn't cancel-able, then it was put to the activity handler and the associated message immediately freed, thus in a response handler the message pointer is invalid, and we are accessing some possibly overwritten, but definitely freed memory.
Commit to stable/trunk
Committed to trunk. Committed revision 36473. Committed to gnome-2-24. Committed revision 36474.