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 773127 - Crash when clicking on combobox
Crash when clicking on combobox
Status: RESOLVED DUPLICATE of bug 771242
Product: gtk+
Classification: Platform
Component: Widget: GtkComboBox
3.22.x
Other Linux
: Normal critical
: ---
Assigned To: gtk-bugs
gtk-bugs
Depends on:
Blocks:
 
 
Reported: 2016-10-18 00:53 UTC by Michael Gratton
Modified: 2017-03-03 14:12 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Michael Gratton 2016-10-18 00:53:07 UTC
To reproduce:

1. Launch GTK Inspector
2. Ensure a specific object is selected
3. Click the Object combobox (or press space when focused to invoke the drop-down menu)
4. Crash

To work around, use up/down arrows when combobox is focused to select other panes instead.

GTK+ 3.22.0


(geary:17579): Gdk-CRITICAL **: gdk_window_get_window_type: assertion 'GDK_IS_WINDOW (window)' failed

Thread 1 "geary" received signal SIGTRAP, Trace/breakpoint trap.
_g_log_abort (breakpoint=breakpoint@entry=1) at ././glib/gmessages.c:487
487	././glib/gmessages.c: No such file or directory.
(gdb) Quit
(gdb) bt
  • #0 _g_log_abort
    at ././glib/gmessages.c line 487
  • #1 g_logv
    at ././glib/gmessages.c line 1296
  • #2 g_log
    at ././glib/gmessages.c line 1337
  • #3 g_return_if_fail_warning
  • #4 gdk_window_get_window_type
    at ././gdk/gdkwindow.c line 2231
  • #5 gtk_grab_add
    at ././gtk/gtkmain.c line 2205
  • #6 gtk_menu_shell_activate
    at ././gtk/gtkmenushell.c line 634
  • #7 gtk_menu_shell_real_select_item
    at ././gtk/gtkmenushell.c line 1283
  • #8 gtk_combo_box_menu_popup
    at ././gtk/gtkcombobox.c line 2185
  • #9 gtk_combo_box_popup_for_device
    at ././gtk/gtkcombobox.c line 2320
  • #13 <emit signal ??? on instance 0x55555ba888c0 [GtkComboBoxText]>
    at ././gobject/gsignal.c line 3447
  • #17 <emit signal ??? on instance 0x55555ba7df70 [GtkToggleButton]>
    at ././gobject/gsignal.c line 3447
  • #18 gtk_toggle_button_clicked
    at ././gtk/gtktogglebutton.c line 609
  • #19 _g_closure_invoke_va
    at ././gobject/gclosure.c line 867
  • #20 g_signal_emit_valist
    at ././gobject/gsignal.c line 3300
  • #21 g_signal_emit
    at ././gobject/gsignal.c line 3447
  • #22 gtk_button_key_release
    at ././gtk/gtkbutton.c line 1869
  • #23 _gtk_marshal_BOOLEAN__BOXEDv
    at ././gtk/gtkmarshalers.c line 131
  • #24 _g_closure_invoke_va
    at ././gobject/gclosure.c line 867
  • #25 g_signal_emit_valist
    at ././gobject/gsignal.c line 3300
  • #26 g_signal_emit
    at ././gobject/gsignal.c line 3447
  • #27 gtk_widget_event_internal
    at ././gtk/gtkwidget.c line 7721
  • #28 gtk_window_propagate_key_event
    at ././gtk/gtkwindow.c line 8139
  • #29 gtk_window_key_release_event
    at ././gtk/gtkwindow.c line 8190
  • #30 _gtk_marshal_BOOLEAN__BOXEDv
    at ././gtk/gtkmarshalers.c line 131
  • #31 _g_closure_invoke_va
    at ././gobject/gclosure.c line 867
  • #32 g_signal_emit_valist
    at ././gobject/gsignal.c line 3300
  • #33 g_signal_emit
    at ././gobject/gsignal.c line 3447
  • #34 gtk_widget_event_internal
    at ././gtk/gtkwidget.c line 7721
  • #35 propagate_event
    at ././gtk/gtkmain.c line 2654
  • #36 gtk_main_do_event
    at ././gtk/gtkmain.c line 1884
  • #37 _gdk_event_emit
    at ././gdk/gdkevents.c line 73
  • #38 gdk_event_source_dispatch
    at ././gdk/x11/gdkeventsource.c line 367
  • #39 g_main_dispatch
    at ././glib/gmain.c line 3201
  • #40 g_main_context_dispatch
    at ././glib/gmain.c line 3854
  • #41 g_main_context_iterate
    at ././glib/gmain.c line 3927
  • #42 g_main_context_iteration
    at ././glib/gmain.c line 3988
  • #43 g_application_run
    at ././gio/gapplication.c line 2381
  • #44 _vala_main
    at /home/mjg/Projects/GNOME/geary/src/client/application/main.vala line 25
  • #45 __libc_start_main
    at ../csu/libc-start.c line 291
  • #46 _start

Comment 1 Michael Gratton 2016-11-22 00:07:58 UTC
Actually, this is a problem with GtkComboBox in general - I can also reproduce essentially the same stack trace with a combo box in the app itself, using 3.22.3 from the Ubuntu gnome3-staging PPA.
Comment 2 Daniel Boles 2017-03-03 14:12:38 UTC
This was caused by a Debian/Ubuntu patch revealing that the selection in the MenuShell was made before it was realised, whereupon it then tries to take a grab. The Debian patch checked the GdkWindow doing the grab, which obviously did not yet exist as the MenuShell was not realised. I fixed that ordering, presumably resolving this too.

*** This bug has been marked as a duplicate of bug 771242 ***