SlashTHEM icon indicating copy to clipboard operation
SlashTHEM copied to clipboard

Crash on "end_burn: obj %s not lit"

Open k21971 opened this issue 2 years ago • 7 comments

Version 0.9.6, player is in the mines, goes down the stairs, encounters bones, is right next to the player's ghost. Game immediately crashes. Backtrace of the coredump produces this:

Core was generated by `/slashthem-0.9.6/slashthem -u nabru'. Program terminated with signal SIGSEGV, Segmentation fault. #0 0x00007f68651bc5a1 in __strlen_avx2 () at ../sysdeps/x86_64/multiarch/strlen-avx2.S:184 184 ../sysdeps/x86_64/multiarch/strlen-avx2.S: No such file or directory. (gdb) bt #0 0x00007f68651bc5a1 in __strlen_avx2 () at ../sysdeps/x86_64/multiarch/strlen-avx2.S:184 #1 0x00007f686508b4d3 in _IO_vfprintf_internal (s=0x7ffeeadf3d80, format=0x56010a693d70 "end_burn: obj %s not lit", ap=0x7ffeeadf4708) at vfprintf.c:1433 #2 0x00007f68650af6d1 in _IO_acquire_lock_fct (p=) at libioP.h:796 #3 _IO_ungetc (c=, fp=0x7ffeeadf3d80) at ioungetc.c:38 #4 0x00007ffeeadf3ed0 in ?? () #5 0x00007ffeeadf3ed0 in ?? () #6 0x00007ffeeadf3ed0 in ?? () #7 0x00007ffeeadf3ed0 in ?? () #8 0x00007ffeeadf3ede in ?? () #9 0xffffffffffffffff in ?? () #10 0x00007ffeeadf3ed0 in ?? () #11 0xffffffffffffffff in ?? () #12 0x0000000000000000 in ?? ()

Not too terribly helpful, but it indicates a light source as being the issue. Game recovers, but as the player reloads, same crash occurs immediately.

k21971 avatar Sep 22 '21 23:09 k21971

Huh. I'm used to the occasional "begin_burn" issue (typically from lightsabers from my experience) but not "end_burn".

Anyway to tell what objects are in the bones file, perhaps from a dumplog? If I had to guess it's probably something weird with lightsabers.

Soviet5lo avatar Sep 23 '21 00:09 Soviet5lo

Dumplog - https://www.hardfought.org/userdata/P/Pacra/slashthem/dumplog/1632336777.slth.txt

k21971 avatar Sep 23 '21 00:09 k21971

Yeah, looks like it was due to a lightsaber. I'm guessing something caused it to deactivate (possibly ran out of energy?) but the game didn't flag it as still lit.

I want to say this has been fixed in a variant but I'm not completely sure; this almost certainly exists in other slash'em variants otherwise (Extended, 9, Up)

Soviet5lo avatar Sep 23 '21 00:09 Soviet5lo

Why would it crash here? that backtrace looks suspicious

Reproducing it with a lit lightsaber fires the impossible as expected but doesn't crash

It's like the binary was compiled to include avx2 features that the machine it's running on doesn't support or something? idk

gebulmer avatar Sep 23 '21 10:09 gebulmer

Backtrace looks fine. That's exactly what I would expect to see if you said sprintf("end_burn: obj %s not lit", NULL) (or a bad pointer in place of null).

moon-chilled avatar Sep 23 '21 20:09 moon-chilled

fair enough, my mistake

I was trying to reproduce it with leaving wizmode bones but must be missing something

gebulmer avatar Sep 23 '21 21:09 gebulmer

Should be semi-fixed in 9e6341dd0; I think the issue of the crash was the game attempting to pull the name of an object that hasn't been seen yet (mostly tied to @moon-chilled comment). This doesn't necessarily resolve the root cause of the end_burn impossible though.

Soviet5lo avatar Sep 27 '21 02:09 Soviet5lo