GameMaker games (Memoranda and Undertale) + amdgpu — Segmentation fault on launch
Memoranda, a 32-bit commercial game, in its version sold on gog.com, crashes on launch with a segmentation fault, before even showing the game window.
Here is a backtrace generated with gdb
:
#0 add () at /build/llvm-toolchain-9-kUqRYr/llvm-toolchain-9-9.0.1/llvm/lib/IR/LegacyPassManager.cpp:1099
#1 0xd06305be in assignPassManager () at /build/llvm-toolchain-9-kUqRYr/llvm-toolchain-9-9.0.1/llvm/lib/IR/LegacyPassManager.cpp:1999
#2 0xd062b031 in schedulePass () at /build/llvm-toolchain-9-kUqRYr/llvm-toolchain-9-9.0.1/llvm/lib/IR/LegacyPassManager.cpp:794
#3 0xd062a90e in schedulePass () at /build/llvm-toolchain-9-kUqRYr/llvm-toolchain-9-9.0.1/llvm/lib/IR/LegacyPassManager.cpp:758
#4 0xd062a90e in schedulePass () at /build/llvm-toolchain-9-kUqRYr/llvm-toolchain-9-9.0.1/llvm/lib/IR/LegacyPassManager.cpp:758
#5 0xd062a90e in schedulePass () at /build/llvm-toolchain-9-kUqRYr/llvm-toolchain-9-9.0.1/llvm/lib/IR/LegacyPassManager.cpp:758
#6 0xd0630029 in add () at /build/llvm-toolchain-9-kUqRYr/llvm-toolchain-9-9.0.1/llvm/lib/IR/LegacyPassManager.cpp:551
#7 add () at /build/llvm-toolchain-9-kUqRYr/llvm-toolchain-9-9.0.1/llvm/lib/IR/LegacyPassManager.cpp:1888
#8 0xd108d26d in LLVMAddEarlyCSEMemSSAPass () at /build/llvm-toolchain-9-kUqRYr/llvm-toolchain-9-9.0.1/llvm/lib/Transforms/Scalar/Scalar.cpp:264
#9 0xd3dece29 in ac_create_passmgr (check_ir=false, target_library_info=0xc9500f50) at ../src/amd/llvm/ac_llvm_util.c:225
#10 ac_init_llvm_compiler (compiler=<optimized out>, family=<optimized out>, tm_options=<optimized out>) at ../src/amd/llvm/ac_llvm_util.c:369
#11 0xd3d21d7b in si_init_compiler (sscreen=0x8803620, compiler=0x8803c24) at ../src/gallium/drivers/radeonsi/si_pipe.c:147
#12 0xd3d4a2cd in si_init_shader_selector_async (job=0x898d430, thread_index=2) at ../src/gallium/drivers/radeonsi/si_state_shaders.c:2479
#13 0xd4329adc in util_queue_thread_func (input=<optimized out>) at ../src/util/u_queue.c:292
#14 0xf7b40fb9 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#15 0xf761ae66 in clone () from /lib/i386-linux-gnu/libc.so.6
Attached is a GL trace generated using apitrace
wrapper: memoranda.trace.gz
I first saw the crash on a Debian Bullseye/Sid with the following specs:
- Linux 5.4.13 and 5.4.19
- Mesa 19.3.3, cf. glxinfo.gz
- X.org 1.20.7
- X.org amdgpu driver 19.1.0
I reproduce this crash reliably with a build of current master (19.3-branchpoint-3779-g0103f02acb1
).
You can find the original bug report and research I did on ./play.it issues tracker.