GNOME Bugzilla – Bug 765128
Crash when updating notifications
Last modified: 2016-04-25 20:04:43 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)
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
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:
+ Trace 236206
Quick question - does it crash if you use old notification-daemon? When notifications are disabled in gnome-flashback (org.gnome.gnome-flashback notifications false)?
I think I found the problem. :) Please re-open if still not fixed.
It works fine now. Thank you very much! :)