Warping to E5M9 of SIGIL.wad crashes with a segmentation fault.
Closed this issue · 7 comments
Warping to E5M9 of SIGIL.wad crashes with a segmentation fault.
Previously I was using an older version of dsda-doom, v0.25.6 which does not have this issue.
I'm using the software render but also tested with OpenGL with no difference.
Here's a the output when run from lldb, with some possibly pertinent variables:
$ lldb-15 dsda-doom
(lldb) target create "dsda-doom"
Current executable set to '/usr/local/bin/dsda-doom' (x86_64).
(lldb) run -iwad doom.wad -file SIGIL.wad
Process 49153 launched: '/usr/local/bin/dsda-doom' (x86_64)
dsda-doom v0.27.5 (https://github.com/kraflab/dsda-doom/)
dsda-doom is released under the GNU General Public license v2.0.
You are welcome to redistribute it under certain conditions.
It comes with ABSOLUTELY NO WARRANTY. See the file COPYING for details.
Playing: The Ultimate DOOM
adding doom.wad
adding /usr/local/share/games/doom/dsda-doom.wad
adding SIGIL.wad
Using data file directory: /home/petern/.dsda-doom/dsda_doom_data/doom/sigil
Process 49153 stopped
* thread #1, name = 'dsda-doom', stop reason = signal SIGSEGV: invalid address (fault address: 0x555557044e1d)
frame #0: 0x000055555565e1ad dsda-doom`R_PrecacheLevel at r_data.c:578:25
575 }
576 else
577 {
-> 578 hitlist[skytexture] = 1;
579 }
580
581 for (i = numtextures; --i >= 0; )
(lldb) print hitlist
(byte *) $0 = 0x000055555703f8c8 "\U00000001"
(lldb) print skytexture
(int) $1 = 21845
(lldb) print numtextures
(int) $5 = 289
(lldb) quit
Thanks!
Other levels crash too, it's just that the sky is visible from spawn on E5M9 which makes this easier to reproduce.
Are you playing with the compatible version of sigil?
We would want to match the behavior of other compatible ports here if they do not crash, e.g. you could check what Woof does.
Hi, you are correct, I was not using the compat version of Sigil.
On the other hand, I've just built and ran with woof. This does not segfault, it uses the SKY1 texture.
Updated my fix with a simpler commit which just adds a default case to go with gameepisode 1.
Yes, just adding a default case to match woof would be fine 👍