http://bugs.winehq.org/show_bug.cgi?id=30001
Bug #: 30001 Summary: iw4mp (Call of Duty MW2 mod) loader crashes due to iphlpapi.dll GetAdaptersAddresses not hotpatchable (DECLSPEC_HOTPATCH missing) Product: Wine Version: 1.4-rc5 Platform: x86 OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: iphlpapi AssignedTo: wine-bugs@winehq.org ReportedBy: focht@gmx.net Classification: Unclassified
Hello,
--- snip --- Unhandled Exception: System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt. at Sys_RunInit() wine: Unhandled page fault on write access to 0x7e7fc17b at address 0x9ac6ec0 (thread 0009), starting debugger... Unhandled exception: page fault on write access to 0x7e7fc17b in 32-bit code (0x09ac6ec0). Register dump: CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b EIP:09ac6ec0 ESP:0032fde4 EBP:0032fe1c EFLAGS:00010246( R- -- I Z- -P- ) EAX:00000010 EBX:07214000 ECX:b98b42a0 EDX:ffffffff ESI:7e7fc173 EDI:0032fde8 ... Backtrace: =>0 0x09ac6ec0 (0x0032fe1c) 1 0x074381c1 (0x0032fe34) 2 0x200027b9 in iw4m1 (+0x27b8) (0x0032fe40) 3 0x7b85ea3c call_process_entry+0xb() in kernel32 (0x0032fe58) 4 0x7b85eb82 start_process+0x143(peb=0x7ffdf000) [/home/focht/projects/wine/wine-git/dlls/kernel32/process.c:1083] in kernel32 (0x0032fea8) --- snip ---
The reason is iphlpapi.dll GetAdaptersAddresses API has no hotpatch entry.
Source: http://source.winehq.org/git/wine.git/blob/ce2e7cdc9e2f6e77d6d9a11fafacba1b2...
With that bug fixed, the loader runs further and finally complains about missing "Modern Warfare 2" files so I can't test further.
Regards
http://bugs.winehq.org/show_bug.cgi?id=30001
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |dotnet, download, | |obfuscation URL| |http://www.mediafire.com/?r | |nsrbkx72nlde0h Depends on| |30000
--- Comment #1 from Anastasius Focht focht@gmx.net 2012-02-25 04:41:00 CST --- Hello,
filling fields.
Prerequisites: 'winetricks -q dotnet35'
Regards
http://bugs.winehq.org/show_bug.cgi?id=30001
Bug 30001 depends on bug 30000, which changed state.
Bug 30000 Summary: iw4mp (Call of Duty MW2 mod) loader crashes because some kernel32.dll API entries are not hotpatchable (DECLSPEC_HOTPATCH missing) http://bugs.winehq.org/show_bug.cgi?id=30000
What |Old Value |New Value ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED
http://bugs.winehq.org/show_bug.cgi?id=30001
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |b93c3905b037b3355a91f6f24e4 | |d6cd1e42c34dc Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #2 from Austin English austinenglish@gmail.com 2012-03-08 14:34:48 CST --- http://source.winehq.org/git/wine.git/commitdiff/b93c3905b037b3355a91f6f24e4...
http://bugs.winehq.org/show_bug.cgi?id=30001
Stefan Dösinger stefan@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |stefan@codeweavers.com
--- Comment #3 from Stefan Dösinger stefan@codeweavers.com 2012-03-08 16:12:12 CST --- A random note about that hotpatching thing: When I implemented this feature in gcc I was lazy and only implemented the 5 bytes after the function start. However, Microsoft's documentation says that 5 bytes right before the function should be kept free(nops or int 3s). The MS idea is to replace the 2 byte nop right at the start of the function(mov %edi, %edi) with a relative jump into those 5 bytes, and put the far jump into those 5 bytes. Interestingly all games replace the first 5 bytes behind the function entrypoint instead of following Microsoft's intention.
The main reason why I didn't implement those 5 nop bytes was that I'd have to change gcc's alignment code, making this a trickier task than the part inside the function.
http://bugs.winehq.org/show_bug.cgi?id=30001
--- Comment #4 from Alexandre Julliard julliard@winehq.org 2012-03-16 14:09:16 CDT --- Closing bugs fixed in 1.5.0.
http://bugs.winehq.org/show_bug.cgi?id=30001
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #5 from Alexandre Julliard julliard@winehq.org 2012-03-16 17:11:38 CDT --- Really closing bugs fixed in 1.5.0.
http://bugs.winehq.org/show_bug.cgi?id=30001
André H. nerv@dawncrow.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |nerv@dawncrow.de Target Milestone|--- |1.4.x
--- Comment #6 from André H. nerv@dawncrow.de 2012-03-28 13:43:49 CDT --- nominating for wine-1.4.1
http://bugs.winehq.org/show_bug.cgi?id=30001
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|1.4.x |---