I just upgraded my Gentoo box, which included an update to GTK+ 2.24.10, and Gelide now crashes on start with this message:
$ gelide
terminate called after throwing an instance of 'Gtk::IconThemeError'
Aborted
I tried enabling debugging, but it doesn't give me any more useful info. I also tried doing an strace and ltrace (which I can provide, if desired), but nothing really sticks out. I narrowed it down to GTK+ by downgrading each of the GTK-related packages that I had just upgraded until I found that it was GTK+ itself. If I downgrade to GTK+ 2.24.8, Gelide runs; upgrade to 2.24.10, it crashes.
For now I'm masking >=x11-libs/gtk+-2.24.10 so that I can continue to use gelide, but I'd very much like to find a fix for this so the rest of my system doesn't start getting stale. GTK+, as much as I disklike it (KDE/QT user here), is a pretty important package to leave blocked. Any help would be appreciated. :-)
Hi nitro,
Are you using the Git version?
Please, tell me what it says with debug mode enabled.
I have GTK+ 2.24.10 and no problems here.
Greetings
I'm running 0.1.5. It says the exact same thing with debug support compiled in. Not sure if there's a special debug flag I should provide; running 'gelide --help' also crashes with the same output.
Please, can you try the Git version?
Use this to compile with debug support:
$ git clone git://gelide.git.sourceforge.net/gitroot/gelide/gelide
$ ./autogen
$ ./configure --enable-debug
$ make
$ sudo make install
Greetings
I get the same error message with the git version.
I found a bug in the config script who broke the debug mode.
Now the git repositorie is update with the fix, please clone it again and tell me what it says.
Greetings.
OK, I get a bit more info now:
$ gelide
Debug** Adding icons...
Debug** Toolbar icons
Debug** Filter icons...
Debug** Other icons...
Debug** Icons added correctly.
Debug** Loading config file: /home/jbreland/.gelide/gelidecfg.xml...
Debug** Generating filters tree...
terminate called after throwing an instance of 'Gtk::IconThemeError'
Aborted
Ok, It seems to be a problem with the icons in the filters pannel, but this is very very rare because all the icons are created at the beginning and this seem to be ok.
I added some more debug info to the filters pannel to try to localize the bug, please clone the git repositorie and tell me what it says now.
Greetings
Latest output:
$ gelide
Debug** Adding icons...
Debug** Toolbar icons
Debug** Filter icons...
Debug** Other icons...
Debug** Icons added correctly.
Debug** Loading config file: /home/jbreland/.gelide/gelidecfg.xml...
Debug** Generating filters tree...
Debug** All added.
Debug** Favorites added.
Debug** Played added.
Debug** Non Played added.
Debug** Working added.
Debug** Non Working added.
Debug** Availables added.
Debug** Non Availables added.
Debug** Unknown added.
Debug** Not Unknown added.
Debug** Rank added.
Debug** Year added.
Debug** Filters tree done.
terminate called after throwing an instance of 'Gtk::IconThemeError'
Aborted
Would strace or gdb output or anything like that be helpful? Maybe it'd help point out a difference between my system and yours?
Thank you for spending the time looking into this.
Hi,
Sorry for this late reply, I was trying to find the bug.
I can't figure out where is the bug, it isn't in the filters panel.
Please, download the file that I have attached and replace your "gelide/src/ui/gelide_ui.cpp" and tell me what it says with this new file.
Your gdb output could help, send me and I will take a look.
Greetings.
Hey, sorry for the delay on my end this time. My Linux box was out of commission for a bit, and I just had a chance to get back to this.
I replaced the file you suggested, recompiled, and launched again, but I still get the same output as my last post.
I'm attempting to post some useful output, but I won't lie - I really don't know how to use gdb, or what you would find helpful. What I did here, I think, is create a backtrace as follows:
$ gdb /usr/games/bin/gelide
<SNIP>
(gdb) run
<SNIP - same output as before>
Program received signal SIGABRT, Aborted.
0x00007ffff258dab5 in raise () from /lib64/libc.so.6
(gdb) bt
#0 0x00007ffff258dab5 in raise () from /lib64/libc.so.6
#1 0x00007ffff258edb5 in abort () from /lib64/libc.so.6
#2 0x00007ffff3059add in __gnu_cxx::__verbose_terminate_handler() ()
from /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/libstdc++.so.6
#3 0x00007ffff3057d16 in ?? ()
from /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/libstdc++.so.6
#4 0x00007ffff3057d43 in std::terminate() ()
from /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/libstdc++.so.6
#5 0x00007ffff3057e4e in __cxa_throw ()
from /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/libstdc++.so.6
#6 0x00007ffff7a2b14f in Gtk::IconThemeError::throw_func(_GError*) ()
from /usr/lib64/libgtkmm-2.4.so.1
#7 0x00007ffff407c72d in Glib::Error::throw_exception(_GError*) ()
from /usr/lib64/libglibmm-2.4.so.1
#8 0x00007ffff7a2bb2d in Gtk::IconTheme::load_icon(Glib::ustring const&, int, Gtk::IconLookupFlags) const () from /usr/lib64/libgtkmm-2.4.so.1
#9 0x0000000000488296 in CInfoPannel::initImages (this=0x6f5520)
at ui/info_pannel.cpp:422
#10 0x0000000000488fa1 in CInfoPannel::CInfoPannel (this=0x6f5520,
__in_chrg=<optimized out>, __vtt_parm=<optimized out>)
at ui/info_pannel.cpp:53
#11 0x0000000000479f90 in CGelideUI::CGelideUI (this=0x6f46a0,
__in_chrg=<optimized out>, __vtt_parm=<optimized out>)
at ui/gelide_ui.cpp:30
#12 0x0000000000418bc4 in getInstance () at ui/gelide_ui.hpp:64
#13 main (argc=1, argv=0x7fffffffdae8) at gelide.cpp:103
I'll be happy to provide any other information you'd like, but I'll need some guidance with gdb.
Another thought - I run KDE, so is it maybe possible that I'm missing a dependency somewhere that, for whatever reason, didn't manifest itself until this GTK upgrade? Seems unlikely, but I've long since run out of any other ideas. :-(
> Another thought - I run KDE, so is it maybe possible that I'm missing a
> dependency somewhere that, for whatever reason, didn't manifest itself
> until this GTK upgrade? Seems unlikely, but I've long since run out of any
> other ideas. :-(
I think it is not a dependency problem but a icontheme problem. It seems that the gtk stock image used by default for the Info pannel (right pannel) is not present in your system, but also it is a bug because Gelide must have a default image if it is not present in the icon theme.
I will try to correct the bug this weekend.
Greetings
Hi,
Please, download the file that I have attached (test-nitro322-00.zip), extract in the source code and overwrite as needed.
Remember to do the "./autogen.sh" before compiling and "sudo make install" to install the new files.
Hope this works.
Greetings.
That worked! I get a different dummy icon now when no game is selected, but otherwise, no crashing. Nicely done!
So, what ended up causing the problem?
The problem is that the IconTheme can't find the icon named "gtk-missing-image" in your system but it is supposed that this icon is a stock icon so it must be in every icontheme. Probably if you change the icon theme in your desktop, the problem disappear.
Anyway Gelide must control this situation and provide a default image in that case.
I will update the git repository in a moment with this bugfix.
Thank you for your help and your patience.
Greetings.
jamf