Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Weirdest GZDoom crash relating to phased lighting

Recommended Posts

So I ran across a strange scenario that causes GZDoom to instantly crash when the map loads. It has to do with phased lighting and joined sectors.


GZDoom 2.2.0 is the version used in this case (it's old I know, don't ask).


1) Imagine a star shape with it split into 40 sectors all around, and then matching sectors across from each other are joined, leaving 20.


2) A dummy sector is created outside the map and then split, one half gets joined to part of the star inside the map.


3) The non-joined dummy sector gets Light Sequence Start and the joined one gets Light Sequence Special 1.


4) Then, obviously, alternate between action 3 and 4 (special 1 and 2) until they meet.


Here's where the crash happens. At the meet point of sector 1 and 20 (in the star loop), you end up with action 4 which completes the loop, with action 3 being next. Try to test and boom, crash!  The strange thing is Windows reports the faulting module to be "riched20.dll", never heard of it.


I don't know why it crashes, unless it has something to do with the loop being redirected to a start in the dummy sector, then not knowing how to continue the sequence, or something like that.


Even stranger, I fixed it by deleting the dummy sector outside the map and then changing the meeting sector to be the Light Sequence Start. Somehow, this doesn't crash and even works as intended in the context of this map.


I would post an example which crashes but currently can't. I will try to make an example WAD tomorrow.


PS: I would have posted this on the ZDoom forums but a) I would get crucified for using an old version and the report would get ignored and b) I banned myself.

Share this post

Link to post

riched20.dll - Isn't that a DLL that supports the creation of Windows Rich Textboxes? RichText boxes allow the display/editing of multi-color, multi-font text in a single textbox, with lots of the standard editing features, like alignment, tabstops, numbered and bulleted lines, etc.


Could GZDoom's "crash window" be using a RichText box while showing the crash report? I wouldn't think that would be Linux/Mac-friendly, though...


Now, it doesn't necessarily mean much that that .DLL is being reported. *Any* callback to/from that module, or another module that calls it could cause a crash to occur in that DLL, through no fault of its own.


You should try to obtain and post the entire call stack - there's more happening than that DLL.


And, yes, being on an old version is problematic. At the very least, you should determine which versions exhibit the bug, to at least provide some clue where to begin looking.

Edited by kb1

Share this post

Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now