The X86 version on ubuntu segfaults and coredumps when launching emulators on NUC d54250wyk (gdb stack trace included)
-
Hi All,
Hopefuly this will be of use to a dev somewhere out there. Today I downloaded and built 4.1 but I've had a problem very similar to the one described here:
https://retropie.org.uk/forum/topic/4246/retropie-emulationstation-on-ubuntu-16-04-won-t-load-games
It seems to be affecting multiple emulators but I've picked one example.
runcommand.log contains this:
arse@nuc:/dev/shm$ cat runcommand.log Parameters: Executing: /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-caprice32/cap32_libretro.so --config /opt/retropie/configs/amstradcpc/retroarch.cfg "/home/arse/RetroPie/roms/amstradcpc/1001 BC (F) (1986) [a1].dsk" --appendconfig /dev/shm/retroarch.cfg [libretro-cap32]: Got size: 384 x 272. [libretro-cap32]: Got size: 384 x 272. Retro SYSTEM_DIRECTORY /home/arse/RetroPie/BIOS Retro SAVE_DIRECTORY /home/arse/RetroPie/roms/amstradcpc/ Retro CONTENT_DIRECTORY /home/arse/.config/retroarch/downloads s(384,272,32) (0,0,0,0) create surface XR8G8B8 libretro Init nuklear 0 0 x64 1 /home/arse/RetroPie/roms/amstradcpc/1001 BC (F) (1986) [a1].dsk /opt/retropie/supplementary/runcommand/runcommand.sh: line 961: 9423 Segmentation fault (core dumped) /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-caprice32/cap32_libretro.so --config /opt/retropie/configs/amstradcpc/retroarch.cfg "/home/arse/RetroPie/roms/amstradcpc/1001 BC (F) (1986) [a1].dsk" --appendconfig /dev/shm/retroarch.cfg
I did a little digging/debugging which lead to the call stack below. I hope it can be of some use.
I will try to check back here in case I can provide more info or help out in some way.
arse@nuc:/dev/shm$ gdb /opt/retropie/emulators/retroarch/bin/retroarch GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1 Copyright (C) 2014 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-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from /opt/retropie/emulators/retroarch/bin/retroarch...done. (gdb) start -L /opt/retropie/libretrocores/lr-caprice32/cap32_libretro.so --config /opt/retropie/configs/amstradcpc/retroarch.cfg "/home/arse/RetroPie/roms/amstradcpc/1001 BC (F) (1986) [a1].dsk" --appendconfig /dev/shm/retroarch.cfg Temporary breakpoint 1 at 0x410a20: file frontend/frontend.c, line 148. Starting program: /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-caprice32/cap32_libretro.so --config /opt/retropie/configs/amstradcpc/retroarch.cfg "/home/arse/RetroPie/roms/amstradcpc/1001 BC (F) (1986) [a1].dsk" --appendconfig /dev/shm/retroarch.cfg [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". Temporary breakpoint 1, main (argc=8, argv=0x7fffffffe4f8) at frontend/frontend.c:148 148 frontend/frontend.c: No such file or directory. (gdb) cont Continuing. [New Thread 0x7fffe1b23700 (LWP 9929)] Retro SYSTEM_DIRECTORY /home/arse/RetroPie/BIOS Retro SAVE_DIRECTORY /home/arse/RetroPie/roms/amstradcpc/ Retro CONTENT_DIRECTORY /home/arse/.config/retroarch/downloads [libretro-cap32]: Got size: 384 x 272. s(384,272,32) (0,0,0,0) create surface XR8G8B8 libretro Init nuklear 0 0 x64 1 /home/arse/RetroPie/roms/amstradcpc/1001 BC (F) (1986) [a1].dsk [libretro-cap32]: Got size: 384 x 272. [New Thread 0x7fffe0de1700 (LWP 9930)] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fffe0de1700 (LWP 9930)] 0x0000000000000000 in ?? () (gdb) where #0 0x0000000000000000 in ?? () #1 0x00000000004f8572 in rglgen_resolve_symbols_custom (map=0x60c840 <rglgen_symbol_map>, proc=0x0) at libretro-common/glsym/rglgen.c:34 #2 rglgen_resolve_symbols (proc=0x0) at libretro-common/glsym/rglgen.c:41 #3 0x00000000004f2e6d in gl_init (video=0x8eeea0, input=0x874048 <current_input>, input_data=0x874040 <current_input_data>) at gfx/drivers/gl.c:1923 #4 0x00000000004df4bd in video_thread_handle_packet (incoming=0x7fffe0de0a20, thr=0x8eee80) at gfx/video_thread_wrapper.c:342 #5 video_thread_loop (data=0x8eee80) at gfx/video_thread_wrapper.c:591 #6 0x00000000004dc9cf in thread_wrap (data_=0x8d98a0) at libretro-common/rthreads/rthreads.c:105 #7 0x00007ffff74696ba in start_thread (arg=0x7fffe0de1700) at pthread_create.c:333 #8 0x00007ffff168f82d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109```
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.