Page 1 of 2

[GZDoom 3.5.x]Crash: Abandoned Misery

Posted: Sun Oct 07, 2018 7:43 pm
by Siberian Tiger
I seem to have reached an issue where GZDoom will crash out. I am unable to explain as to what or why this happens, but I have recorded my session in hopes that it can help out a bit.

Steps to reproduce:
  • Start the engine with Abandoned Misery
  • Go to MAP01
  • View around the map
    • I know of only two places that can cause a crash which is demonstrated in the video.

Resources:
Crash Report
CrashReport.zip
Crashout that occurs at the very end of the video
(28.02 KiB) Downloaded 43 times
Video Demonstration:
Removed

Abandoned Misery Download

Re: [GZDoom 3.5.x]Crash: Abandoned Misery

Posted: Sun Oct 07, 2018 11:47 pm
by Kappes Buur
This looks like a compatibility issue.
I have this graphics card and driver

Running your pwad with
  • gzdoom-x64-g3.4pre-385
  • gzdoom-x64-g3.5pre-103
  • gzdoom-x64-g3.6pre-94
did not result in a crash for me.

Re: [GZDoom 3.5.x]Crash: Abandoned Misery

Posted: Mon Oct 08, 2018 12:04 am
by Rachael
I'm not getting a crash either.

I don't know for sure but I almost want to pin it on hardware overheating. I remember when I had an ATI Radeon HD2400 from good ol' Wally World about 10 or so years ago it did this kind of thing occasionally.

I do notice, however, when I enter that specific area in the video, that my fans kick up quite a bit. I haven't run the performance monitor to see whether it's my CPU or my GPU heating up, but that still tells me a lot right there.

Re: [GZDoom 3.5.x]Crash: Abandoned Misery

Posted: Mon Oct 08, 2018 12:15 am
by Graf Zahl
A 'bench' printout of the view in question might tell whether it's the CPU or GPU.

Re: [GZDoom 3.5.x]Crash: Abandoned Misery

Posted: Mon Oct 08, 2018 2:08 am
by Rachael

Code: Select all

Map MAP01: "Abandoned Misery",
x = -1892.6207, y = 393.2096, z = 41.0000, angle = -63.0176, pitch = 8.0420
Walls: 4252 (0 splits, 61 t-splits, 9936 vertices)
Flats: 2732 (2732 primitives, 46341 vertices)
Sprites: 10537, Decals=0, Portals: 12
BSP = 1.069, Clip=1.536
W: Render=2.753, Setup=2.589
F: Render=1.904, Setup=0.510
S: Render=7.784, Setup=6.351
2D: 0.087 Finish3D: 0.180
All=39.392, Render=19.009, Setup=12.064, Portal=0.170, Drawcalls=0.370, Postprocess=1.322, Finish=7.007
DLight - Walls: 2412 processed, 6438 rendered - Flats: 5698 processed, 0 rendered
18 fps


Re: [GZDoom 3.5.x]Crash: Abandoned Misery

Posted: Mon Oct 08, 2018 3:20 am
by Graf Zahl
Hard to tell. Both are over the limit here.

Re: [GZDoom 3.5.x]Crash: Abandoned Misery

Posted: Mon Oct 08, 2018 3:44 am
by Rachael
It's an extremely detailed section of the map. I am not surprised both processors are working hard to render it. As you can see on the bench printout, my FPS tanks there.

Re: [GZDoom 3.5.x]Crash: Abandoned Misery

Posted: Mon Oct 08, 2018 5:13 am
by Graf Zahl
The main issue here is not map geometry but sprites, which also explains why the GPU also maxes out. 10000 sprites can give the entire engine a thorough workout and definitely cause some overheating.

Re: [GZDoom 3.5.x]Crash: Abandoned Misery

Posted: Mon Oct 22, 2018 2:01 am
by Siberian Tiger
I've played a bit with the map and I might have found the problem-child. Using the same resources, I was able to find that there seems to be a problem with the

Code: Select all

Sector_SetPlaneReflection(tag,floor,ceiling);
This statement is used to provide a reflection from the ceiling sector, however - it seems it is doing a bit more than that purpose. I have provided three builds, two images, and a demonstration video. All of the resources are used from the video, but is available to you for testing. In addition, I have noticed that builds before GZDoom 3.5.0 seemed to work just fine. After the video, I decided to check the following versions of GZDoom: 2.2.0, 3.0.0, 3.2.5, 3.3.0, 3.4.0, 3.4.1, 3.5.0, 3.5.1, 3.6.0, 3.6.0 [vintage]. All of the builds before 3.5.0 worked just fine, though with minor freakouts unrelated to the main issue. The build 3.5.0 and later, I can easily reproduce the crash.

I hope this helps in some degree.

Resources:
Custom AMisery Builds Images System Information Video:
Removed

Bug Report
CrashReport.zip
Crash Report - Pi/2 view point; mentioned end of video
(28.13 KiB) Downloaded 37 times

Tested GZDoom Builds with Crashout
  • 3.5.0 [x86|x64]
  • 3.5.1 [x86|x64]
  • 3.6.0 [x86|x64]
  • 3.6.0 [Vintage]

Re: [GZDoom 3.5.x]Crash: Abandoned Misery

Posted: Mon Oct 22, 2018 2:57 am
by drfrag
I could not reproduce the crash either. That's a 20 minute video, so which builds are supposed to crash? All of them?
You could try with LZDoom, that may be could help to know what's going on.
https://github.com/drfrag666/gzdoom/rel ... b1_x64.zip

Re: [GZDoom 3.5.x]Crash: Abandoned Misery

Posted: Mon Oct 22, 2018 7:45 am
by Siberian Tiger
I decided to try that section on my Surface Pro 4 tablet, GZDoom doesn't seem to crash - but instead it is completely unresponsive. In addition, I am still able to get the same visual abnormalities on different systems. At this point, I don't know what more I can do. If there is something that you want me to test or to try out, please let me know.

drfrag wrote:That's a 20 minute video, so which builds are supposed to crash? All of them?
The post I provided states that Build 3.5.0 and later causes issues, any build before 3.5.0 and after 2.2.0 - works just fine.
drfrag wrote:You could try with LZDoom, that may be could help to know what's going on.
Abandoned Misery requires the OpenGL renderer, but otherwise - I can try it later tonight.


EDIT:
Fixed a typo on the versions. "Any build before 2.5.0", it was supposed to be "Any build before 3.5.0". My apologize for that small confusion.

Re: [GZDoom 3.5.x]Crash: Abandoned Misery

Posted: Mon Oct 22, 2018 7:53 am
by Rachael
LZDoom is still the OpenGL renderer, just the 3.3 version of it from before the 2D refactor.

Re: [GZDoom 3.5.x]Crash: Abandoned Misery

Posted: Mon Oct 22, 2018 8:02 am
by drfrag
Siberian Tiger wrote:Test 1 Build (Lobby Without Reflection)
Test 2 Build (All focused reflections are disabled)
Test 3 Build (Only the trouble sectorRef. reflection is disabled)
I was referring to these "builds".
Siberian Tiger wrote:Abandoned Misery requires the OpenGL renderer, but otherwise - I can try it later tonight.
Exactly, what Rachael said. LZDoom defaults to software but has the 3.3.x GL renderer with later additions, i want to to know if it's something i cherry-picked or the result of some refactoring.

Re: [GZDoom 3.5.x]Crash: Abandoned Misery

Posted: Mon Oct 22, 2018 8:08 am
by Siberian Tiger
drfrag wrote:I was referring to these "builds".
I would have to take another look at the video again, but I don't remember any of the builds causing a crash due to some manipulation of altering the

Code: Select all

Sector_SetPlaneReflection(int, int, int);
I will check the video again once I have some spare time later today.
Rachael wrote:LZDoom is still the OpenGL renderer, just the 3.3 version of it from before the 2D refactor.
drfrag wrote:Exactly, what Rachael said. LZDoom defaults to software but has the 3.3.x GL renderer with later additions, i want to to know if it's something i cherry-picked or the result of some refactoring.
Gotcha, I will test it out when I get home later tonight.

Re: [GZDoom 3.5.x]Crash: Abandoned Misery

Posted: Mon Oct 22, 2018 12:36 pm
by Siberian Tiger
Siberian Tiger wrote:
drfrag wrote:I was referring to these "builds".
I would have to take another look at the video again, but I don't remember any of the builds causing a crash due to some manipulation of altering the

Code: Select all

Sector_SetPlaneReflection(int, int, int);
I will check the video again once I have some spare time later today.
I had a quick moment to familiarize myself with the video and the testing builds. The custom amisery builds alters which sector has the following statement enabled or disabled:

Code: Select all

Sector_SetPlaneReflection();
  • Test 1 [MAP01]
    • The main hall or lobby Sector_SetPlaneReflection() is disabled. No crash occurs
  • Test 2 [MAP01]
    • All focused Sector_SetPlaneReflection() is disabled; the outside area, the main hall\lobby, and the spot that causes the crash. No crash occurs.
  • Test 3 [MAP01]
    • Only the area that causes crash - has the Sector_SetPlaneReflection() disabled. No crash occurs.
  • Amisery [MAP01]
    • Sector_SetPlaneReflection() is heavily used and problems occur causing the engine to crashout. Crash occurs here.

I will try out LZDoom later tonight.