[Bug 48171] Call of Duty: Modern Warfare (2019) exception

WineHQ Bugzilla wine-bugs at winehq.org
Mon Jun 22 14:23:28 CDT 2020


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

Richard Yao <ryao at gentoo.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ryao at gentoo.org

--- Comment #8 from Richard Yao <ryao at gentoo.org> ---
Since this affects a friend of mine, I took a brief look at it. The issue is
occurring inside gdi32.dll, so I disassembled proton 5.0's gdi32.dll on the
assumption that it might yield something interesting. It certainly did:

Running `objdump -d --adjust-vma=0x036c0000
"${HOME}/.steam/steam/SteamApps/common/Proton
5.0/dist/lib64/wine/gdi32.dll.so"` gives, among other things, this:

Disassembly of section .init:

00000000036d0eb0 <.init>:
 36d0eb0:       48 83 ec 08             sub    $0x8,%rsp
 36d0eb4:       e8 d3 14 01 00          callq  36e238c <_end@@Base+0x3532e9c>
 36d0eb9:       e9 00 10 01 00          jmpq   36e1ebe <_end@@Base+0x35329ce>
        ...
 36e1ebe:       e8 dd f0 0a 00          callq  3790fa0 <_end@@Base+0x35e1ab0>
 36e1ec3:       48 83 c4 08             add    $0x8,%rsp
 36e1ec7:       c3                      retq

The the exception is occuring at 0x36d1a90 (or 0x36d1a91), which is in no man's
land, but is inside the .init section. What goes into this space and how it is
called has something to do with how DLLs are dynamically linked in Wine. There
is an int3 instruction inside it, but very few things in wine use int3. I don't
offhand know what to make of this.

Also, the DLL itself has a strange series of int3 instructions at the end of
StretchBlt@@Base. I don't know what to make of it. It is not obvious from the C
code how it got there. Nothing in the diassembly appears to be able to call
them and they seem to be unrelated to the int3 instruction that is breaking
this.

Perhaps things would be more clear if I delved deeper, but I don't have time
for that. I thought I'd share my findings as they probably would help those who
have time or are more familiar with wine internals.

-- 
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