FS#19479 - [qtcurve-gtk2] 1.4.0-1 cause all gtk applications to segfault

Attached to Project: Arch Linux
Opened by Octoploid (Octoploid) - Sunday, 16 May 2010, 03:15 GMT
Last edited by Andrea Scarpino (BaSh) - Thursday, 27 May 2010, 18:49 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Andrea Scarpino (BaSh)
Architecture x86_64
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

Description: qtcurve-gtk2 1.4.0-1
cause all gtk applications to segfault.

Steps to reproduce: Install qtcurve-gtk2 1.4.0-1
and start any gtk application.
Result:
firefox-bin[1737]: segfault at d8 ip 00007f292ca9da19 sp 00007fff377b4cd0 error 4 in libgdk-x11-2.0.so.0.2000.1[7f292ca3
c000+a9000]
gmrun[3812]: segfault at d8 ip 00007f2e0543aa19 sp 00007fffc1039550 error 4 in libgdk-x11-2.0.so.0.2000.1[7f2e053d9000+a
9000]
...
This task depends upon

Closed by  Andrea Scarpino (BaSh)
Thursday, 27 May 2010, 18:49 GMT
Reason for closing:  Fixed
Additional comments about closing:  qtcurve-gtk2 1.4.1-1
Comment by Adam Kürthy (adee) - Sunday, 16 May 2010, 11:22 GMT
Works Perfect here.....
Comment by Adam (adam-) - Sunday, 16 May 2010, 14:35 GMT
Same problem here with same errors in dmesg. Please let me know if any information is required.
Comment by Octoploid (Octoploid) - Sunday, 16 May 2010, 16:06 GMT
strace with qtcurve-gtk2 1.4.0-1:
...
access("/home/markus/.kde4//share/icons/oxygen/16x16/actions/zoom-out.png", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/share/icons//oxygen/16x16/actions/zoom-out.png", F_OK) = 0
read(7, "icon>\n#\tstock[\"gimp-tool-pencil\""..., 4000) = 608
read(7, "", 4000) = 0
close(7) = 0
access("/home/markus/.config/qtcurve/gtk-icons.en_US", F_OK) = -1 ENOENT (No such file or directory)
access("/home/markus/.config/qtcurve/gtk-icons.en", F_OK) = -1 ENOENT (No such file or directory)
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++

strace with 1.3.0-1:
...
read(7, "", 4000) = 0
close(7) = 0
access("/home/markus/.config/qtcurve/gtk-icons.en_US", F_OK) = -1 ENOENT (No such file or directory)
access("/home/markus/.config/qtcurve/gtk-icons.en", F_OK) = -1 ENOENT (No such file or directory)
getuid() = 1000
read(6, "ess = 4\n}\n\nstyle \"qtcurve-combo-"..., 4000) = 3683
read(6, "", 4000) = 0
close(6) = 0
...

so it looks as if 1.4.0-1 segfaults in the getuid() syscall.
Comment by Octoploid (Octoploid) - Sunday, 16 May 2010, 16:31 GMT
% gdb qalculate-gtk
GNU gdb (GDB) 7.1
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-unknown-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/bin/qalculate-gtk...(no debugging symbols found)...done.
(gdb) set pagination off
(gdb) r
Starting program: /usr/bin/qalculate-gtk
[Thread debugging using libthread_db enabled]

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff734ba19 in gdk_x11_get_default_xdisplay () from /usr/lib/libgdk-x11-2.0.so.0
(gdb) bt
#0 0x00007ffff734ba19 in gdk_x11_get_default_xdisplay () from /usr/lib/libgdk-x11-2.0.so.0
#1 0x00007fffed962986 in qtcurve_rc_style_init () from /usr/lib/gtk-2.0/2.10.0/engines/libqtcurve.so
#2 0x00007ffff68440c3 in g_type_create_instance () from /usr/lib/libgobject-2.0.so.0
#3 0x00007ffff682433c in g_object_constructor () from /usr/lib/libgobject-2.0.so.0
#4 0x00007ffff6825d91 in g_object_newv () from /usr/lib/libgobject-2.0.so.0
#5 0x00007ffff68265bc in g_object_new () from /usr/lib/libgobject-2.0.so.0
#6 0x00007fffed98556c in theme_create_rc_style () from /usr/lib/gtk-2.0/2.10.0/engines/libqtcurve.so
#7 0x00007ffff7717653 in gtk_rc_parse_any () from /usr/lib/libgtk-x11-2.0.so.0
#8 0x00007ffff7718440 in gtk_rc_context_parse_one_file () from /usr/lib/libgtk-x11-2.0.so.0
#9 0x00007ffff77185d1 in gtk_rc_context_parse_file () from /usr/lib/libgtk-x11-2.0.so.0
#10 0x00007ffff7718798 in gtk_rc_parse_named () from /usr/lib/libgtk-x11-2.0.so.0
#11 0x00007ffff7718bdd in gtk_rc_reparse_all_for_settings () from /usr/lib/libgtk-x11-2.0.so.0
#12 0x00007ffff77359f5 in gtk_settings_get_for_screen () from /usr/lib/libgtk-x11-2.0.so.0
#13 0x00007ffff76e47c9 in display_opened_cb () from /usr/lib/libgtk-x11-2.0.so.0
#14 0x00007ffff682251e in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#15 0x00007ffff6830fa6 in signal_emit_unlocked_R () from /usr/lib/libgobject-2.0.so.0
#16 0x00007ffff683a3f4 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#17 0x00007ffff683a782 in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0
#18 0x00007ffff73370ef in gdk_display_open () from /usr/lib/libgdk-x11-2.0.so.0
#19 0x00007ffff73068fd in gdk_display_open_default_libgtk_only () from /usr/lib/libgdk-x11-2.0.so.0
#20 0x00007ffff76c9796 in gtk_init_check () from /usr/lib/libgtk-x11-2.0.so.0
#21 0x00007ffff76c97b9 in gtk_init () from /usr/lib/libgtk-x11-2.0.so.0
#22 0x0000000000420e73 in main ()
(gdb)
Comment by Ionut Biru (wonder) - Friday, 21 May 2010, 17:41 GMT
i suggest that we should downgrade the version from extra. for one guy in the forums, kde was crashing entirely
Comment by Andrea Scarpino (BaSh) - Friday, 21 May 2010, 18:19 GMT
please Octoploid, try with a new user.
I am using qtcurve-gtk2 with firefox and sonata here, and I haven't issues.
Comment by Octoploid (Octoploid) - Friday, 21 May 2010, 18:39 GMT
Andrea,
you are right, there are no problems if I use another user (root in my case).
But that does not help me much. Where should I look next?
Could it be a config file somewhere?

(And BTW I'm not the only one, who had hit this bug see:
http://bbs.archlinux.org/viewtopic.php?id=97257 )
Comment by Brian Carper (briancarper) - Friday, 21 May 2010, 21:48 GMT
Same issue for me: gimp, gnome-control-center, gvim, etc. would consistently segfault while opening. A gdb trace showed qtcurve as the culprit.

The same thing happens as my normal user, as root, or as a fresh user I created from scratch to test this.

The problem is solved for me by doing any of the following:

downgrading qtcurve-gtk2 to 1.3.0-1
switching to a non-qtcurve GTK theme
killing gnome-settings-daemon (I use KDE and run gnome-settings-daemon manually)
Comment by Octoploid (Octoploid) - Saturday, 22 May 2010, 00:53 GMT
When I delete ~/.gconf/desktop/gnome/interface/%gconf.xml and then startx,
I can change the theme back to qtcurve. Everything is fine until I start another
gtk application, which will then segfault while opening. After that _any_ gtk app
will crash while starting.
1.3.0-1 is perfectly OK.

So please delete 1.4.0-1 from extra immediately, before more users are hit by
this nasty bug.
Comment by Craig Drummond (CraigD) - Tuesday, 25 May 2010, 19:56 GMT
I'm the author of QtCurve. Can someone who is having this problem email me (address is in AUTHORS file). I've made some changes that *might* fix the issue - but seeing as I cant reproduce the fault myself, I have no way of knowing! So, I'd like to send a modified QtCurve to someone for checking.
Comment by Adam Russell (a1russell) - Wednesday, 26 May 2010, 21:00 GMT
This bug affects me, too. Adding myself to the CC list.
Comment by Craig Drummond (CraigD) - Wednesday, 26 May 2010, 21:39 GMT
Please try v1.4.1 of the Gtk2 QtCurve - just uploaded to kde-look. This has been reported to resolve the issue.
Comment by Jacek Roszkowski (j.roszk) - Thursday, 27 May 2010, 16:17 GMT
1.4.1 fixes the bug for me. Thanks.

Loading...