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 739605 - Remove alert buttons on the alert bar hide
Remove alert buttons on the alert bar hide
Status: RESOLVED FIXED
Product: evolution
Classification: Applications
Component: Calendar
3.12.x (obsolete)
Other Linux
: Normal normal
: ---
Assigned To: evolution-calendar-maintainers
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2014-11-04 07:46 UTC by Paul Menzel
Modified: 2014-11-20 22:04 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
debug patch (2.89 KB, text/plain)
2014-11-05 15:22 UTC, Milan Crha
Details

Description Paul Menzel 2014-11-04 07:46:53 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.

Thread 1 (Thread 0xb0ac4900 (LWP 4148))

  • #0 e_alert_response
    at e-alert.c line 945
  • #1 alert_bar_response_close
    at e-alert-bar.c line 54
  • #2 g_cclosure_marshal_VOID__VOIDv
    at /build/glib2.0-BmD7JP/glib2.0-2.42.0/./gobject/gmarshal.c line 115
  • #3 _g_closure_invoke_va
    at /build/glib2.0-BmD7JP/glib2.0-2.42.0/./gobject/gclosure.c line 831
  • #4 g_signal_emit_valist
    at /build/glib2.0-BmD7JP/glib2.0-2.42.0/./gobject/gsignal.c line 3218
  • #5 g_signal_emit
    at /build/glib2.0-BmD7JP/glib2.0-2.42.0/./gobject/gsignal.c line 3365
  • #6 gtk_button_clicked
    at /build/gtk+3.0-zMhBg9/gtk+3.0-3.14.4/./gtk/gtkbutton.c line 1479
  • #7 gtk_button_do_release
    at /build/gtk+3.0-zMhBg9/gtk+3.0-3.14.4/./gtk/gtkbutton.c line 1890
  • #8 gtk_real_button_released
    at /build/gtk+3.0-zMhBg9/gtk+3.0-3.14.4/./gtk/gtkbutton.c line 2008
  • #9 g_cclosure_marshal_VOID__VOIDv
    at /build/glib2.0-BmD7JP/glib2.0-2.42.0/./gobject/gmarshal.c line 115
  • #10 g_type_class_meta_marshalv
    at /build/glib2.0-BmD7JP/glib2.0-2.42.0/./gobject/gclosure.c line 988
  • #11 _g_closure_invoke_va
    at /build/glib2.0-BmD7JP/glib2.0-2.42.0/./gobject/gclosure.c line 831
  • #12 g_signal_emit_valist
    at /build/glib2.0-BmD7JP/glib2.0-2.42.0/./gobject/gsignal.c line 3218
  • #13 g_signal_emit
    at /build/glib2.0-BmD7JP/glib2.0-2.42.0/./gobject/gsignal.c line 3365
  • #14 multipress_released_cb
    at /build/gtk+3.0-zMhBg9/gtk+3.0-3.14.4/./gtk/gtkbutton.c line 611
  • #15 ffi_call_SYSV
    from /usr/lib/i386-linux-gnu/libffi.so.6
  • #16 ffi_call
    from /usr/lib/i386-linux-gnu/libffi.so.6
  • #17 g_cclosure_marshal_generic_va
    at /build/glib2.0-BmD7JP/glib2.0-2.42.0/./gobject/gclosure.c line 1541
  • #18 _g_closure_invoke_va
    at /build/glib2.0-BmD7JP/glib2.0-2.42.0/./gobject/gclosure.c line 831
  • #19 g_signal_emit_valist
    at /build/glib2.0-BmD7JP/glib2.0-2.42.0/./gobject/gsignal.c line 3218
  • #20 g_signal_emit
    at /build/glib2.0-BmD7JP/glib2.0-2.42.0/./gobject/gsignal.c line 3365
  • #21 gtk_gesture_multi_press_end
    at /build/gtk+3.0-zMhBg9/gtk+3.0-3.14.4/./gtk/gtkgesturemultipress.c line 273
  • #22 g_cclosure_marshal_VOID__BOXEDv
    at /build/glib2.0-BmD7JP/glib2.0-2.42.0/./gobject/gmarshal.c line 1160
  • #23 g_type_class_meta_marshalv
    at /build/glib2.0-BmD7JP/glib2.0-2.42.0/./gobject/gclosure.c line 988
  • #24 _g_closure_invoke_va
    at /build/glib2.0-BmD7JP/glib2.0-2.42.0/./gobject/gclosure.c line 831
  • #25 g_signal_emit_valist
    at /build/glib2.0-BmD7JP/glib2.0-2.42.0/./gobject/gsignal.c line 3218
  • #26 g_signal_emit
    at /build/glib2.0-BmD7JP/glib2.0-2.42.0/./gobject/gsignal.c line 3365
  • #27 _gtk_gesture_set_recognized
    at /build/gtk+3.0-zMhBg9/gtk+3.0-3.14.4/./gtk/gtkgesture.c line 275
  • #28 _gtk_gesture_check_recognized
    at /build/gtk+3.0-zMhBg9/gtk+3.0-3.14.4/./gtk/gtkgesture.c line 315
  • #29 gtk_gesture_handle_event
    at /build/gtk+3.0-zMhBg9/gtk+3.0-3.14.4/./gtk/gtkgesture.c line 624
  • #30 gtk_gesture_single_handle_event
    at /build/gtk+3.0-zMhBg9/gtk+3.0-3.14.4/./gtk/gtkgesturesingle.c line 218
  • #31 gtk_event_controller_handle_event
    at /build/gtk+3.0-zMhBg9/gtk+3.0-3.14.4/./gtk/gtkeventcontroller.c line 214
  • #32 _gtk_widget_run_controllers
    at /build/gtk+3.0-zMhBg9/gtk+3.0-3.14.4/./gtk/gtkwidget.c line 7428
  • #33 _gtk_marshal_BOOLEAN__BOXEDv
    at /build/gtk+3.0-zMhBg9/gtk+3.0-3.14.4/./gtk/gtkmarshalers.c line 130
  • #34 g_type_class_meta_marshalv
    at /build/glib2.0-BmD7JP/glib2.0-2.42.0/./gobject/gclosure.c line 988
  • #35 _g_closure_invoke_va
    at /build/glib2.0-BmD7JP/glib2.0-2.42.0/./gobject/gclosure.c line 831
  • #36 g_signal_emit_valist
    at /build/glib2.0-BmD7JP/glib2.0-2.42.0/./gobject/gsignal.c line 3218
  • #37 g_signal_emit
    at /build/glib2.0-BmD7JP/glib2.0-2.42.0/./gobject/gsignal.c line 3365
  • #38 gtk_widget_event_internal
    at /build/gtk+3.0-zMhBg9/gtk+3.0-3.14.4/./gtk/gtkwidget.c line 7773
  • #39 propagate_event_up
    at /build/gtk+3.0-zMhBg9/gtk+3.0-3.14.4/./gtk/gtkmain.c line 2424
  • #40 propagate_event
    at /build/gtk+3.0-zMhBg9/gtk+3.0-3.14.4/./gtk/gtkmain.c line 2526
  • #41 gtk_main_do_event
    at /build/gtk+3.0-zMhBg9/gtk+3.0-3.14.4/./gtk/gtkmain.c line 1748
  • #42 _gdk_event_emit
    at /build/gtk+3.0-zMhBg9/gtk+3.0-3.14.4/./gdk/gdkevents.c line 69
  • #43 gdk_event_source_dispatch
    at /build/gtk+3.0-zMhBg9/gtk+3.0-3.14.4/./gdk/x11/gdkeventsource.c line 364
  • #44 g_main_dispatch
    at /build/glib2.0-BmD7JP/glib2.0-2.42.0/./glib/gmain.c line 3111
  • #45 g_main_context_dispatch
    at /build/glib2.0-BmD7JP/glib2.0-2.42.0/./glib/gmain.c line 3710
  • #46 g_main_context_iterate
    at /build/glib2.0-BmD7JP/glib2.0-2.42.0/./glib/gmain.c line 3781
  • #47 g_main_loop_run
    at /build/glib2.0-BmD7JP/glib2.0-2.42.0/./glib/gmain.c line 3975
  • #48 gtk_main
    at /build/gtk+3.0-zMhBg9/gtk+3.0-3.14.4/./gtk/gtkmain.c line 1207
  • #49 main
    at main.c line 685

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".
Comment 1 Paul Menzel 2014-11-04 07:48:26 UTC
No idea if this is related to bug #729790 [1].

[1] https://bugzilla.gnome.org/show_bug.cgi?id=729790
Comment 2 Paul Menzel 2014-11-04 11:24:20 UTC
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.
Comment 3 Paul Menzel 2014-11-05 13:20:27 UTC
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
Comment 4 Paul Menzel 2014-11-05 13:22:56 UTC
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.
Comment 5 Milan Crha 2014-11-05 15:22:56 UTC
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.
Comment 6 Milan Crha 2014-11-05 15:34:05 UTC
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
Comment 7 Paul Menzel 2014-11-20 22:04:34 UTC
In the Debian BTS this issues has been assigned the number #770390 [1].

[1] http://bugs.debian.org/770390