GNOME Bugzilla – Bug 732692
Crashes on latest master
Last modified: 2014-08-19 09:53:16 UTC
Latest brasero fails to start on gtk3 from master: From http://build.gnome.org/continuous/buildmaster/builds/2014/07/03/34/applicationstest/work-gnome-continuous-x86_64-runtime/journal.txt gnome-session: testing appid=brasero.desktop gnome-session: Window manager warning: Tried to ping a window with a bad serial! Not allowed. gnome-session: Window manager warning: last_focus_time (129542) is greater than comparison timestamp (129541). This most likely represents a buggy client sending inaccurate timestamps in messages such as _NET_ACTIVE_WINDOW. Trying to work around... gnome-session: (brasero:1387): GLib-GObject-WARNING **: The property GtkSettings:gtk-menu-images is deprecated and shouldn't be used anymore. It will be removed in a future version. gnome-session: (brasero:1387): GLib-GObject-WARNING **: The property GtkSettings:gtk-button-images is deprecated and shouldn't be used anymore. It will be removed in a future version. gnome-session: (brasero:1387): GLib-GObject-WARNING **: The property GtkButton:use-stock is deprecated and shouldn't be used anymore. It will be removed in a future version. gnome-session: (brasero:1387): Gtk-CRITICAL **: gtk_widget_get_preferred_width: assertion 'GTK_IS_WIDGET (widget)' failed gnome-session: (brasero:1387): Gtk-CRITICAL **: gtk_widget_set_size_request: assertion 'GTK_IS_WIDGET (widget)' failed gnome-session: (brasero:1387): Gtk-CRITICAL **: gtk_widget_get_preferred_width: assertion 'GTK_IS_WIDGET (widget)' failed gnome-session: (brasero:1387): Gtk-CRITICAL **: gtk_widget_get_preferred_width: assertion 'GTK_IS_WIDGET (widget)' failed gnome-session: (brasero:1387): Gtk-CRITICAL **: gtk_widget_get_preferred_height_for_width: assertion 'GTK_IS_WIDGET (widget)' failed gnome-session: (brasero:1387): Gtk-CRITICAL **: gtk_widget_get_preferred_height_for_width: assertion 'GTK_IS_WIDGET (widget)' failed gnome-session: (brasero:1387): Gtk-CRITICAL **: gtk_widget_get_preferred_width: assertion 'GTK_IS_WIDGET (widget)' failed gnome-session: (brasero:1387): Gtk-CRITICAL **: gtk_widget_set_size_request: assertion 'GTK_IS_WIDGET (widget)' failed gnome-session: (brasero:1387): Gtk-CRITICAL **: gtk_widget_get_preferred_width: assertion 'GTK_IS_WIDGET (widget)' failed gnome-session: (brasero:1387): Gtk-CRITICAL **: _gtk_widget_get_preferred_size_and_baseline: assertion 'GTK_IS_WIDGET (widget)' failed kernel: brasero[1387]: segfault at 18 ip 00007f65ffb16417 sp 00007fff19d9f400 error 4 in libgtk-3.so.0.1304.0[7f65ff7cd000+626000] systemd-coredump: Process 1387 (brasero) of user 1000 dumped core. Stack trace of thread 1387: #0 0x00007f65ffb16417 gtk_widget_size_allocate_with_baseline (libgtk-3.so.0) #1 0x00007f65ff90cde1 n/a (libgtk-3.so.0) #2 0x00007f65fd810010 g_cclosure_marshal_VOID__BOXEDv (libgobject-2.0.so.0) #3 0x00007f65fd80d3bf n/a (libgobject-2.0.so.0) #4 0x00007f65fd82637f g_signal_emit_valist (libgobject-2.0.so.0) #5 0x00007f65fd827002 g_signal_emit (libgobject-2.0.so.0) #6 0x00007f65ffb168e9 gtk_widget_size_allocate_with_baseline (libgtk-3.so.0) #7 0x00007f65ff89ca71 n/a (libgtk-3.so.0) #8 0x00007f65fd810010 g_cclosure_marshal_VOID__BOXEDv (libgobject-2.0.so.0) #9 0x00007f65fd80d3bf n/a (libgobject-2.0.so.0) #10 0x00007f65fd82637f g_signal_emit_valist (libgobject-2.0.so.0) #11 0x00007f65fd827002 g_signal_emit (libgobject-2.0.so.0) #12 0x00007f65ffb168e9 gtk_widget_size_allocate_with_baseline (libgtk-3.so.0) #13 0x00007f65ff8cd5da n/a (libgtk-3.so.0) #14 0x00007f65fd80d192 g_closure_invoke (libgobject-2.0.so.0) #15 0x00007f65fd81e627 n/a (libgobject-2.0.so.0) #16 0x00007f65fd826dc1 g_signal_emit_valist (libgobject-2.0.so.0) #17 0x00007f65fd827002 g_signal_emit (libgobject-2.0.so.0) #18 0x00007f65ffb168e9 gtk_widget_size_allocate_with_baseline (libgtk-3.so.0) #19 0x00007f65ff8cd5da n/a (libgtk-3.so.0) #20 0x00007f65fd810010 g_cclosure_marshal_VOID__BOXEDv (libgobject-2.0.so.0) #21 0x00007f65fd80d3bf n/a (libgobject-2.0.so.0) #22 0x00007f65fd82637f g_signal_emit_valist (libgobject-2.0.so.0) #23 0x00007f65fd827002 g_signal_emit (libgobject-2.0.so.0) #24 0x00007f65ffb168e9 gtk_widget_size_allocate_with_baseline (libgtk-3.so.0) #25 0x00007f65ffa09a22 n/a (libgtk-3.so.0) #26 0x00007f65fd80d192 g_closure_invoke (libgobject-2.0.so.0) #27 0x00007f65fd81e627 n/a (libgobject-2.0.so.0) #28 0x00007f65fd826dc1 g_signal_emit_valist (libgobject-2.0.so.0) #29 0x00007f65fd827002 g_signal_emit (libgobject-2.0.so.0) #30 0x00007f65ffb168e9 gtk_widget_size_allocate_with_baseline (libgtk-3.so.0) #31 0x00007f65ff8cd5da n/a (libgtk-3.so.0) #32 0x00007f65fd810010 g_cclosure_marshal_VOID__BOXEDv (libgobject-2.0.so.0) #33 0x00007f65fd80d3bf n/a (libgobject-2.0.so.0) #34 0x00007f65fd82637f g_signal_emit_valist (libgobject-2.0.so.0) #35 0x00007f65fd827002 g_signal_emit (libgobject-2.0.so.0) #36 0x00007f65ffb168e9 gtk_widget_size_allocate_with_baseline (libgtk-3.so.0) #37 0x00007f65ffa00d55 n/a (libgtk-3.so.0) #38 0x00007f65fd810010 g_cclosure_marshal_VOID__BOXEDv (libgobject-2.0.so.0) #39 0x00007f65fd80d3bf n/a (libgobject-2.0.so.0) #40 0x00007f65fd82637f g_signal_emit_valist (libgobject-2.0.so.0) #41 0x00007f65fd827002 g_signal_emit (libgobject-2.0.so.0) #42 0x00007f65ffb168e9 gtk_widget_size_allocate_with_baseline (libgtk-3.so.0) #43 0x00007f65ff8cd5da n/a (libgtk-3.so.0) #44 0x00007f65fd810010 g_cclosure_marshal_VOID__BOXEDv (libgobject-2.0.so.0) #45 0x00007f65fd80d3bf n/a (libgobject-2.0.so.0) #46 0x00007f65fd82637f g_signal_emit_valist (libgobject-2.0.so.0) #47 0x00007f65fd827002 g_signal_emit (libgobject-2.0.so.0) #48 0x00007f65ffb168e9 gtk_widget_size_allocate_with_baseline (libgtk-3.so.0) #49 0x00007f65ffb2d42b n/a (libgtk-3.so.0) #50 0x00007f65fd80d218 g_closure_invoke (libgobject-2.0.so.0) #51 0x00007f65fd81e627 n/a (libgobject-2.0.so.0) #52 0x00007f65fd826dc1 g_signal_emit_valist (libgobject-2.0.so.0) #53 0x00007f65fd827002 g_signal_emit (libgobject-2.0.so.0) #54 0x00007f65ffb168e9 gtk_widget_size_allocate_with_baseline (libgtk-3.so.0) #55 0x00007f65ffb2e0de n/a (libgtk-3.so.0) #56 0x00007f65fd80d447 n/a (libgobject-2.0.so.0) #57 0x00007f65fd82637f g_signal_emit_valist (libgobject-2.0.so.0) #58 0x00007f65fd827002 g_signal_emit (libgobject-2.0.so.0) #59 0x00007f65ffb1b2a6 gtk_widget_realize (libgtk-3.so.0) #60 0x0000000000443684 brasero_app_create_mainwin (brasero) #61 0x000000000044a12b brasero_cli_apply_options (brasero) #62 0x000000000041a295 main (brasero) #63 0x00007f65fcaf9a35 __libc_start_main (libc.so.6)
A stack trace with full debug info: Program received signal SIGSEGV, Segmentation fault. gtk_widget_size_allocate_with_baseline (widget=0x0, allocation=allocation@entry=0x7fffffffaa60, baseline=baseline@entry=-1) at gtkwidget.c:5934 5934 priv = widget->priv; (gdb) bt
+ Trace 233971
Git bisect on gtk+ resulted in 9c37b3de7466a22d4c784657a86c522e2a4f118a is the first bad commit commit 9c37b3de7466a22d4c784657a86c522e2a4f118a Author: Jasper St. Pierre <jstpierre@mecheye.net> Date: Thu Jun 26 18:22:42 2014 -0400 gtk: Don't use GObjectClass.constructor Use the newer constructed instead, which has a fast path in GObject. :040000 040000 61d41828793001e7a1064105b51b37c7369af7c3 a1300e62d6b992b1fab01d073da6be4474a818e0 M gtk (which is the same as was found in empathy, see bug 732909)
Created attachment 283802 [details] [review] Chain up to parent constructor in 'constructed' vfuncs Since gtk+ commit commit 9c37b3de7466a22d4c784657a86c522e2a4f118a Author: Jasper St. Pierre <jstpierre@mecheye.net> Date: Thu Jun 26 18:22:42 2014 -0400 gtk: Don't use GObjectClass.constructor Use the newer constructed instead, which has a fast path in GObject. brasero crashes at startup. This is caused by some 'constructed' implementations which don't' chain up to the parent class.
Review of attachment 283802 [details] [review]: Looks good, thank you. Please feel free to commit.
Attachment 283802 [details] pushed as 4ef9070 - Chain up to parent constructor in 'constructed' vfuncs