Hi, when I launch DST from Steam, it immediately crashes, before showing anything or printing anything interesting in the logs. Checking the system logs shows the following error:
[ 668.663020] dontstarve_stea: segfault at 8 ip 00007f8183146876 sp 00007ffc71f6a310 error 4 in libX11.so.6.4.0[7f8183114000+8a000]
I tried to run DST under GDB to get a backtrace, but I just get a "Steam doesn't seem to be running. Trying to restart the game via Steam." message.
Thanks for the help, let me know if there's anything I can get you to solve this issue.
Edit: I've dug more into this. With a combination of libdebugme & gdb, I got a backtrace:
I put the following into the launch options in steam:
DEBUGME_OPTIONS=handle_signals=1:xterm=1 LD_PRELOAD=/home/user/dev/aur/libdebugme/bin/libdebugme.so %command%
I then started the program and quickly copy-pasted the command from the libdebugme logs:
libdebugme: failed to run gdb command: gdb -ex 'attach 146390' -ex 'set __debugme_go=1' -ex continue -ex finish
and got the following stack trace:
(gdb) bt #0 debugme_debug (dbg_flags_=<optimized out>, dbg_opts_=<optimized out>) at src/debugme.c:108 #1 0x00007fb421974b36 in sighandler (sig=<optimized out>) at src/debugme.c:34 #2 <signal handler called> #3 XGetICValues (ic=0x0) at ICWrap.c:289 #4 0x00007fb4218b58d8 in ?? () #5 0x00007ffefc652ba0 in ?? () #6 0x0000000000000001 in ?? () #7 0x0000000001d16810 in ?? () #8 0x0000000001be2ad0 in ?? () #9 0x000000000000220a in ?? () #10 0x00007ffefc652ad0 in ?? () #11 0x0000000001d16810 in ?? () #12 0x0000000000000000 in ?? ()
Looks like DST is calling XGetICValues with a null pointer. I unfortunately can't debug further, since DST doesn't come with debug symbols.
Someone on the Arch Linux wiki has also encountered this problem with another, non-Klei game, and they suggest it is a bug in SDL: https://wiki.archlinux.org/title/Steam/Game-specific_troubleshooting#Crash_on_start_in_libX11.so.6.3.0. However, that workaround does not work for DST.
When I launch DST from Steam, it immediately crashes.