i like to play retro games from time to time, and I’ve installed raze, a source port for running build engine games, from the AUR, the package is raze-git.
Recently i encountered a crash while playing a specific situation. As the devs explained me, upon crash the program should create a crash log in the current directory but it doesn’t. I installed gxmessage and gdb, but to no avail. The program just creates a core dump, which i was told is useless on other platforms.
I installed lldb and managed to found the reason of the crash. Here is the output:
Process 15684 stopped
* thread #1, name = 'raze', stop reason = signal SIGSEGV: invalid address (fault address: 0x5555611e9000)
frame #0: 0x00005555558e80c4 raze`getzrange(vec3_t const*, short, int*, int*, int*, int*, int, unsigned int) + 436
raze`getzrange:
-> 0x5555558e80c4 <+436>: movswq (%rax,%rbx,2), %rax
0x5555558e80c9 <+441>: leaq (%rax,%rax,2), %rcx
0x5555558e80cd <+445>: leaq (%rax,%rcx,4), %rax
0x5555558e80d1 <+449>: leaq (%rbp,%rax,4), %rcx
(lldb) bt
* thread #1, name = 'raze', stop reason = signal SIGSEGV: invalid address (fault address: 0x5555611e9000)
* frame #0: 0x00005555558e80c4 raze`getzrange(vec3_t const*, short, int*, int*, int*, int*, int, unsigned int) + 436
frame #1: 0x0000555555c8f2fb raze`Blood::GetZRange(spritetype*, int*, int*, int*, int*, int, unsigned int, unsigned int) + 459
frame #2: 0x0000555555cef42f raze`Blood::MoveThing(spritetype*) + 751
frame #3: 0x0000555555d0eb20 raze`Blood::actProcessSprites() + 1072
frame #4: 0x0000555555d11410 raze`Blood::GameInterface::Ticker() + 464
frame #5: 0x0000555555925492 raze`TryRunTics() + 3106
frame #6: 0x00005555559254dd raze`MainLoop() + 45
frame #7: 0x000055555592b726 raze`RunGame() + 5158
frame #8: 0x000055555592c964 raze`GameMain() + 308
frame #9: 0x0000555555759124 raze`main + 260
frame #10: 0x00007ffff6988b25 libc.so.6`__libc_start_main + 213
frame #11: 0x000055555576d7be raze`_start + 46
The crash doesn’t replicate on Windows, so i think it’s a Manjaro issue. The devs said that since they cannot replicate it, they cannot fix anything.
I know this surely is a niche topic, but i’m asking just for curiosity, to understand the cause of the crash.