GameCube emulator periodically crashes about 5 seconds after starting - "stack smashing detected"
-
It will work fine for hours, playing any game. Then, some time later if you try to play another game or the same game, it will display the start screen and then quit after several seconds, back to Emulation Station.
I have found that if it doesn't crash within the first five to ten seconds, it won't crash at all.
In the logs, I get the message "stack smashing detected" (below).
The two times that I have gotten it to "work" again were when I tried renaming one of the memory card files (not sure if that did anything), and when I tried enabling logging in the dolphin-emu, hoping to catch an error message, after which it started the game perfectly. Although, subsequent trials had the same issue of quitting after a few seconds (and with nothing meaningful in the logs). I don't think either of these actions actually had any direct effect, but I am wondering if the act of changing something about dolphin-emu had some indirect effect?
I will also note that doing the following
# export DISPLAY=:0.0 # XDG_CONFIG_HOME=/recalbox/share/system/configs XDG_DATA_HOME=/recalbox/share/saves /usr/bin/dolphin-emu-nogui -e "/recalbox/share/roms/gamecube/All Games/Super Smash Bros. Melee (Europe) (En,Fr,De,Es,It).iso"
seems to work consistently without issue.
I do get these following messages when I run the above (no-gui) command:
12:38:353 PowerPC/SignatureDB.cpp:124 E[HLE]: Wrong size! Found __DBExceptionDestination at 80336234 (size: 0000002c instead of 00000010)! 12:38:353 PowerPC/SignatureDB.cpp:124 E[HLE]: Wrong size! Found SystemCallVector at 8034810c (size: 00000084 instead of 00000020)! 12:38:354 PowerPC/SignatureDB.cpp:124 E[HLE]: Wrong size! Found OSSwitchFPUContext at 803459b8 (size: 000000cc instead of 00000084)! 12:38:354 PowerPC/SignatureDB.cpp:124 E[HLE]: Wrong size! Found OSLoadContext at 80345550 (size: 000000e0 instead of 000000d8)! 12:38:354 PowerPC/SignatureDB.cpp:124 E[HLE]: Wrong size! Found Reset at 80346ed4 (size: 000000b8 instead of 00000070)!
and:
12:39:727 BPStructs.cpp:684 W[Video]: Unknown BP opcode: address = 0x00000069 value = 0x0000049e 12:39:727 BPStructs.cpp:684 W[Video]: Unknown BP opcode: address = 0x00000046 value = 0x0000024c
but, I wonder if those are normal?
Finally, here are the contents of
es_launch_stderr.log
after GameCube crashes:31:35:757 NANDContentLoader.cpp:208 W[DIO]: CreateFromDirectory: error opening /recalbox/share/saves/dolphin-emu/Wii/title/00000001/00000002/content/title.tmd 31:35:442 HW/WiimoteReal/WiimoteReal.cpp:657 N[Wiimote]: WiimoteReal::Initialize 31:35:442 HW/WiimoteReal/WiimoteReal.cpp:476 N[Wiimote]: Wiimote scanning has started. 31:35:446 ConfigManager.cpp:86 N[BOOT]: Saving settings to /recalbox/share/system/configs/dolphin-emu/Dolphin.ini 31:35:696 AlsaSoundStream.cpp:191 N[Audio]: ALSA gave us a 8192 sample "hardware" buffer with 32 periods. Will send 256 samples per fragments. 31:35:696 AlsaSoundStream.cpp:222 N[Audio]: ALSA successfully initialized. 31:35:696 Boot/Boot.cpp:248 N[BOOT]: Booting /recalbox/share/roms/gamecube/All Games/Super Smash Bros. Melee (Europe) (En,Fr,De,Es,It).iso 31:36:722 HLE/HLE_OS.cpp:47 N[OSREPORT]: 81200308->81300000| Apploader Initialized. $Revision: 28 $. 31:36:722 HLE/HLE_OS.cpp:47 N[OSREPORT]: 81200324->81300000| This Apploader built Nov 30 2001 13:36:06 31:36:897 HW/EXI_DeviceIPL.cpp:339 N[OSREPORT]: M 31:36:898 HW/EXI_DeviceIPL.cpp:339 N[OSREPORT]: Dolphin OS $Revision: 49 $.M 31:36:898 HW/EXI_DeviceIPL.cpp:339 N[OSREPORT]: Kernel built : Dec 17 2001 18:46:45M 31:36:899 HW/EXI_DeviceIPL.cpp:339 N[OSREPORT]: Console Type : Development HW3M 31:36:899 HW/EXI_DeviceIPL.cpp:339 N[OSREPORT]: Memory 24 MBM 31:36:899 HW/EXI_DeviceIPL.cpp:339 N[OSREPORT]: Arena : 0x804dff60 - 0x817f66e0M 31:36:908 HW/EXI_DeviceIPL.cpp:339 N[OSREPORT]: app booted from bootromM 31:40:425 HW/EXI_DeviceIPL.cpp:339 N[OSREPORT]: # ---------------------------------------------M 31:40:425 HW/EXI_DeviceIPL.cpp:339 N[OSREPORT]: # Super Smash Bros. MeleeM 31:40:425 HW/EXI_DeviceIPL.cpp:339 N[OSREPORT]: #M 31:40:425 HW/EXI_DeviceIPL.cpp:339 N[OSREPORT]: # Distribution 2M 31:40:425 HW/EXI_DeviceIPL.cpp:339 N[OSREPORT]: # Language 2M 31:40:426 HW/EXI_DeviceIPL.cpp:339 N[OSREPORT]: # DbLevel 0M 31:40:426 HW/EXI_DeviceIPL.cpp:339 N[OSREPORT]: # Arena Size 19 MBM 31:40:426 HW/EXI_DeviceIPL.cpp:339 N[OSREPORT]: # ARAM Free Size 9 MBM 31:40:426 HW/EXI_DeviceIPL.cpp:339 N[OSREPORT]: # DATE Mar 13 2002 TIME 00:54:01M 31:40:427 HW/EXI_DeviceIPL.cpp:339 N[OSREPORT]: # GC Calendar Year 2019 Month 1 Day 14M 31:40:427 HW/EXI_DeviceIPL.cpp:339 N[OSREPORT]: # Hour 18 Min 31 Sec 36 M 31:40:427 HW/EXI_DeviceIPL.cpp:339 N[OSREPORT]: #M 31:40:427 HW/EXI_DeviceIPL.cpp:339 N[OSREPORT]: M *** stack smashing detected ***: /usr/bin/dolphin-emu terminated ======= Backtrace: ========= /lib64/libc.so.6(+0x6ec65)[0x7fa84bce6c65] /lib64/libc.so.6(__fortify_fail+0x37)[0x7fa84bd6fc27] /lib64/libc.so.6(__fortify_fail+0x0)[0x7fa84bd6fbf0] /lib64/libresolv.so.2(+0x8109)[0x7fa847bb0109] [0x7fa83bb63e80] ======= Memory map: ======== 00400000-01200000 r-xp 00000000 08:12 8174 /usr/bin/dolphin-emu 013ff000-01428000 rw-p 00dff000 08:12 8174 /usr/bin/dolphin-emu 01428000-01ea1000 rw-p 00000000 00:00 0 02870000-02c94000 rw-p 00000000 00:00 0 [heap] 41bc5000-41bc9000 r-xp 00000000 00:00 0 41f68000-44f68000 rwxp 00000000 00:00 0 2300000000-2302000000 rw-s 00000000 00:14 27102 /dev/shm/dolphinmem.0 (deleted) 2500000000-2502000000 rw-s 00000000 00:14 27102 /dev/shm/dolphinmem.0 (deleted) 257e000000-2580000000 rw-s 02040000 00:14 27102 /dev/shm/dolphinmem.0 (deleted) 2580000000-2582000000 rw-s 00000000 00:14 27102 /dev/shm/dolphinmem.0 (deleted) 25c0000000-25c2000000 rw-s 00000000 00:14 27102 /dev/shm/dolphinmem.0 (deleted) 25e0000000-25e0040000 rw-s 02000000 00:14 27102 /dev/shm/dolphinmem.0 (deleted) ...
(please let me know if it would be helpful to post more of the dump)
Thank you for any help with this!