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 765128 - Crash when updating notifications
Crash when updating notifications
Status: RESOLVED FIXED
Product: gnome-flashback
Classification: Other
Component: general
unspecified
Other Linux
: Normal critical
: ---
Assigned To: GNOME Flashback Maintainers
GNOME Flashback Maintainers
Depends on:
Blocks:
 
 
Reported: 2016-04-15 22:50 UTC by Balló György
Modified: 2016-04-25 20:04 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Balló György 2016-04-15 22:50:26 UTC
I always get the following crash when a program tries to update an existing notification. It can be easily reproduced with Empathy.

Package versions:
- gtk3 3.20.3
- gnome-flashback 3.20.0
- empathy 3.12.11

systemd-coredump[24507]: Process 24468 (gnome-flashback) of user 1000 dumped core.
                                                 
                                                 Stack trace of thread 24468:
                                                 #0  0x0000000000446dca update_bubble (gnome-flashback)
                                                 #1  0x00007ff63fafb1d4 n/a (libgobject-2.0.so.0)
                                                 #2  0x00007ff63fb159d6 g_signal_emit_valist (libgobject-2.0.so.0)
                                                 #3  0x00007ff63fb160bf g_signal_emit (libgobject-2.0.so.0)
                                                 #4  0x0000000000441b7e nd_notification_update (gnome-flashback)
                                                 #5  0x000000000044114b handle_notify_cb (gnome-flashback)
                                                 #6  0x00007ff639ae51f0 ffi_call_unix64 (libffi.so.6)
                                                 #7  0x00007ff639ae4c58 ffi_call (libffi.so.6)
                                                 #8  0x00007ff63fafb7c9 g_cclosure_marshal_generic (libgobject-2.0.so.0)
                                                 #9  0x00007ff63fafafa5 g_closure_invoke (libgobject-2.0.so.0)
                                                 #10 0x00007ff63fb0cff1 n/a (libgobject-2.0.so.0)
                                                 #11 0x00007ff63fb14d71 g_signal_emitv (libgobject-2.0.so.0)
                                                 #12 0x00000000004461d9 _gf_fd_notifications_gen_skeleton_handle_method_call (gnome-flashback)
                                                 #13 0x00007ff63fe29ff1 n/a (libgio-2.0.so.0)
                                                 #14 0x00007ff63fe11e0c n/a (libgio-2.0.so.0)
                                                 #15 0x00007ff63f824dba g_main_context_dispatch (libglib-2.0.so.0)
                                                 #16 0x00007ff63f825160 n/a (libglib-2.0.so.0)
                                                 #17 0x00007ff63f825482 g_main_loop_run (libglib-2.0.so.0)
                                                 #18 0x0000000000419ca7 main (gnome-flashback)
                                                 #19 0x00007ff63eefb710 __libc_start_main (libc.so.6)
                                                 #20 0x0000000000419d59 _start (gnome-flashback)
                                                 
                                                 Stack trace of thread 24472:
                                                 #0  0x00007ff63efb9c3d poll (libc.so.6)
                                                 #1  0x00007ff63f8250fc n/a (libglib-2.0.so.0)
                                                 #2  0x00007ff63f825482 g_main_loop_run (libglib-2.0.so.0)
                                                 #3  0x00007ff63fe216d6 n/a (libgio-2.0.so.0)
                                                 #4  0x00007ff63f84b975 n/a (libglib-2.0.so.0)
                                                 #5  0x00007ff63f283424 start_thread (libpthread.so.0)
                                                 #6  0x00007ff63efc2cbd __clone (libc.so.6)
                                                 
                                                 Stack trace of thread 24471:
                                                 #0  0x00007ff63efb9c3d poll (libc.so.6)
                                                 #1  0x00007ff63f8250fc n/a (libglib-2.0.so.0)
                                                 #2  0x00007ff63f82520c g_main_context_iteration (libglib-2.0.so.0)
                                                 #3  0x00007ff63f825249 n/a (libglib-2.0.so.0)
                                                 #4  0x00007ff63f84b975 n/a (libglib-2.0.so.0)
                                                 #5  0x00007ff63f283424 start_thread (libpthread.so.0)
                                                 #6  0x00007ff63efc2cbd __clone (libc.so.6)
                                                 
                                                 Stack trace of thread 24474:
                                                 #0  0x00007ff63efb9c3d poll (libc.so.6)
                                                 #1  0x00007ff63f8250fc n/a (libglib-2.0.so.0)
                                                 #2  0x00007ff63f82520c g_main_context_iteration (libglib-2.0.so.0)
                                                 #3  0x00007ff632c0e43d n/a (libdconfsettings.so)
                                                 #4  0x00007ff63f84b975 n/a (libglib-2.0.so.0)
                                                 #5  0x00007ff63f283424 start_thread (libpthread.so.0)
                                                 #6  0x00007ff63efc2cbd __clone (libc.so.6)
Comment 1 Alberts Muktupāvels 2016-04-16 20:35:47 UTC
What content has in your notification? Tried with test-replace from libnotify tests and it did not crash... But that notifications has only title and text.

Can you get better stacktrace? Run:
- gdb gnome-flashback
- run --replace
- make it crash
- bt full
Comment 2 Balló György 2016-04-25 18:21:02 UTC
I think that the notifications contain some text only.


Here is the log:

** (gnome-flashback:11374): WARNING **: Unable to determine the session we are in: No session for pid 11374

(gnome-flashback:11374): Gdk-CRITICAL **: gdk_window_thaw_toplevel_updates: assertion 'window->update_and_descendants_freeze_count > 0' failed
[Thread 0x7fffe37fe700 (LWP 11380) exited]

(gnome-flashback:11374): GLib-GObject-WARNING **: invalid unclassed pointer in cast to 'GtkWidget'

(gnome-flashback:11374): Gtk-CRITICAL **: gtk_widget_show_all: assertion 'GTK_IS_WIDGET (widget)' failed

** (gnome-flashback:11374): CRITICAL **: nd_notification_get_summary: assertion 'ND_IS_NOTIFICATION (notification)' failed

(gnome-flashback:11374): GLib-CRITICAL **: g_markup_escape_text: assertion 'text != NULL' failed

(gnome-flashback:11374): GLib-GObject-WARNING **: invalid unclassed pointer in cast to 'GtkLabel'

(gnome-flashback:11374): Gtk-CRITICAL **: gtk_label_set_markup: assertion 'GTK_IS_LABEL (label)' failed

** (gnome-flashback:11374): CRITICAL **: nd_notification_get_body: assertion 'ND_IS_NOTIFICATION (notification)' failed

(gnome-flashback:11374): Pango-CRITICAL **: pango_parse_markup: assertion 'markup_text != NULL' failed

(gnome-flashback:11374): GLib-CRITICAL **: g_markup_escape_text: assertion 'text != NULL' failed

(gnome-flashback:11374): GLib-GObject-WARNING **: invalid unclassed pointer in cast to 'GtkLabel'

(gnome-flashback:11374): Gtk-CRITICAL **: gtk_label_set_text: assertion 'GTK_IS_LABEL (label)' failed

(gnome-flashback:11374): Gtk-CRITICAL **: gtk_widget_set_visible: assertion 'GTK_IS_WIDGET (widget)' failed

(gnome-flashback:11374): GLib-GObject-WARNING **: invalid unclassed pointer in cast to 'GtkContainer'

(gnome-flashback:11374): Gtk-CRITICAL **: gtk_container_foreach: assertion 'GTK_IS_CONTAINER (container)' failed

** (gnome-flashback:11374): CRITICAL **: nd_notification_get_actions: assertion 'ND_IS_NOTIFICATION (notification)' failed

Thread 1 "gnome-flashback" received signal SIGSEGV, Segmentation fault.
update_bubble (bubble=0xc622c0) at gf-bubble.c:331


Here is the full backtrace:

  • #0 update_bubble
    at gf-bubble.c line 331
  • #1 ??
    from /usr/lib/libgobject-2.0.so.0
  • #2 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #3 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #4 nd_notification_update
    at nd-notification.c line 200
  • #5 handle_notify_cb
    at nd-daemon.c line 212
  • #6 ffi_call_unix64
    from /usr/lib/libffi.so.6
  • #7 ffi_call
    from /usr/lib/libffi.so.6
  • #8 g_cclosure_marshal_generic
    from /usr/lib/libgobject-2.0.so.0
  • #9 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #10 ??
    from /usr/lib/libgobject-2.0.so.0
  • #11 g_signal_emitv
    from /usr/lib/libgobject-2.0.so.0
  • #12 _gf_fd_notifications_gen_skeleton_handle_method_call
    at gf-fd-notifications-gen.c line 1734
  • #13 ??
    from /usr/lib/libgio-2.0.so.0
  • #14 ??
    from /usr/lib/libgio-2.0.so.0
  • #15 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #16 ??
    from /usr/lib/libglib-2.0.so.0
  • #17 g_main_loop_run
    from /usr/lib/libglib-2.0.so.0
  • #18 main
    at gf-main.c line 159

Comment 3 Alberts Muktupāvels 2016-04-25 18:25:43 UTC
Quick question - does it crash if you use old notification-daemon? When notifications are disabled in gnome-flashback (org.gnome.gnome-flashback notifications false)?
Comment 4 Alberts Muktupāvels 2016-04-25 19:04:46 UTC
I think I found the problem. :) Please re-open if still not fixed.
Comment 5 Balló György 2016-04-25 20:04:43 UTC
It works fine now. Thank you very much! :)