[Bug 44803] Age of Empires II Forgotten Empires crashes " Unhandled privileged instruction"
wine-bugs at winehq.org
wine-bugs at winehq.org
Mon Apr 1 15:01:16 CDT 2019
https://bugs.winehq.org/show_bug.cgi?id=44803
Anastasius Focht <focht at gmx.net> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |focht at gmx.net
--- Comment #5 from Anastasius Focht <focht at gmx.net> ---
Hello folks,
I can't reproduce this. Multi-player games work fine with:
* Wine 3.4 (initially reported for)
* Wine 3.7
* Wine 4.5 (most recent)
In your attached log it looks like that 'ws2_32.dll.WS_Bind' entry point has
been corrupted. I've checked with my setup and don't see a reason why such
thing could happen. That API entry doesn't get hooked by the game.
Are you sure the WINEPREFIX hasn't been reused with other software
installations, or even worse infected with malware?
Most malware (trojans) love to hook 'ws2_32.dll' .. for reasons ;-)
I run a special build which makes hooking of API entry points easier in case of
no explicit hotpatch prolog. Various app/game hook engines struggle with Wine's
default '-fPIC' entry code or (distro) Gcc settings such as '-fcf-protection'
(ENDBR32).
Started multi-player game (Internet) and attached debugger:
--- snip ---
$ winedbg
Wine-dbg>info process
pid threads executable (all id:s are in hex)
00000027 4 'explorer.exe'
0000000e 5 'services.exe'
00000020 4 \_ 'winedevice.exe'
0000001b 3 \_ 'plugplay.exe'
00000011 4 \_ 'winedevice.exe'
00000008 15 'age2_x2.exe'
00000043 5 \_ 'dplaysvr.exe'
Wine-dbg>attach 0x8
Wine-dbg>info thread
process tid prio (all id:s are in hex)
00000008 (D) C:\Program Files\Microsoft Games\Age of Empires
II\age2_x1\age2_x2.exe
0000004c 15
0000004b 0
00000049 0
00000042 1
00000041 1
00000040 0
0000003f 0
0000003e 15
0000003d 1
00000035 0
00000034 0
00000032 15
00000031 0
00000030 0
00000009 0 <==
Wine-dbg>info share
Module Address Debug info Name (173 modules)
PE 3b0000- 3bb000 Deferred dpnhpast
PE 400000- 7e6000 Export age2_x2
PE f40000- ffa000 Deferred language_x1_p1
PE 9cb0000- 9d2a000 Deferred language
PE 10000000-10053000 Deferred language_x1
PE 5df00000-5df16000 Deferred dpwsockx
PE 5e080000-5e0bb000 Deferred dplayx
ELF 7994a000-79a27000 Deferred crypt32<elf>
\-PE 79960000-79a27000 \ crypt32
ELF 79a27000-79ae2000 Deferred msvcrt<elf>
\-PE 79a50000-79ae2000 \ msvcrt
ELF 79ae2000-79c00000 Deferred quartz<elf>
\-PE 79b10000-79c00000 \ quartz
ELF 79db8000-7a800000 Deferred i965_dri.so
ELF 7a800000-7a949000 Deferred opengl32<elf>
\-PE 7a840000-7a949000 \ opengl32
...
Wine-dbg>disas WS_Bind
0x7deb9080 WS_bind
[/home/focht/projects/wine/mainline-src-3.7/dlls/ws2_32/socket.c:3299] in
ws2_32: leal 0x4(%esp),%ecx
0x7deb9084 WS_bind+0x4
[/home/focht/projects/wine/mainline-src-3.7/dlls/ws2_32/socket.c:3299] in
ws2_32: andl $-16,%esp
0x7deb9087 WS_bind+0x7
[/home/focht/projects/wine/mainline-src-3.7/dlls/ws2_32/socket.c:3299] in
ws2_32: pushl 0xfffffffc(%ecx)
0x7deb908a WS_bind+0xa
[/home/focht/projects/wine/mainline-src-3.7/dlls/ws2_32/socket.c:3299] in
ws2_32: pushl %ebp
0x7deb908b WS_bind+0xb
[/home/focht/projects/wine/mainline-src-3.7/dlls/ws2_32/socket.c:3299] in
ws2_32: movl %esp,%ebp
0x7deb908d WS_bind+0xd
[/home/focht/projects/wine/mainline-src-3.7/dlls/ws2_32/socket.c:3299] in
ws2_32: pushl %ebx
0x7deb908e WS_bind+0xe
[/home/focht/projects/wine/mainline-src-3.7/dlls/ws2_32/socket.c:3299] in
ws2_32: pushl %ecx
0x7deb908f WS_bind+0xf
[/home/focht/projects/wine/mainline-src-3.7/dlls/ws2_32/socket.c:3299] in
ws2_32: subl $0xd0,%esp
0x7deb9095 WS_bind+0x15
[/home/focht/projects/wine/mainline-src-3.7/dlls/ws2_32/socket.c:3299] in
ws2_32: movl %ecx,%ebx
0x7deb9097 WS_bind+0x17
[/home/focht/projects/wine/mainline-src-3.7/dlls/ws2_32/socket.c:3300] in
ws2_32: subl $4,%esp
...
--- snip ---
The entry point is untouched and valid code.
And yes, it gets called multiple times.
$ wine --version
wine-4.5
Regards
--
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