https://bugs.winehq.org/show_bug.cgi?id=40623
--- Comment #9 from Johannes Brandstätter jbrandst@2ds.eu --- I was curious and tried to dig a little deeper. But it's not something I'm used to do, so I may be completely wrong.
As there is no obvious debug output and the backtrace isn't really meaningful, at least to me it isn't, I tried to find out what happened before the crash.
The AMD64 ABI says that %rbp+8 is the return address, in our case that would end up being 0x33fe40+8, looking at that stack location I found 0x7bc98433, which pointed me to ntdll, more specifically to RtlUnwind(). But I'm not even sure what applies here, Windows x64 ABI, or AMD64 ABI, anyway it seems to have helped. :)
Oh, so maybe it's crashing while handling an exception? So my next step was to set the wine debug output to +seh and this is what I was presented with:
0063:trace:seh:raise_exception code=80000004 flags=0 addr=0x159e2c7e0 ip=159e2c7e0 tid=0063 0063:trace:seh:raise_exception rax=000000000003f1b0 rbx=000000000006f040 rcx=fffffffffffffffe rdx=0000000000000000 0063:trace:seh:raise_exception rsi=000000015a068211 rdi=000000000006f2ee rbp=000000000033fe40 rsp=000000000032fa38 0063:trace:seh:raise_exception r8=000000000032f6e8 r9=0000000000000000 r10=0000000000000008 r11=0000000000000246 0063:trace:seh:raise_exception r12=00000001580b8151 r13=0000000000000000 r14=000000007b47b120 r15=00007fffff7e8000 0063:trace:seh:call_vectored_handlers calling handler at 0x15828be60 code=80000004 flags=0 0063:trace:seh:call_vectored_handlers handler at 0x15828be60 returned ffffffff 0063:trace:seh:raise_exception code=c0000005 flags=0 addr=(nil) ip=0 tid=0063 0063:trace:seh:raise_exception info[0]=0000000000000000 0063:trace:seh:raise_exception info[1]=0000000000000000 0063:trace:seh:raise_exception rax=000000000032fa58 rbx=000000000006f040 rcx=ffffffff80000001 rdx=0000000159ddce20 0063:trace:seh:raise_exception rsi=0000000000000000 rdi=0000000000000000 rbp=000000000033fe40 rsp=000000000032edb8 0063:trace:seh:raise_exception r8=0000000000000000 r9=0000000000020219 r10=00000000000402f8 r11=0000000000000246 0063:trace:seh:raise_exception r12=00000001580b8151 r13=0000000158af04c0 r14=000000007b47b120 r15=00007fffff7e8000 0063:warn:seh:call_stack_handlers exception data not found in L"DOOMx64.exe"
If I interpret this correctly, there is an exception with code 80000004 thrown at 0x159e2c7e0, which in turn is handled by 0x15828be60. The exception handler returns 0xffffffff and "immediately" after that it throws another exception, this time it's a segfault (c0000005). And I think this is the crash that we see in the backtrace, no address, and the instruction pointer also at 0.
I'm sure there are other more experienced developers around to help out, or may give a hint what could cause something like this. I also run a +relay, but as one has to run this via Steam the log is just enormous and I couldn't identify any issues, but those could be easily overlooked.
Currently I'm stuck here, any help would be appreciated.