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 732692 - Crashes on latest master
Crashes on latest master
Status: RESOLVED FIXED
Product: brasero
Classification: Applications
Component: general
git master
Other Linux
: Normal critical
: ---
Assigned To: Brasero maintainer(s)
Brasero maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2014-07-03 14:41 UTC by Vadim Rutkovsky
Modified: 2014-08-19 09:53 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Chain up to parent constructor in 'constructed' vfuncs (1.89 KB, patch)
2014-08-18 17:16 UTC, Christophe Fergeau
committed Details | Review

Description Vadim Rutkovsky 2014-07-03 14:41:39 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)
Comment 1 Dominique Leuenberger 2014-08-18 15:52:45 UTC
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
  • #0 gtk_widget_size_allocate_with_baseline
    at gtkwidget.c line 5934
  • #1 gtk_widget_size_allocate
    at gtkwidget.c line 6153
  • #2 gtk_combo_box_size_allocate
    at gtkcombobox.c line 2701
  • #3 g_cclosure_marshal_VOID__BOXEDv
    at gmarshal.c line 1160
  • #4 _g_closure_invoke_va
    at gclosure.c line 831
  • #5 g_signal_emit_valist
    at gsignal.c line 3218
  • #6 g_signal_emit
    at gsignal.c line 3365
  • #7 gtk_widget_size_allocate_with_baseline
    at gtkwidget.c line 6077
  • #8 gtk_widget_size_allocate
    at gtkwidget.c line 6153
  • #9 gtk_table_size_allocate_pass2
    at deprecated/gtktable.c line 1989
  • #10 gtk_table_size_allocate
    at deprecated/gtktable.c line 1211
  • #11 g_cclosure_marshal_VOID__BOXEDv
    at gmarshal.c line 1160
  • #12 _g_closure_invoke_va
    at gclosure.c line 831
  • #13 g_signal_emit_valist
    at gsignal.c line 3218
  • #14 g_signal_emit
    at gsignal.c line 3365
  • #15 gtk_widget_size_allocate_with_baseline
    at gtkwidget.c line 6077
  • #16 gtk_box_size_allocate_no_center
    at gtkbox.c line 800
  • #17 g_closure_invoke
    at gclosure.c line 768
  • #18 signal_emit_unlocked_R
    at gsignal.c line 3483
  • #19 g_signal_emit_valist
    at gsignal.c line 3309
  • #20 g_signal_emit
    at gsignal.c line 3365
  • #21 gtk_widget_size_allocate_with_baseline
    at gtkwidget.c line 6077
  • #22 gtk_box_size_allocate_no_center
    at gtkbox.c line 800
  • #23 g_cclosure_marshal_VOID__BOXEDv
    at gmarshal.c line 1160
  • #24 _g_closure_invoke_va
    at gclosure.c line 831
  • #25 g_signal_emit_valist
    at gsignal.c line 3218
  • #26 g_signal_emit
    at gsignal.c line 3365
  • #27 gtk_widget_size_allocate_with_baseline
    at gtkwidget.c line 6077
  • #28 gtk_widget_size_allocate
    at gtkwidget.c line 6153
  • #29 gtk_paned_child_allocate
    at gtkpaned.c line 1254
  • #30 gtk_paned_size_allocate
    at gtkpaned.c line 1448
  • #31 g_closure_invoke
    at gclosure.c line 768
  • #32 signal_emit_unlocked_R
    at gsignal.c line 3483
  • #33 g_signal_emit_valist
    at gsignal.c line 3309
  • #34 g_signal_emit
    at gsignal.c line 3365
  • #35 gtk_widget_size_allocate_with_baseline
    at gtkwidget.c line 6077
  • #36 gtk_box_size_allocate_no_center
    at gtkbox.c line 800
  • #37 g_cclosure_marshal_VOID__BOXEDv
    at gmarshal.c line 1160
  • #38 _g_closure_invoke_va
    at gclosure.c line 831
  • #39 g_signal_emit_valist
    at gsignal.c line 3218
  • #40 g_signal_emit
    at gsignal.c line 3365
  • #41 gtk_widget_size_allocate_with_baseline
    at gtkwidget.c line 6077
  • #42 gtk_widget_size_allocate
    at gtkwidget.c line 6153
  • #43 gtk_notebook_size_allocate
    at gtknotebook.c line 2578
  • #44 g_cclosure_marshal_VOID__BOXEDv
    at gmarshal.c line 1160
  • #45 _g_closure_invoke_va
    at gclosure.c line 831
  • #46 g_signal_emit_valist
    at gsignal.c line 3218
  • #47 g_signal_emit
    at gsignal.c line 3365
  • #48 gtk_widget_size_allocate_with_baseline
    at gtkwidget.c line 6077
  • #49 gtk_box_size_allocate_no_center
    at gtkbox.c line 800
  • #50 g_cclosure_marshal_VOID__BOXEDv
    at gmarshal.c line 1160
  • #51 _g_closure_invoke_va
    at gclosure.c line 831
  • #52 g_signal_emit_valist
    at gsignal.c line 3218
  • #53 g_signal_emit
    at gsignal.c line 3365
  • #54 gtk_widget_size_allocate_with_baseline
    at gtkwidget.c line 6077
  • #55 gtk_widget_size_allocate
    at gtkwidget.c line 6153
  • #56 gtk_window_size_allocate
    at gtkwindow.c line 7202
  • #57 g_closure_invoke
    at gclosure.c line 768
  • #58 signal_emit_unlocked_R
    at gsignal.c line 3483
  • #59 g_signal_emit_valist
    at gsignal.c line 3309
  • #60 g_signal_emit
    at gsignal.c line 3365
  • #61 gtk_widget_size_allocate_with_baseline
    at gtkwidget.c line 6077
  • #62 gtk_widget_size_allocate
    at gtkwidget.c line 6153
  • #63 gtk_window_realize
    at gtkwindow.c line 6318
  • #64 _g_closure_invoke_va
    at gclosure.c line 831
  • #65 g_signal_emit_valist
    at gsignal.c line 3218
  • #66 g_signal_emit
    at gsignal.c line 3365
  • #67 gtk_widget_realize
    at gtkwidget.c line 5508
  • #68 brasero_app_create_mainwin
    at brasero-app.c line 1986
  • #69 brasero_cli_apply_options
    at brasero-cli.c line 416
  • #70 main
    at main.c line 126

Comment 2 Dominique Leuenberger 2014-08-18 16:59:17 UTC
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)
Comment 3 Christophe Fergeau 2014-08-18 17:16:04 UTC
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.
Comment 4 Joshua Lock 2014-08-19 08:05:55 UTC
Review of attachment 283802 [details] [review]:

Looks good, thank you. Please feel free to commit.
Comment 5 Christophe Fergeau 2014-08-19 09:53:11 UTC
Attachment 283802 [details] pushed as 4ef9070 - Chain up to parent constructor in 'constructed' vfuncs