libTAS
libTAS copied to clipboard
Regression: Undertale cannot be launched and prints `Unknown socket message -1`
Undertale cannot be launched on the latest commit, while it was working fine on v1.4.3.
(Note that the best way to launch Undertale is to use the Steam runtime, i.e. launch libTAS via ~/.steam/bin/steam-runtime/run.sh libTAS
.)
git bisect
points to c769194ad9dc189335125d44076946077b691c8c being the culprit. Launching Undertale before this commit works as normal, while launching it after will print something along the lines of
Attempt 1: Connected.
[libTAS f:0] Thread 225024 (main) ERROR: recv() returns -1 with error Connection reset by peer
[libTAS f:0] Thread 225024 (main) ERROR: Unknown socket message -1
recv() returns -1 with error Bad file descriptor
The connection to the game was lost. Exiting
It is working for me. After adding an extra option for time-tracking, it has shifted existing options. Check that only clock_gettime() monotonic
is checked. You could also delete the libtas config file for Undertale (under ~/.config/libtas/
).
Can you also try commit 75f4611da43902196aafeb6ce5a832ec8ed886d4, which fixed an issue with loading config files?
If you have a distro that updates often, it may be a new incompatibility that I'm not aware of.
Check that only
clock_gettime() monotonic
is checked.
So, I had only clock_gettime() realtime
checked. I then unchecked it and checked clock_gettime() monotonic
. It still fails to launch with the same error message.
You could also delete the libtas config file for Undertale (under
~/.config/libtas/
).
~/.config/libtas
is not a directory that seems to exist on my system.
Can you also try commit 75f4611, which fixed an issue with loading config files?
I did git checkout 75f4611
and built from that commit. The error still happens.
If you have a distro that updates often, it may be a new incompatibility that I'm not aware of.
I'm on Fedora 35. Fedora isn't a rolling release distro, as far as I'm aware.
Sorry, that is ~/.config/libTAS/
Okay, well removing the config file runner.ini
doesn't seem to do anything.
I also notice something interesting - if I have a new movie file checked, attempting to launch it results in the "Do you want to save the movie file?" dialog popping up twice. Did the game somehow close twice or something?
Does this crash has a useful backtrace?
I don't remember being able to get anything useful with GDB. It would've been one of the first things I tried.
Okay, yeah that's right, GDB complains about a symbol lookup error:
/usr/bin/gdb: symbol lookup error: /lib64/libdebuginfod.so.1: undefined symbol: curl_multi_wait
Attempt 1: Couldn't connect to socket.
Game couldn't start properly.
recv() returns -1 with error Bad file descriptor
The connection to the game was lost. Exiting
...maybe this is the cause of the original bug?