Page 1 of 3

Crash (Thread Split)

Posted: Wed Oct 19, 2016 8:45
by Tiger
Looks like my previous projects [1][2] crash this engine in a horrible way.... I don't know if it is ZDoom's latest commits, an issue with QZDoom itself, or maybe I shouldn't run OpenGL stuff in the software renderer and test out the multithreading. :P

Re: QZDoom - Version 0.1 is now out!

Posted: Wed Oct 19, 2016 9:02
by Rachael
Can you post some crash logs? :)

Also, I can't get it to crash, myself.

If you can't get any crash logs - try the 32-bit version. Most of the time, it has a better chance of spawning the actual crash logger.

Re: QZDoom - Version 0.1 is now out!

Posted: Wed Oct 19, 2016 9:11
by Tiger
Eruanna wrote:Can you post some crash logs? :)
Sure, I can do that some time later today. Too tired right now :P

Re: QZDoom - Version 0.1 is now out!

Posted: Thu Oct 20, 2016 4:50
by Tiger
Here we go. It seems TGRDM3 just causes three types of crashes: Fatal drawer error: DrawColumnHorizRGBACommand, Fatal drawer error: DrawColumnRt1LLVMCommand - dest_y = 350, count = 5, flags = 1, and lastly - hard-crashes with no info and ultimately hangs for awhile. When I have some spare time, I will try to write a formal bug report. To gather what information I have, I used the x86_64 builds, but I'll take your advice on using the x86 when writing the reports.

Map Issue List
  • AMISERY
  • MAP04
  • MAP14

Re: QZDoom - Version 0.1 is now out!

Posted: Thu Oct 20, 2016 5:09
by Rachael
What is your CPU model? Please invoke Win+R -> "devmgmt.msc" in Windows, expand "Processors", right click on any of your processor cores and select "Properties", look for "Friendly Name" in the drop-down box, right-click on the value and "Copy" it - and then paste that exact string here.

Re: QZDoom - Version 0.1 is now out!

Posted: Thu Oct 20, 2016 11:52
by Tiger
Eruanna wrote:What is your CPU model? Please invoke Win+R -> "devmgmt.msc" in Windows, expand "Processors", right click on any of your processor cores and select "Properties", look for "Friendly Name" in the drop-down box, right-click on the value and "Copy" it - and then paste that exact string here.
Here you go; hopefully this is what you're looking for?
IvyBridge.png

Re: QZDoom - Version 0.1 is now out!

Posted: Thu Oct 20, 2016 16:13
by Rachael
Tiger wrote:Here you go; hopefully this is what you're looking for?
IvyBridge.png
Well - that'll work too. That's strange, your processor is nearly the same as mine, except a bit older (and faster). But otherwise, mostly identical.

Comparison: 3770k 4710HQ

So the crashes most likely aren't related to the processor itself... I'm going to split this into a bug report, I doubt there's anything that can really be done about it, but we'll see. Maybe it's just LLVM fluking out somehow.

@Tiger: While I am thinking about it - does it crash in ZDoom, itself?

Re: Crash (Thread Split)

Posted: Thu Oct 20, 2016 19:47
by Tiger
Eruanna wrote:@Tiger: While I am thinking about it - does it crash in ZDoom, itself?
Is there a particular or relative ZDoom development build you would like me to test or should I just cling to the latest stable build - 2.8.1?

Re: Crash (Thread Split)

Posted: Thu Oct 20, 2016 20:12
by dpJudas
Hmm, so far all the CPUs crashing haven't had AVX-2. So there's still the chance its a codegen issue where LLVM outputs AVX-2 instructions where it shouldn't. We can rule out the core count theory now tho, because this CPU has the same cores and threads as ours.

Re: Crash (Thread Split)

Posted: Thu Oct 20, 2016 21:01
by dpJudas
Okay, I've changed how it creates the LLVM execution engine that gives me a little hope this may have been fixed. If not, it now writes out in the boot information which CPU that LLVM targets.

Re: Crash (Thread Split)

Posted: Thu Oct 20, 2016 21:09
by Rachael
dpJudas wrote:Okay, I've changed how it creates the LLVM execution engine that gives me a little hope this may have been fixed. If not, it now writes out in the boot information which CPU that LLVM targets.
I'll compile a build just for this fix.

Re: Crash (Thread Split)

Posted: Thu Oct 20, 2016 21:29
by dpJudas
Excellent. Thanks. This is probably the biggest problem QZDoom has right now as it might mean anyone with a CPU older than 3-4 years can't run it without crashes.

Re: Crash (Thread Split)

Posted: Thu Oct 20, 2016 22:01
by Rachael
You're welcome. Well if the CPU thing is that big of an issue, it might be worth considering releasing 0.1.1 just for this fix. But let's see if people come back and tell us it stopped crashing, first. :)

Re: Crash (Thread Split)

Posted: Fri Oct 21, 2016 1:14
by Tiger
I am not sure if this helps, but I tested out 'QZDoom-q0.2pre-19-g1cd27ca-x64.7z' and sadly I still hit an issue:

Code: Select all

**** DIED WITH FATAL ERROR:
Fatal drawer error: DrawColumnRt1LLVMCommand
dest_y = 426, count = 9, flags = 1
Spoiler: Logfile

Re: Crash (Thread Split)

Posted: Fri Oct 21, 2016 2:05
by Rachael
For dpJudas's reference, this is the LLVM info I get:

Code: Select all

CPU speed: 2494 MHz
CPU Vendor ID: GenuineIntel
  Name: Intel(R) Core(TM) i7-4710HQ CPU @ 2.50GHz
  Family 6, Model 60, Stepping 3
  Features: MMX SSE SSE2 SSE3 SSSE3 SSE4.1 SSE4.2
I_InitSound: Initializing FMOD
FMOD Sound System, copyright ⌐ Firelight Technologies Pty, Ltd., 1994-2009.
Loaded FMOD version 4.44.60
LLVM target triple: x86_64-pc-windows-msvc
LLVM target CPU: haswell
This is the computer I compile on: (Yes, I know it's old...) - for informational purposes, it does not crash nor did it crash for q0.1.

Code: Select all

CPU speed: 2926 MHz
CPU Vendor ID: GenuineIntel
  Name: Intel(R) Core(TM) i7 CPU 940 @ 2.93GHz
  Family 6, Model 26, Stepping 4
  Features: MMX SSE SSE2 SSE3 SSSE3 SSE4.1 SSE4.2
I_InitSound: Initializing FMOD
FMOD Sound System, copyright ⌐ Firelight Technologies Pty, Ltd., 1994-2009.
Loaded FMOD version 4.44.60
LLVM target triple: x86_64-pc-windows-msvc
LLVM target CPU: nehalem