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 770307 - Crash when closing a glade project
Crash when closing a glade project
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: Backend: Wayland
3.20.x
Other Linux
: Normal critical
: ---
Assigned To: gtk-bugs
gtk-bugs
Depends on:
Blocks:
 
 
Reported: 2016-08-23 23:24 UTC by Lionel Landwerlin
Modified: 2016-08-29 18:14 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Example ui file (3.74 KB, application/x-designer)
2016-08-24 23:50 UTC, Lionel Landwerlin
  Details
gtk: window: don't forget to popovers of subwindows (887 bytes, patch)
2016-08-25 19:39 UTC, Lionel Landwerlin
accepted-commit_now Details | Review
gtk: window: don't forget to realize popovers of subwindows (895 bytes, patch)
2016-08-25 19:40 UTC, Lionel Landwerlin
committed Details | Review

Description Lionel Landwerlin 2016-08-23 23:24:44 UTC
Open a project with a main window and a dialog window, close (Ctrl-w) and here is the backtrace : 


Thread 1 "glade" received signal SIGSEGV, Segmentation fault.
gdk_window_set_transient_for (window=0x0, parent=0x0) at ././gdk/gdkwindow.c:10148
10148	././gdk/gdkwindow.c: No such file or directory.
(gdb) bt
  • #0 gdk_window_set_transient_for
    at ././gdk/gdkwindow.c line 10148
  • #1 popover_unrealize
    at ././gtk/gtkwindow.c line 7388
  • #2 gtk_window_unrealize
    at ././gtk/gtkwindow.c line 7451
  • #3 _g_closure_invoke_va
    at ././gobject/gclosure.c line 867
  • #4 g_signal_emit_valist
    at ././gobject/gsignal.c line 3294
  • #5 g_signal_emit
    at ././gobject/gsignal.c line 3441
  • #6 gtk_widget_unrealize
    at ././gtk/gtkwidget.c line 5540
  • #7 gtk_widget_real_unrealize
    at ././gtk/gtkwidget.c line 12397
  • #8 _g_closure_invoke_va
    at ././gobject/gclosure.c line 867
  • #9 g_signal_emit_valist
    at ././gobject/gsignal.c line 3294
  • #10 g_signal_emit
    at ././gobject/gsignal.c line 3441
  • #11 gtk_widget_unrealize
    at ././gtk/gtkwidget.c line 5540
  • #12 gtk_box_forall
    at ././gtk/gtkbox.c line 2661
  • #13 gtk_widget_real_unrealize
    at ././gtk/gtkwidget.c line 12397
  • #14 _g_closure_invoke_va
    at ././gobject/gclosure.c line 867
  • #15 g_signal_emit_valist
    at ././gobject/gsignal.c line 3294
  • #16 g_signal_emit
    at ././gobject/gsignal.c line 3441
  • #17 gtk_widget_unrealize
    at ././gtk/gtkwidget.c line 5540
  • #18 gtk_widget_real_unrealize
    at ././gtk/gtkwidget.c line 12397
  • #19 _g_closure_invoke_va
    at ././gobject/gclosure.c line 867
  • #20 g_signal_emit_valist
    at ././gobject/gsignal.c line 3294
  • #21 g_signal_emit
    at ././gobject/gsignal.c line 3441
  • #22 gtk_widget_unrealize
    at ././gtk/gtkwidget.c line 5540
  • #23 gtk_scrolled_window_forall
    at ././gtk/gtkscrolledwindow.c line 2888
  • #24 gtk_widget_real_unrealize
    at ././gtk/gtkwidget.c line 12397
  • #25 _g_closure_invoke_va
    at ././gobject/gclosure.c line 867
  • #26 g_signal_emit_valist
    at ././gobject/gsignal.c line 3294
  • #27 g_signal_emit
    at ././gobject/gsignal.c line 3441
  • #28 gtk_widget_unrealize
    at ././gtk/gtkwidget.c line 5540
  • #29 gtk_box_forall
    at ././gtk/gtkbox.c line 2661
  • #30 gtk_widget_real_unrealize
    at ././gtk/gtkwidget.c line 12397
  • #31 _g_closure_invoke_va
    at ././gobject/gclosure.c line 867
  • #32 g_signal_emit_valist
    at ././gobject/gsignal.c line 3294
  • #33 g_signal_emit
    at ././gobject/gsignal.c line 3441
  • #34 gtk_widget_unrealize
    at ././gtk/gtkwidget.c line 5540
  • #35 gtk_widget_unparent
    at ././gtk/gtkwidget.c line 4631
  • #36 gtk_notebook_remove
    at ././gtk/gtknotebook.c line 5063
  • #37 gtk_notebook_remove
    at ././gtk/gtknotebook.c line 4233
  • #38 g_cclosure_marshal_VOID__OBJECTv
    at ././gobject/gmarshal.c line 2102
  • #39 _g_closure_invoke_va
    at ././gobject/gclosure.c line 867
  • #40 g_signal_emit_valist
    at ././gobject/gsignal.c line 3294
  • #41 g_signal_emit
    at ././gobject/gsignal.c line 3441
  • #42 gtk_container_remove
    at ././gtk/gtkcontainer.c line 1905
  • #43 0x000000000040cee5 in
  • #47 <emit signal ??? on instance 0xb4b270 [GtkAction]>
    at ././gobject/gsignal.c line 3441
  • #48 _gtk_action_emit_activate
    at ././gtk/deprecated/gtkaction.c line 909
  • #49 closure_accel_activate
    at ././gtk/deprecated/gtkaction.c line 1865
  • #53 <emit signal accel-activate:<Primary>w on instance 0xb0b0e0 [GtkAccelGroup]>
    at ././gobject/gsignal.c line 3441
  • #54 gtk_accel_group_activate
    at ././gtk/gtkaccelgroup.c line 910
  • #55 gtk_accel_groups_activate
    at ././gtk/gtkaccelgroup.c line 948
  • #56 gtk_window_activate_key
    at ././gtk/gtkwindow.c line 11775
  • #57 gtk_window_key_press_event
    at ././gtk/gtkwindow.c line 7957
  • #62 <emit signal ??? on instance 0x7a2020 [GladeWindow]>
    at ././gobject/gsignal.c line 3441
  • #63 gtk_widget_event_internal
    at ././gtk/gtkwidget.c line 7731
  • #64 propagate_event
    at ././gtk/gtkmain.c line 2648
  • #65 gtk_main_do_event
    at ././gtk/gtkmain.c line 1878
  • #66 _gdk_event_emit
    at ././gdk/gdkevents.c line 73
  • #67 gdk_event_source_dispatch
    at ././gdk/wayland/gdkeventsource.c line 118
  • #68 g_main_context_dispatch
    at ././glib/gmain.c line 3154
  • #69 g_main_context_dispatch
    at ././glib/gmain.c line 3769
  • #70 g_main_context_iterate
    at ././glib/gmain.c line 3840
  • #71 g_main_loop_run
    at ././glib/gmain.c line 4034
  • #72 gtk_main
    at ././gtk/gtkmain.c line 1269
  • #73 main

Comment 1 Lionel Landwerlin 2016-08-24 13:37:17 UTC
Actually looking at this, it really seems like a Gtk+ issue (not that this on Wayland).
Comment 2 Lionel Landwerlin 2016-08-24 13:37:57 UTC
Note that this is on wayland.
Comment 3 Matthias Clasen 2016-08-24 18:21:13 UTC
doesn't crash here, more detail needed.
Comment 4 Lionel Landwerlin 2016-08-24 23:50:39 UTC
Created attachment 334108 [details]
Example ui file

What about this file?
Comment 5 Lionel Landwerlin 2016-08-25 19:39:39 UTC
Created attachment 334171 [details] [review]
gtk: window: don't forget to popovers of subwindows
Comment 6 Lionel Landwerlin 2016-08-25 19:40:10 UTC
Created attachment 334172 [details] [review]
gtk: window: don't forget to realize popovers of subwindows
Comment 7 Lionel Landwerlin 2016-08-25 19:40:50 UTC
Comment on attachment 334171 [details] [review]
gtk: window: don't forget to popovers of subwindows

Bah.
Comment 8 Matthias Clasen 2016-08-29 18:01:38 UTC
Review of attachment 334171 [details] [review]:

looks right
Comment 9 Matthias Clasen 2016-08-29 18:13:57 UTC
Attachment 334172 [details] pushed as ea1295c - gtk: window: don't forget to realize popovers of subwindows