Page 1 of 1

GTK Crash + SDL Segfault

Posted: Thu Feb 14, 2013 8:07 pm
by szim90

Hello,

 

I suspect these might be two separate issues, but I felt I should include them together.

 

After compiling and launching the most recent SVN snapshot (r1159) with the GTK interface, encountered an odd bug. On the first launch of the program, the interface loads, but all the icons are missing. When I attempt to open a ROM, I get the following error:

 

Gtk:ERROR:gtkrecentmanager.c:2069:get_icon_fallback: assertion failed: (retval != NULL)

Aborted

 

Attempting to restart the gui application causes it to fail immediately with the same error. The application can be re-opened by clearing the recently used list with the command:

 

rm ~/.local/share/recently-used.xbel

 

But the problem still persists (on open, program fails), and then the recent list needs to be cleared again.

 

Here's the entire message from opening the application:

 

Code: Select all

$ gvbam

(gvbam:5948): GVFS-RemoteVolumeMonitor-WARNING **: invoking IsSupported() failed for remote volume monitor with dbus name org.gtk.Private.GPhoto2VolumeMonitor: org.freedesktop.DBus.Error.Spawn.ChildExited: Process /usr/libexec/gvfs-gphoto2-volume-monitor exited with status 127

(gvbam:5948): Gtk-WARNING **: Error loading theme icon 'edit-find' for stock: Fatal error reading PNG image file: Incompatible libpng version in application and library

(gvbam:5948): Gtk-WARNING **: Error loading theme icon 'text-x-generic' for stock: Fatal error reading PNG image file: Incompatible libpng version in application and library

(gvbam:5948): Gtk-WARNING **: Error loading theme icon 'edit-find' for stock: Fatal error reading PNG image file: Incompatible libpng version in application and library

(gvbam:5948): Gtk-WARNING **: Error loading theme icon 'text-x-generic' for stock: Fatal error reading PNG image file: Incompatible libpng version in application and library
**
Gtk:ERROR:gtkrecentmanager.c:2069:get_icon_fallback: assertion failed: (retval != NULL)
Aborted

 

Attempting to use the command line version, I receive an segfault when loading fire emblem, the sacred stones. Here's the output:

Code: Select all

./vbam -d ~/Downloads/Fire\ Emblem\ -\ The\ Sacred\ Stones.gba 
VBA-M version 1.8.0-SVN [sDL]
Searching for file vbam.cfg
Searching current directory: /home/sean/src/vbam
Searching home directory: /home/sean/.vbam
Searching data directory: /usr/share/vbam
Searching system config directory: /etc
Configuration file NOT FOUND (using defaults)
Searching for file vba-over.ini
Searching current directory: /home/sean/src/vbam
Searching home directory: /home/sean/.vbam
Searching data directory: /usr/share/vbam
Searching system config directory: /etc
vba-over.ini NOT FOUND (using emulator settings)
Trying patch /home/sean/Downloads/Fire Emblem - The Sacred Stones.ips
Trying patch /home/sean/Downloads/Fire Emblem - The Sacred Stones.ups
Trying patch /home/sean/Downloads/Fire Emblem - The Sacred Stones.ppf
19:59:17 14.02.2013: Loaded battery
Color depth: 32
R00=00000000 R04=00000000 R08=00000000 R12=00000000
R01=00000000 R05=00000000 R09=00000000 R13=03007f00
R02=00000000 R06=00000000 R10=00000000 R14=00000000
R03=00000000 R07=00000000 R11=00000000 R15=08000004
CPSR=0000005f (.....F. Mode: 1f)
08000000  ea00002e b $080000c0
debugger> c
Segmentation fault

 

Attaching gdb to the process and monitoring it when it crashes generates the following back trace:

Code: Select all

Program received signal SIGSEGV, Segmentation fault.
0x08263da0 in sdlStretcher ()
(gdb) bt
#0  0x08263da0 in sdlStretcher ()
#1  0x0807579b in sdlStretch2x(unsigned char*, unsigned int, unsigned char*, unsigned char*, unsigned int, int, int) ()
#2  0x08074185 in systemDrawScreen() ()
#3  0x08090d3d in CPULoop(int) ()
#4  0x08073daa in main ()

 

It might be noting that the retroarch core based on VBA-M seems to be working fine. Calling the SDL command line version with -O 0 and -f 12 also seems to work without a segfault.

 

Since I know there was an error message about libpng versions, I've also included the ldd dump of the gvbam executable - it appears to be linking to libpng14.

 

Code: Select all

$ ldd ./gvbam 
linux-gate.so.1 (0xffffe000)
libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0xb7697000)
libpthread.so.0 => /lib/libpthread.so.0 (0xb767d000)
libsfml-system.so.1.6 => /usr/lib/libsfml-system.so.1.6 (0xb7676000)
libsfml-audio.so.1.6 => /usr/lib/libsfml-audio.so.1.6 (0xb765a000)
libsfml-graphics.so.1.6 => /usr/lib/libsfml-graphics.so.1.6 (0xb753f000)
libsfml-network.so.1.6 => /usr/lib/libsfml-network.so.1.6 (0xb7528000)
libsfml-window.so.1.6 => /usr/lib/libsfml-window.so.1.6 (0xb7518000)
libGLU.so.1 => /usr/lib/libGLU.so.1 (0xb74a0000)
libGL.so.1 => /usr/lib/libGL.so.1 (0xb7432000)
libSM.so.6 => /usr/lib/libSM.so.6 (0xb7429000)
libICE.so.6 => /usr/lib/libICE.so.6 (0xb7410000)
libX11.so.6 => /usr/lib/libX11.so.6 (0xb72da000)
libXext.so.6 => /usr/lib/libXext.so.6 (0xb72c9000)
libz.so.1 => /lib/libz.so.1 (0xb72b3000)
libpng14.so.14 => /usr/lib/libpng14.so.14 (0xb7288000)
librt.so.1 => /lib/librt.so.1 (0xb727e000)
libgtkmm-2.4.so.1 => /usr/lib/libgtkmm-2.4.so.1 (0xb6f1b000)
libatkmm-1.6.so.1 => /usr/lib/libatkmm-1.6.so.1 (0xb6ed6000)
libgdkmm-2.4.so.1 => /usr/lib/libgdkmm-2.4.so.1 (0xb6e8b000)
libgiomm-2.4.so.1 => /usr/lib/libgiomm-2.4.so.1 (0xb6d64000)
libpangomm-1.4.so.1 => /usr/lib/libpangomm-1.4.so.1 (0xb6d38000)
libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0xb68d7000)
libglibmm-2.4.so.1 => /usr/lib/libglibmm-2.4.so.1 (0xb686e000)
libcairomm-1.0.so.1 => /usr/lib/libcairomm-1.0.so.1 (0xb684b000)
libsigc-2.0.so.0 => /usr/lib/libsigc-2.0.so.0 (0xb6846000)
libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0xb6796000)
libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0xb6776000)
libgio-2.0.so.0 => /usr/lib/libgio-2.0.so.0 (0xb661f000)
libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0xb65ee000)
libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0xb65e2000)
libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0xb65c0000)
libcairo.so.2 => /usr/lib/libcairo.so.2 (0xb651f000)
libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0xb64d5000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb644b000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb6416000)
libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0xb63c8000)
libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xb62a4000)
libgtkglextmm-x11-1.2.so.0 => /usr/lib/libgtkglextmm-x11-1.2.so.0 (0xb629e000)
libgdkglextmm-x11-1.2.so.0 => /usr/lib/libgdkglextmm-x11-1.2.so.0 (0xb628d000)
libgtkglext-x11-1.0.so.0 => /usr/lib/libgtkglext-x11-1.0.so.0 (0xb628a000)
libgdkglext-x11-1.0.so.0 => /usr/lib/libgdkglext-x11-1.0.so.0 (0xb622c000)
libXmu.so.6 => /usr/lib/libXmu.so.6 (0xb6214000)
libXt.so.6 => /usr/lib/libXt.so.6 (0xb61b8000)
libpangox-1.0.so.0 => /usr/lib/libpangox-1.0.so.0 (0xb61ac000)
libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0xb61a8000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb60c0000)
libm.so.6 => /lib/libm.so.6 (0xb6094000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0xb6077000)
libc.so.6 => /lib/libc.so.6 (0xb5ef2000)
libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0xb5eea000)
libXrender.so.1 => /usr/lib/libXrender.so.1 (0xb5ee1000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0xb5ebf000)
libXau.so.6 => /usr/lib/libXau.so.6 (0xb5ebc000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb5eb6000)
libdl.so.2 => /lib/libdl.so.2 (0xb5eb1000)
libvga.so.1 => /usr/lib/libvga.so.1 (0xb5e32000)
/lib/ld-linux.so.2 (0xb7764000)
libsndfile.so.1 => /usr/lib/libsndfile.so.1 (0xb5dcb000)
libopenal.so.1 => /usr/lib/libopenal.so.1 (0xb5d86000)
libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0xb5d83000)
libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0xb5d7e000)
libX11-xcb.so.1 => /usr/lib/libX11-xcb.so.1 (0xb5d7c000)
libxcb-glx.so.0 => /usr/lib/libxcb-glx.so.0 (0xb5d64000)
libXxf86vm.so.1 => /usr/lib/libXxf86vm.so.1 (0xb5d5f000)
libdrm.so.2 => /usr/lib/libdrm.so.2 (0xb5d53000)
libuuid.so.1 => /lib/libuuid.so.1 (0xb5d4f000)
libxcb-shm.so.0 => /usr/lib/libxcb-shm.so.0 (0xb5d4c000)
libxcb-render.so.0 => /usr/lib/libxcb-render.so.0 (0xb5d42000)
libresolv.so.2 => /lib/libresolv.so.2 (0xb5d29000)
libpixman-1.so.0 => /usr/lib/libpixman-1.so.0 (0xb5cb6000)
libbz2.so.1 => /lib/libbz2.so.1 (0xb5ca5000)
libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb5c7d000)
libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0xb5c7a000)
libffi.so.6 => /usr/lib/libffi.so.6 (0xb5c74000)
libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0xb5c71000)
libXi.so.6 => /usr/lib/libXi.so.6 (0xb5c62000)
libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0xb5c58000)
libXcomposite.so.1 => /usr/lib/libXcomposite.so.1 (0xb5c54000)
libFLAC.so.8 => /usr/lib/libFLAC.so.8 (0xb5c04000)
libvorbisenc.so.2 => /usr/lib/libvorbisenc.so.2 (0xb5a8d000)
libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0xb5a62000)
libogg.so.0 => /usr/lib/libogg.so.0 (0xb5a5b000)

 

If you need anymore information, please let me know. I'm running Salix XFCE edition (Slackware 14).

 

Regards,

Sean