GNOME Bugzilla – Bug 166947
Gtk+ crashes in gtk_combobox_popdown
Last modified: 2005-04-07 18:09:41 UTC
Reported by jdahlin: When resizing things, I think it's related to the main window of gazpacho I sometimes get a crash. Backtrace attached in additional information. bin/gazpacho:63: GtkWarning: file gtkwidget.c: line 2674 (gtk_widget_size_allocate): assertion `GTK_IS_WIDGET (widget)' failed gtk.main() Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -150505280 (LWP 8214)] 0x00e7f853 in gtk_combo_box_popdown () from /usr/lib/libgtk-x11-2.0.so.0 (gdb) bt 0 0x00e7f853 in gtk_combo_box_popdown () from /usr/lib/libgtk-x11-2.0.so.0 1 0x421ab1ee in g_cclosure_marshal_VOID__BOXED () from /usr/lib/libgobject-2.0.so.0 2 0x421964f7 in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0 3 0x42196160 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 4 0x421a99be in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0 5 0x421a9157 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 6 0x421a9454 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 7 0x01004c8f in gtk_widget_size_allocate () from /usr/lib/libgtk-x11-2.0.so.0 8 0x00f6b2e9 in gtk_table_get_homogeneous () from /usr/lib/libgtk-x11-2.0.so.0 9 0x421ab1ee in g_cclosure_marshal_VOID__BOXED () from /usr/lib/libgobject-2.0.so.0 10 0x421964f7 in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0 11 0x42196160 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 12 0x421a99be in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0 13 0x421a9157 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 14 0x421a9454 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 15 0x01004c8f in gtk_widget_size_allocate () from /usr/lib/libgtk-x11-2.0.so.0 16 0x00ffca6e in gtk_vbox_new () from /usr/lib/libgtk-x11-2.0.so.0 17 0x421ab1ee in g_cclosure_marshal_VOID__BOXED () from /usr/lib/libgobject-2.0.so.0 18 0x421964f7 in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0 19 0x42196160 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 20 0x421a99be in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0 21 0x421a9157 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 22 0x421a9454 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 23 0x01004c8f in gtk_widget_size_allocate () from /usr/lib/libgtk-x11-2.0.so.0 0000024 0x00ffe428 in gtk_viewport_get_shadow_type () from /usr/lib/libgtk-x11-2.0.so.0 0000025 0x421ab1ee in g_cclosure_marshal_VOID__BOXED () from /usr/lib/libgobject-2.0.so.0 0000026 0x421964f7 in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0 0000027 0x42196160 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 0000028 0x421a99be in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0 0000029 0x421a9157 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 0000030 0x421a9454 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 0000031 0x01004c8f in gtk_widget_size_allocate () from /usr/lib/libgtk-x11-2.0.so.0 32 0x00f49642 in gtk_scrolled_window_get_shadow_type () from /usr/lib/libgtk-x11-2.0.so.0 0000033 0x421ab1ee in g_cclosure_marshal_VOID__BOXED () from /usr/lib/libgobject-2.0.so.0 0000034 0x421964f7 in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0 0000035 0x42196160 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 0000036 0x421a99be in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0 0000037 0x421a9157 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 0000038 0x421a9454 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 0000039 0x01004c8f in gtk_widget_size_allocate () from /usr/lib/libgtk-x11-2.0.so.0 0000040 0x00f1cef4 in gtk_notebook_new () from /usr/lib/libgtk-x11-2.0.so.0 0000041 0x421ab1ee in g_cclosure_marshal_VOID__BOXED () from /usr/lib/libgobject-2.0.so.0 ---Type <return> to continue, or q <return> to quit--- 0000042 0x421964f7 in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0 0000043 0x42196160 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 44 0x421a99be in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0 45 0x421a9157 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 46 0x421a9454 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 0000047 0x01004c8f in gtk_widget_size_allocate () from /usr/lib/libgtk-x11-2.0.so.0 0000048 0x00eadf29 in gtk_expander_get_type () from /usr/lib/libgtk-x11-2.0.so.0 0000049 0x421ab1ee in g_cclosure_marshal_VOID__BOXED () from /usr/lib/libgobject-2.0.so.0 0000050 0x421964f7 in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0 0000051 0x42196160 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 0000052 0x421a99be in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0 53 0x421a9157 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 54 0x421a9454 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 55 0x01004c8f in gtk_widget_size_allocate () from /usr/lib/libgtk-x11-2.0.so.0 56 0x00ffca6e in gtk_vbox_new () from /usr/lib/libgtk-x11-2.0.so.0 57 0x421ab1ee in g_cclosure_marshal_VOID__BOXED () from /usr/lib/libgobject-2.0.so.0 58 0x421964f7 in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0 59 0x42196160 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 60 0x421a99be in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0 61 0x421a9157 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 62 0x421a9454 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 63 0x01004c8f in gtk_widget_size_allocate () from /usr/lib/libgtk-x11-2.0.so.0 64 0x00ed51ec in gtk_hbox_new () from /usr/lib/libgtk-x11-2.0.so.0 65 0x421ab1ee in g_cclosure_marshal_VOID__BOXED () from /usr/lib/libgobject-2.0.so.0 66 0x421964f7 in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0 67 0x42196160 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 68 0x421a99be in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0 69 0x421a9157 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 70 0x421a9454 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 71 0x01004c8f in gtk_widget_size_allocate () from /usr/lib/libgtk-x11-2.0.so.0 72 0x00ffca6e in gtk_vbox_new () from /usr/lib/libgtk-x11-2.0.so.0 73 0x421ab1ee in g_cclosure_marshal_VOID__BOXED () from /usr/lib/libgobject-2.0.so.0 74 0x421964f7 in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0 75 0x42196160 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 76 0x421a99be in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0 77 0x421a9157 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 0000078 0x421a9454 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 0000079 0x01004c8f in gtk_widget_size_allocate () from /usr/lib/libgtk-x11-2.0.so.0 0000080 0x01014009 in gtk_window_reshow_with_initial_size () from /usr/lib/libgtk-x11-2.0.so.0 0000081 0x421ab1ee in g_cclosure_marshal_VOID__BOXED () from /usr/lib/libgobject-2.0.so.0 0000082 0x421964f7 in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0 0000083 0x42196160 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 84 0x421a99be in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0 85 0x421a9157 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 0000086 0x421a9454 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 ---Type <return> to continue, or q <return> to quit--- 0000087 0x01004c8f in gtk_widget_size_allocate () from /usr/lib/libgtk-x11-2.0.so.0 0000088 0x0101588b in gtk_window_propagate_key_event () from /usr/lib/libgtk-x11-2.0.so.0 0000089 0x421aa691 in g_cclosure_marshal_VOID__VOID () from /usr/lib/libgobject-2.0.so.0 0000090 0x421964f7 in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0 0000091 0x42196160 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 0000092 0x421a9bc5 in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0 0000093 0x421a9157 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 0000094 0x421a9454 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 0000095 0x00e87325 in gtk_container_check_resize () from /usr/lib/libgtk-x11-2.0.so.0 0000096 0x00e870ef in gtk_container_set_reallocate_redraws () from /usr/lib/libgtk-x11-2.0.so.0 0000097 0x075091f3 in g_child_watch_add () from /usr/lib/libglib-2.0.so.0 0000098 0x07505e4a in g_main_depth () from /usr/lib/libglib-2.0.so.0 99 0x07506f28 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 100 0x07507260 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 101 0x075078a3 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0 102 0x00f05403 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0 0000103 0x006a6c16 in _wrap_gtk_main (self=0x0) at gtk.override:863 104 0x00187cb4 in eval_frame (f=0x831038c) at Python/ceval.c:3425 105 0x001890ae in PyEval_EvalCodeEx (co=0xf6ff34a0, globals=0xffffffff, locals=0x0, args=0x82e0164, argcount=1, kws=0x82e0168, kwcount=0, defs=0xf700ff58, defcount=1, closure=0x0) at Python/ceval.c:2663 0000106 0x00187c82 in eval_frame (f=0x82e0014) at Python/ceval.c:3528 107 0x001890ae in PyEval_EvalCodeEx (co=0xf6ff34e0, globals=0xffffffff, locals=0x0, args=0x0, argcount=0, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:2663 108 0x00189372 in PyEval_EvalCode (co=0x0, globals=0x0, locals=0x0) at Python/ceval.c:537 109 0x001a28b7 in run_node (n=0xf7037380, filename=0xffffffff <Address 0xffffffff out of bounds>, globals=0x0, locals=0x0, flags=0x0) at Python/pythonrun.c:1267 0000110 0x001a39e2 in PyRun_SimpleFileExFlags (fp=0x82de008, filename=0xfef9b87e "bin/gazpacho", closeit=1, flags=0xfef342a8) at Python/pythonrun.c:862 0000111 0x001a4a34 in PyRun_AnyFileExFlags (fp=0x82de008, filename=0xfef9b87e "bin/gazpacho", closeit=1, flags=0xfef342a8) at Python/pythonrun.c:659 0000112 0x001a972e in Py_Main (argc=1, argv=0xfef34374) at Modules/main.c:415 0000113 0x080485b2 in main (argc=0, argv=0x0) at Modules/python.c:23
jdahlin said: Okay, I know how to reproduce it now. 1. Start gazpacho 2. Open up a new window 3. Switch back to the main window and try to resize it.
I did those steps and couldn't reproduce the crash.
I think this was a Gtk+ bug, if you can't reproduce I guess it's already fixed upstream. Maybe by this: 2004-07-13 Matthias Clasen <mclasen@redhat.com> * gtk/gtkcombobox.c (gtk_combo_box_popdown): Don't crash if unrealized.
Seems to be fixed.