GNOME Bugzilla – Bug 739605
Remove alert buttons on the alert bar hide
Last modified: 2014-11-20 22:04:34 UTC
With Debian Sid/unstable and Evolution 3.12.7 and Evolution-Data-Server 3.12.7.1, running Evolution under GDB I could get the backtrace of the following crashh with segmentation fault. Program received signal SIGSEGV, Segmentation fault. 0xb7db5ef3 in e_alert_response (alert=0x891a9e70, response_id=-7) at e-alert.c:945 Here is the backtrace.
+ Trace 234301
Thread 1 (Thread 0xb0ac4900 (LWP 4148))
Program terminated with signal SIGSEGV, Segmentation fault. The program no longer exists. Starting program: /usr/bin/evolution [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/i386-linux-gnu/i686/cmov/libthread_db.so.1".
No idea if this is related to bug #729790 [1]. [1] https://bugzilla.gnome.org/show_bug.cgi?id=729790
Milan asked me on IRC, if some message was shown before the crash. I am can’t remember exactly, but I think no message was shown and I was just in the mail view. During startup for some reason I see old alerts from past events, but I think nothing popped up before the crash.
If somebody experiences this, Milan asked to do the following in GDB. when/if it happens again, attach gdb to the process, and at the frame 0 please do: p *alert->priv
I only have a “normal” USB keyboard and “normal” USB mouse – five buttons, but I just use the left, right and middle button (scroll wheel) – attached.
Created attachment 290032 [details] debug patch This is a complicated debug patch. I'll remove a buzz on it and just commit the change which is conditionalized by g_getenv() in that debug patch. I attach it here only in case you'd like to debug and test what is actually happening in the background, also in case you'd find a way to reproduce it. No big deal if not. The thing I think is happening here is that the hidden alert has kept the buttons for the alert, including the close button, and you managed somehow to press the hidden button (it can be some sort of an issue on the newer gtk+, who knows). There should help to remove the buttons, thus the callbacks registered on the buttons are not called on an already freed alert.
Created commit c0d144b in evo master (3.13.8+) [1] Created commit ce4a518 in evo evolution-3-12 (3.12.8+) [1] https://git.gnome.org/browse/evolution/commit/?id=c0d144b
In the Debian BTS this issues has been assigned the number #770390 [1]. [1] http://bugs.debian.org/770390