Bug Tracker – Full Text Bug Listing

Bug 1236

Summary: Client crash after pressing switch in Valiant.wad
Product: Odamex Reporter: Ralph Vickers <Ralphis>
Component: ClientAssignee: Odamex Bug Reporter <odamex-bug-reporter>
Status: NEW ---    
Severity: major CC: alexmax2742, Ch0wW, odamex-bug-reporter, stlaurent.nicholas
Priority: P5    
Version: 0.7.x (Old)   
Hardware: Other   
OS: Other   
Attachments: Crash dump
Error seen in GZDoomBuilder

Description Ralph Vickers 2018-12-30 16:47:09 UTC
Created attachment 562 [details]
Crash dump

Git build: e307cc1a. Hard crash after pressing the first switch in valiant.wad MAP01. You can noclip right through the first door and up to the platform on the right to activate the switch, which results in a hard crash. Happens reliably. Crash dump is attached.

https://www.doomworld.com/idgames/levels/doom2/Ports/megawads/valiant
Comment 1 Maƫllig Desmottes 2019-01-05 08:53:05 UTC
Created attachment 565 [details]
Error seen in GZDoomBuilder

After debugging it, the problem has been reported in 

bool P_SetMobjState(AActor *mobj, statenum_t state, bool cl_update).

After checking Valiant MAP01 in Doom Builder, I noticed this happened because of a voodoo doll.
Comment 2 Nick 2019-02-11 19:51:21 UTC
This happens because of the custom pinky in the closet. It looks like it's a dehacked parsing issue because the state it's attempting to set is an invalid number (1074) which overflows the state buffer which is size 1005.
Comment 3 Alexander Mayfield 2020-04-05 16:44:52 UTC
This is actually happening because the DeHackEd is referring to a state frames in the global state table that does not exist in Odamex.

MBF has a number of extra frames in this table that handle states for things like the Helper Dog and the Beta BFG.  Odamex simply does not have as many states in this table, despite having some ZDoom items and the CTF flags.