In drawTabNG you try to get the notebook's tab gtk_label position to correct it, but sometimes may be no gtk_label in the tab, getting a null pointer instead. I found it using gazpacho (http://gazpacho.sicem.biz/downloads), a gui designer like glade written in python. I tested it with gtk 2.4 and 2.6 versions. To reproduce it download gazpacho, then do the following run gazpacho create a new window (toplevel widget) add a notebook (containers & ornaments) it segfaults. Backtrace: Reading symbols from python...done. Using host libthread_db library "/lib/tls/libthread_db.so.1". (gdb) run bin/gazpacho [Thread debugging using libthread_db enabled] [New Thread 1077078240 (LWP 19462)] GTK Version: (2, 6, 8) PyGTK Version: (2, 6, 2) Running Gazpacho from source tree Adding /usr/src/packages/BUILD/Gazpacho-0.5.3 to sys.path Retrieving path.py file ... Detaching after fork from child process 19465. Detaching after fork from child process 19466. Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 1077078240 (LWP 19462)] 0x4116e0cd in drawTabNG () from /opt/gnome/lib/gtk-2.0/2.4.0/engines/libqtengine.so (gdb) bt #0 0x4116e0cd in drawTabNG () from /opt/gnome/lib/gtk-2.0/2.4.0/engines/libqtengine.so #1 0x41169122 in draw_box () from /opt/gnome/lib/gtk-2.0/2.4.0/engines/libqtengine.so #2 0x40820b1c in gtk_paint_box () from /opt/gnome/lib/libgtk-x11-2.0.so.0 #3 0x41167f3f in draw_extension () from /opt/gnome/lib/gtk-2.0/2.4.0/engines/libqtengine.so #4 0x408204e8 in gtk_paint_extension () from /opt/gnome/lib/libgtk-x11-2.0.so.0 #5 0x407e9085 in gtk_notebook_draw_tab () from /opt/gnome/lib/libgtk-x11-2.0.so.0 #6 0x407e964e in gtk_notebook_expose () from /opt/gnome/lib/libgtk-x11-2.0.so.0 #7 0x407d031e in _gtk_marshal_BOOLEAN__BOXED () from /opt/gnome/lib/libgtk-x11-2.0.so.0 #8 0x4042f457 in g_type_class_meta_marshal () from /opt/gnome/lib/libgobject-2.0.so.0 #9 0x4042fadb in g_closure_invoke () from /opt/gnome/lib/libgobject-2.0.so.0 #10 0x40440889 in signal_emit_unlocked_R () from /opt/gnome/lib/libgobject-2.0.so.0 #11 0x4044173e in g_signal_emit_valist () from /opt/gnome/lib/libgobject-2.0.so.0 #12 0x40441d92 in g_signal_emit () from /opt/gnome/lib/libgobject-2.0.so.0 #13 0x408b8df4 in gtk_widget_event_internal () from /opt/gnome/lib/libgtk-x11-2.0.so.0 #14 0x4073f779 in gtk_container_propagate_expose () from /opt/gnome/lib/libgtk-x11-2.0.so.0 #15 0x4073f7ad in gtk_container_expose_child () from /opt/gnome/lib/libgtk-x11-2.0.so.0 #16 0x4070015c in gtk_bin_forall () from /opt/gnome/lib/libgtk-x11-2.0.so.0 #17 0x4074021d in gtk_container_forall () from /opt/gnome/lib/libgtk-x11-2.0.so.0 #18 0x40742275 in gtk_container_expose () from /opt/gnome/lib/libgtk-x11-2.0.so.0 #19 0x408cdc5d in gtk_window_expose () from /opt/gnome/lib/libgtk-x11-2.0.so.0 #20 0x407d031e in _gtk_marshal_BOOLEAN__BOXED () from /opt/gnome/lib/libgtk-x11-2.0.so.0 #21 0x4042f457 in g_type_class_meta_marshal () from /opt/gnome/lib/libgobject-2.0.so.0 #22 0x4042fadb in g_closure_invoke () from /opt/gnome/lib/libgobject-2.0.so.0 #23 0x40440889 in signal_emit_unlocked_R () from /opt/gnome/lib/libgobject-2.0.so.0 #24 0x4044173e in g_signal_emit_valist () from /opt/gnome/lib/libgobject-2.0.so.0 #25 0x40441d92 in g_signal_emit () from /opt/gnome/lib/libgobject-2.0.so.0 #26 0x408b8df4 in gtk_widget_event_internal () from /opt/gnome/lib/libgtk-x11-2.0.so.0 #27 0x407cb303 in gtk_main_do_event () from /opt/gnome/lib/libgtk-x11-2.0.so.0 #28 0x409ac2cd in gdk_window_process_updates_internal () from /opt/gnome/lib/libgdk-x11-2.0.so.0 #29 0x409ac43f in gdk_window_process_all_updates () from /opt/gnome/lib/libgdk-x11-2.0.so.0 #30 0x407403da in gtk_container_idle_sizer () from /opt/gnome/lib/libgtk-x11-2.0.so.0
Created attachment 3193 [details] SSH key for Igor Foox The patch is against current CVS
FYI, the "patch" referred to in comment #1 appears only to be a ssh key. Could you try resubmitting it here?
Created attachment 3644 [details] [review] Patch to check for null pointer in drawTabNG and avoid segfault Really odd, bugzilla seems to have messed my previous atachment. Hope this one works
Thanks, I've applied the patch to CVS.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.