libTAS icon indicating copy to clipboard operation
libTAS copied to clipboard

Stealth Bastard Deluxe segfaults on loading savestate

Open ksamlive opened this issue 3 years ago • 4 comments

Loading savestates crashes the game on libTAS 1.4.1+, including the latest build. They work just fine on 1.4.0; I found out that the commit that breaks them is 422b047. The game uses GameMaker Studio.

All I get from the logs is this:

[libTAS f:0] Thread 2433 (main) OpenGL vendor: Mesa/X.org
[libTAS f:0] Thread 2433 (main) OpenGL renderer: llvmpipe (LLVM 13.0.1, 256 bits)
[libTAS f:37] Thread 2433 (main) Saved state 1 of size 107695549 in 0.455781 seconds
[libTAS f:37] Thread 2433 (main) Loaded state 1 in 0.230085 seconds
recv() returns 0 -> socket closed
Got wrong message after state loading
Segmentation fault
send() returns -1 with error Broken pipe
send() returns -1 with error Broken pipe
send() returns -1 with error Broken pipe
recv() returns 0 -> socket closed
The connection to the game was closed. Exiting

ksamlive avatar Apr 13 '22 17:04 ksamlive

Could you enable Runtime > Debug > Print categories > Checkpoint, and Runtime > Debug > Log to file. Then save and load a state, and send here the log file (under the same directory as the game executable).

clementgallet avatar May 06 '22 14:05 clementgallet

Here it is: StealthBastardDeluxe.log

ksamlive avatar May 06 '22 19:05 ksamlive

The log does not show anything unusual. What are your savestate settings checked (under Runtime > Savestates) when running v1.4.3 ?

clementgallet avatar May 06 '22 22:05 clementgallet

I only had compressed savestates checked. I went back and tried different settings, and with incremental savestates checked I get this in the log:

[libTAS f:65] Thread 29457 (main) Loaded state 1 in 0.043010 seconds
[libTAS f:65] Thread 29457 (main) Restoring was not done, resuming threads
[libTAS f:65] Thread 29457 (main) Resuming all threads
[libTAS f:65] Thread 29457 (main) All threads resumed
[libTAS f:65] Thread 29484  Thread after getcontext
[libTAS f:65] Thread 29483  Thread after getcontext
[libTAS f:65] Thread 29482  Thread after getcontext
[libTAS f:65] Thread 29481  Thread after getcontext
[libTAS f:65] Thread 29480  Thread after getcontext
[libTAS f:65] Thread 29484  Thread returning to user code
[libTAS f:65] Thread 29482  Thread returning to user code
[libTAS f:65] Thread 29457 (main) Releasing ThreadSync locks
[libTAS f:65] Thread 29483  Thread returning to user code
[libTAS f:65] Thread 29457 (main) ERROR: Savestate failed
[libTAS f:65] Thread 29481  Thread returning to user code
malloc(): unaligned fastbin chunk detected
[libTAS f:65] Thread 29480  Thread returning to user code

ksamlive avatar May 07 '22 00:05 ksamlive

This is now fixed as of v1.4.5. Thank you!

ksamlive avatar Nov 18 '23 12:11 ksamlive