[Bug 40623] DOOM (2016) crashes on launch

wine-bugs at winehq.org wine-bugs at winehq.org
Sat May 14 07:48:20 CDT 2016


https://bugs.winehq.org/show_bug.cgi?id=40623

--- Comment #9 from Johannes Brandstätter <jbrandst at 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.

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.


More information about the wine-bugs mailing list