Menu

#17 gelide crashes with gtk 2.24.10

v0.1.5
closed-fixed
7
2012-05-07
2012-04-20
Jared B.
No

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. :-)

Discussion

  • Juan Ángel Moreno Fernández

    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

     
  • Juan Ángel Moreno Fernández

    • labels: --> Main Interface
    • priority: 5 --> 7
    • assigned_to: nobody --> jamf
     
  • Jared B.

    Jared B. - 2012-04-20

    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.

     
  • Juan Ángel Moreno Fernández

    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

     
  • Jared B.

    Jared B. - 2012-04-21

    I get the same error message with the git version.

     
  • Juan Ángel Moreno Fernández

    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.

     
  • Jared B.

    Jared B. - 2012-04-21

    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

     
  • Juan Ángel Moreno Fernández

    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

     
  • Jared B.

    Jared B. - 2012-04-21

    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.

     
  • Juan Ángel Moreno Fernández

     
  • Juan Ángel Moreno Fernández

    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.

     
  • Jared B.

    Jared B. - 2012-05-01

    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. :-(

     
  • Juan Ángel Moreno Fernández

    > 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

     
  • Juan Ángel Moreno Fernández

     
  • Juan Ángel Moreno Fernández

    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.

     
  • Jared B.

    Jared B. - 2012-05-06

    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?

     
  • Juan Ángel Moreno Fernández

    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

     
  • Juan Ángel Moreno Fernández

    • milestone: --> v0.1.5
    • status: open --> closed-fixed
     

Log in to post a comment.