Bug Tracker – Bug 1236

Client crash after pressing switch in Valiant.wad

Last modified: 2020-04-05 16:44:52 UTC
Bug 1236 - Client crash after pressing switch in Valiant.wad
Summary: Client crash after pressing switch in Valiant.wad
Status: NEW
Alias: None
Product: Odamex
Classification: Unclassified
Component: Client (show other bugs)
Version: 0.7.x (Old)
Hardware: Other Other
: P5 major
Assignee: Odamex Bug Reporter
Depends on:
Reported: 2018-12-30 16:47 UTC by Ralph Vickers
Modified: 2020-04-05 16:44 UTC (History)
4 users (show)

See Also:


Crash dump (321.09 KB, application/octet-stream)
2018-12-30 16:47 UTC, Ralph Vickers
Error seen in GZDoomBuilder (111.82 KB, image/jpeg)
2019-01-05 08:53 UTC, Maëllig Desmottes
Add an attachment (proposed patch, testcase, etc.)

Note You need to log in before you can comment on or make changes to this bug.
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.

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.