Version: 4.0 (using KDE 4.7.0) OS: Linux When oxygen-gtk is set as the theme, several installers of commercial games crash. I have found that this occurs with the following application installers: Aquaria Braid Cogs Cortex Command Hammerfight Heroes of Newerth I have included the terminal output of some of these under "Additional Information". This does not occur when installing the Penumbra Collection, though it appears to use a different installer. Reproducible: Always Steps to Reproduce: 0. Make sure the GTK+ theme is oxygen-gtk. 1. Download the installer of one of these (Heroes of Newerth is free) 2. Attempt to run the installer as regular user (DO NOT use sudo) Actual Results: Installer spits out Gtk errors and segfaults Expected Results: Installation window opens and installer runs For example, Heroes of Newerth. When run with oxygen-gtk: $ ./HoNClient-2.1.0.1.sh 199096+0 records in 388+1 records out 199096 bytes (199 kB) copied, 0.134229 s, 1.5 MB/s (<unknown>:7869): Gtk-CRITICAL **: IA__gtk_text_attributes_ref: assertion `values != NULL' failed (<unknown>:7869): Gtk-CRITICAL **: IA__gtk_text_attributes_ref: assertion `values != NULL' failed Segmentation fault This segfault occurs before the installer window appears. Using the Oxygen-Molecule or Raleigh theme, the installation occurs normally, with no Gtk output to the shell: $ ./HoNClient-2.1.0.1.sh 199096+0 records in 388+1 records out 199096 bytes (199 kB) copied, 0.17326 s, 1.1 MB/s Hammerfight has a similar issue. When run with oxygen-gtk: $ ./hf-linux-07172011-bin (<unknown>:8399): Gtk-WARNING **: Error loading icon: Unable to load image-loading module: /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so: /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so: wrong ELF class: ELFCLASS64 (<unknown>:8399): Gtk-WARNING **: Error loading icon: Unable to load image-loading module: /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so: /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so: wrong ELF class: ELFCLASS64 (<unknown>:8399): Gtk-WARNING **: Error loading icon: Unable to load image-loading module: /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so: /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so: wrong ELF class: ELFCLASS64 (<unknown>:8399): Gtk-WARNING **: Error loading icon: Unable to load image-loading module: /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so: /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so: wrong ELF class: ELFCLASS64 (<unknown>:8399): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed ** (<unknown>:8399): CRITICAL **: GdkPixbuf* Oxygen::render_icon(GtkStyle*, const GtkIconSource*, GtkTextDirection, GtkStateType, GtkIconSize, GtkWidget*, const char*): assertion `base_pixbuf != 0L' failed (<unknown>:8399): Gtk-CRITICAL **: IA__gtk_style_render_icon: assertion `pixbuf != NULL' failed (<unknown>:8399): Gtk-CRITICAL **: IA__gtk_text_attributes_ref: assertion `values != NULL' failed (<unknown>:8399): Gtk-CRITICAL **: IA__gtk_text_attributes_ref: assertion `values != NULL' failed Segmentation fault Using the Oxygen-Molecule theme results in almost 19,000 lines and will be included in an attachment. There is no output to either the terminal when using the Raleigh theme.
I should probably add that the easiest workaround for this is to temporarily change the GTK theme. Oxygen-Molecule and Raleigh both work fully with all of these applications. Another workaround is to SSH into the local machine with X11 forwarding, which does essentially the same as changing the theme (the KDE theme override will not occur in the SSH session).
This also appears to occur with the Codeweavers installer. I've made a post on the Codeweavers forums (https://www.codeweavers.com/support/forums/general/?t=26;msg=110142) which links their bug posts to this one. The bugs submitted on the Codeweavers site are: http://www.codeweavers.com/support/tickets/browse/?ticket_id=846822 http://www.codeweavers.com/support/tickets/browse/?ticket_id=845126 http://www.codeweavers.com/support/tickets/browse/?ticket_id=851997
Okay, another addendum: Adding the environment variable GTK2_RC_FILES=/usr/share/themes/Default/gtk-2.0-key/gtkrc to the beginning of one of these commands will use the default GTK theme for that command, overriding the KDE settings. Again, this is not a fix, but a workaround. According to the Ubuntu forums, this also occurs on the Savage 2 installer (http://ubuntuforums.org/showthread.php?p=10887506#poststop) This bug has also popped up on the Phoronix forums (http://phoronix.com/forums/showthread.php?39218-HoN-sale), the Ubuntu IRC (http://irclogs.ubuntu.com/2011/06/16/%23kubuntu.txt) and in other locations on the Ubuntu forums (http://ubuntuforums.org/showthread.php?p=10887045#poststop). Doing a Google search for relevant things to this bug, I've found it as output from the Braid installer (http://pastebin.com/nx8iny33) and elsewhere on the Heroes of Newerth forums (http://forums.heroesofnewerth.com/showthread.php?t=289349) (and I've made a post with the workaround on the Heroes of Newerth forum: http://forums.heroesofnewerth.com/showthread.php?p=14022727#post14022727). I hope this information helps.
Can't reproduce with HoNClient-2.1.0.1.sh. I've successfully installed it without any error in terminal (with GTK+ 2.24.3). What oxygen-gtk and GTK+ versions do you have? Also, it would be more helpful if you could get a backtrace from segfault, having installed oxygen-gtk with debug symbols.
The second crash from comment #1 is different from the first. It's an 'assert' in our code. We can probably get rid of it, and fall back to the parent style method when null pointer is detected. Ruslan ? You agree ? (ı have no computer access atm to test or patch)
(<unknown>:8399): Gtk-WARNING **: Error loading icon: Unable to load image-loading module: /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so: wrong ELF class: ELFCLASS64 This in fact indicates why assertion fails. There's something messed up with 32/64 bit GTK/libpixbufloader-png.so installation. I don't think it's our code which has the actual bug.
@Hugo Though yes, if you want a super-stable theme, which would resist some installation inconsistencies, we can fall back to parent style :)
At Ruslan Ok. In fact I take my comment back. The pixbuf related crash is not ours. Our assertion forces 0L to be returned, and the crash actually happens upstream. Gtk-CRITICAL **: IA__gtk_style_render_icon: assertion `pixbuf != NULL' failed So would the parent-style implementation do. There is indeed some library loading mix-up (between 32 and 64 bits) in the second crash report we have, as you've pointed out, and there is nothing we (oxygen) can do about it. I suspect some installation/config/LD_PATH issues. (which would also explain why you can't reproduce).
i have the same crashes. any hint how to fix the upstream bug?
After some googling, it looks like second crash is because of the bug in latest ia32-libs package. If you are on Ubuntu 11.04, try downgrading to this package version: http://packages.ubuntu.com/maverick/amd64/ia32-libs/download (Use this command after you download the package: sudo dpkg --force-downgrade -i ia32-libs_20090808ubuntu9.1_amd64.deb ) This bug is reported here: https://bugs.launchpad.net/ubuntu/+source/ia32-libs/+bug/783155 As for first crash, original reporter hasn't yet provided any further information (see comment #4). If it disappears after downgrading ia32-libs too, please let us know.
This bug no longer seems to exist with updated packages. I believe Ruslan was correct that it's a downstream problem.
This bug appears to be back - when I install Crossover from the .bin installer script on Fedora 18 KDE (4.9.5), the installation fails with: -------- (installer.kRRqS4Xatx:2123): Gtk-CRITICAL **: IA__gtk_text_attributes_ref: assertion `values != NULL' failed (installer.kRRqS4Xatx:2123): Gtk-CRITICAL **: IA__gtk_text_attributes_ref: assertion `values != NULL' failed /home/jack/Downloads/install-crossover-12.1.0.bin: line 129: 2123 Segmentation fault (core dumped) "$installer" "$@" -------- Switching the "Widget Style" settings in "System Settings>Application Appearance>GTK+ Appearance" to anything other than "oxygen-gtk" will allow the install to complete successfully. Crossover will work just fine after installation if I switch the Widget Style back to oxygen-gtk, it just fails on the install. I'll attach a demo installer for testing.
addendum: attachment was too large. Crossover installer demo can be downloaded for testing this bug from: http://ftp.codeweavers.com/pub/crossover/cxlinux/demo/install-crossover-12.1.0.bin
What's the version of oxygen-gtk that you are using ? and can you try with the latest release (oxygen-gtk2-1.3.2.1.tar.gz the 1.3.2 was buggy.