Bug 223674

Summary: GTK apps crash when using the QtCurve style (gimp, azureus, eclipse...)
Product: [openSUSE] openSUSE 10.2 Reporter: Andras Mantia <amantia>
Component: OtherAssignee: Will Stephenson <wstephenson>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Critical    
Priority: P5 - None CC: abisen, maxmars
Version: RC 1   
Target Milestone: ---   
Hardware: x86-64   
OS: Other   
Whiteboard:
Found By: Other Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Andras Mantia 2006-11-24 22:21:59 UTC
GIMP is very unstable with QtCurve. Usually it crashes within a minute by doing simple things like image resizing. I tried to run (the none-debuginfo) package in gdb, but when it crashes it grabs the keyboard and mouse focus and I cannot switch back to gdb, so I have to kill it from a console (and I cannot attach to gimp - now - in a console because my nvidia driver messes up the displays, so basicly I just blindly log in and kill gdb). What I can get is something like:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 47888315757808 (LWP 18859)]
0x00002b8dde3153fb in qtcurve_style_class_init () from /opt/gnome/lib64/gtk-2.0/2.10.0/engines/libqtcurve.so
(gdb) /opt/gnome/bin/gimp: terminated: Terminated
Killed
andris@stein:~>
(script-fu:20652): LibGimpBase-WARNING **: script-fu: wire_read(): error

This is why I thought it might be the style used, and indeed with Clearlooks I did not see problems.

I was running GIMP under KDE.
Comment 1 Andras Mantia 2006-11-25 08:42:44 UTC
BT with qt-curve debuginfo.

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 47038934660336 (LWP 5583)]
0x00002ac81b2253fb in menubarEvent (widget=<value optimized out>, event=<value optimized out>, user_data=<value optimized out>)
    at qtcurve.c:1155
1155                if(*item && GTK_IS_MENU_ITEM((GtkWidget *)(*item)))
(gdb) bt
#0  0x00002ac81b2253fb in menubarEvent (widget=<value optimized out>, event=<value optimized out>, user_data=<value optimized out>)
    at qtcurve.c:1155
#1  0x00002ac81645124d in gtk_marshal_BOOLEAN__VOID () from /opt/gnome/lib64/libgtk-x11-2.0.so.0
#2  0x00002ac818a7377a in g_closure_invoke () from /opt/gnome/lib64/libgobject-2.0.so.0
#3  0x00002ac818a8396d in g_signal_override_class_closure () from /opt/gnome/lib64/libgobject-2.0.so.0
#4  0x00002ac818a84b9d in g_signal_emit_valist () from /opt/gnome/lib64/libgobject-2.0.so.0
#5  0x00002ac818a84fb3 in g_signal_emit () from /opt/gnome/lib64/libgobject-2.0.so.0
#6  0x00002ac81654e6c8 in gtk_widget_get_default_style () from /opt/gnome/lib64/libgtk-x11-2.0.so.0
#7  0x00002ac81645124d in gtk_marshal_BOOLEAN__VOID () from /opt/gnome/lib64/libgtk-x11-2.0.so.0
#8  0x00002ac818a7377a in g_closure_invoke () from /opt/gnome/lib64/libgobject-2.0.so.0
#9  0x00002ac818a83f8a in g_signal_override_class_closure () from /opt/gnome/lib64/libgobject-2.0.so.0
#10 0x00002ac818a84b9d in g_signal_emit_valist () from /opt/gnome/lib64/libgobject-2.0.so.0
#11 0x00002ac818a84fb3 in g_signal_emit () from /opt/gnome/lib64/libgobject-2.0.so.0
#12 0x00002ac81654e7ee in gtk_widget_get_default_style () from /opt/gnome/lib64/libgtk-x11-2.0.so.0
#13 0x00002ac81644b96a in gtk_main_do_event () from /opt/gnome/lib64/libgtk-x11-2.0.so.0
#14 0x00002ac8168eb6ec in gdk_add_client_message_filter () from /opt/gnome/lib64/libgdk-x11-2.0.so.0
#15 0x00002ac8190e2f94 in g_main_context_dispatch () from /opt/gnome/lib64/libglib-2.0.so.0
#16 0x00002ac8190e5dc5 in g_main_context_prepare () from /opt/gnome/lib64/libglib-2.0.so.0
#17 0x00002ac8190e60ca in g_main_loop_run () from /opt/gnome/lib64/libglib-2.0.so.0
#18 0x00000000004246ba in gimp_int_combo_box_set_active ()
#19 0x00000000004251d5 in gimp_int_combo_box_set_active ()
#20 0x00002ac819e76ae4 in __libc_start_main () from /lib64/libc.so.6
#21 0x00000000004242b9 in gimp_int_combo_box_set_active ()
#22 0x00007fff956c3b18 in ?? ()
#23 0x0000000000000000 in ?? ()
Comment 2 Stephan Kulow 2006-11-25 12:39:39 UTC
hmm, I can't reproduce that. gimp works pretty fine here - but that's i386
Comment 3 Andras Mantia 2006-11-25 18:30:36 UTC
Well, it pretty much crashes here. ;-) What I did when it started to crash (and do to reproduce): open let's say 10 PNG files, resize and save them one by one. After a few GIMP should dissappear. If not, undo/redo/save some more.
Comment 4 Will Stephenson 2006-11-27 12:34:49 UTC
Ok, I can reproduce it now.  x64_64, nvidia binary driver FWIW.  The trick is to load several images at once then mouse over the menu bar, it crashes on leaving a menu bar title item.  I'm going to recompile gimp without optimisation so I can gdb it usefully
Comment 5 Will Stephenson 2006-11-27 12:36:39 UTC
*** Bug 223825 has been marked as a duplicate of this bug. ***
Comment 6 Will Stephenson 2006-11-27 16:06:22 UTC
There was some 32 bit only code in the QtCurve style (which is of very poor quality) which I have patched out.
Comment 7 Will Stephenson 2006-11-27 16:25:05 UTC
*** Bug 223781 has been marked as a duplicate of this bug. ***