[Bug 39007] Need for Speed Most Wanted 2012 crashes on startup ('IDXGIOutput::GetDesc' is a stub)

wine-bugs at winehq.org wine-bugs at winehq.org
Sun Aug 2 05:28:52 CDT 2015


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

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
                 CC|                            |focht at gmx.net
          Component|-unknown                    |directx-d3d
         Resolution|---                         |DUPLICATE
            Summary|Need for Speed Most Wanted  |Need for Speed Most Wanted
                   |2012 crashes on startup     |2012 crashes on startup
                   |                            |('IDXGIOutput::GetDesc' is
                   |                            |a stub)

--- Comment #2 from Anastasius Focht <focht at gmx.net> ---
Hello folks,

confirming, dupe of bug 32006

The crash is caused by crappy error handling, resulting from
'IDXGIOutput::GetDesc' method stub.

--- snip ---
$ pwd
/home/focht/.wine/drive_c/Program Files/Electronic Arts/Need for Speed_ Most
Wanted

$ WINEDEBUG=+tid,+seh,+relay,+d3d,+dxgi wine ./NFS13.exe >>log.txt 2>&1
...
0027:Call KERNEL32.GetSystemInfo(0032f750) ret=004128d3
0027:Ret  KERNEL32.GetSystemInfo() retval=0032f750 ret=004128d3
0027:Call dxgi.CreateDXGIFactory1(00f691a8,0032f410) ret=00403804
0027:trace:dxgi:CreateDXGIFactory1 riid {770aae78-f26f-4dba-a829-253c83d1b387},
factory 0x32f410 
...
0027:Ret  dxgi.CreateDXGIFactory1() retval=00000000 ret=00403804
0027:trace:dxgi:dxgi_factory_EnumAdapters1 iface 0x148f70, adapter_idx 0,
adapter 0x32f40c.
0027:trace:dxgi:dxgi_adapter_AddRef 0x149330 increasing refcount to 2.
0027:trace:dxgi:dxgi_factory_EnumAdapters1 Returning adapter 0x149330.
0027:trace:dxgi:dxgi_adapter_GetDesc1 iface 0x149330, desc 0x32f420.
0027:Call
wined3d.wined3d_get_adapter_identifier(001494a0,00000000,00000000,0032f370)
ret=7efeb013
0027:trace:d3d:wined3d_get_adapter_identifier wined3d 0x1494a0, adapter_idx 0,
flags 0, identifier 0x32f370.
0027:Ret  wined3d.wined3d_get_adapter_identifier() retval=00000000 ret=7efeb013
0027:Call KERNEL32.MultiByteToWideChar(00000000,00000000,0032f2f0 "NVIDIA
GeForce GT 420",ffffffff,0032f420,00000080) ret=7efeb068
0027:Ret  KERNEL32.MultiByteToWideChar() retval=00000016 ret=7efeb068
0027:trace:dxgi:dxgi_adapter_EnumOutputs iface 0x149330, output_idx 0, output
0x32f380.
0027:trace:dxgi:dxgi_output_AddRef 0x148d28 increasing refcount to 2.
0027:trace:dxgi:dxgi_adapter_EnumOutputs Returning output 0x32f380.
0027:fixme:dxgi:dxgi_output_GetDesc iface 0x148d28, desc 0x32f398 stub!
0027:trace:dxgi:dxgi_output_Release 0x148d28 decreasing refcount to 1.
0027:trace:dxgi:dxgi_adapter_Release 0x149330 decreasing refcount to 1.
0027:trace:dxgi:dxgi_factory_Release 0x148f70 decreasing refcount to 0.
0027:trace:dxgi:dxgi_adapter_Release 0x149330 decreasing refcount to 0.
0027:trace:dxgi:dxgi_output_Release 0x148d28 decreasing refcount to 0.
...
0027:Call wined3d.wined3d_decref(001494a0) ret=7efedcd0
0027:trace:d3d:wined3d_decref 0x1494a0 decreasing refcount to 0.
...
0027:Ret  wined3d.wined3d_decref() retval=00000000 ret=7efedcd0
..
0027:Call KERNEL32.GetSystemInfo(0032f524) ret=00412652
0027:Ret  KERNEL32.GetSystemInfo() retval=0032f524 ret=00412652
0027:Call KERNEL32.GetVersionExA(0032f6bc) ret=0041200f
0027:Ret  KERNEL32.GetVersionExA() retval=00000001 ret=0041200f
0027:Call KERNEL32.GetCurrentDirectoryA(00000104,0032f5b8) ret=00412065
0027:Ret  KERNEL32.GetCurrentDirectoryA() retval=0000003c ret=00412065
0027:Call KERNEL32.GetLastError() ret=00ed1da4
0027:Ret  KERNEL32.GetLastError() retval=00000000 ret=00ed1da4
0027:Call KERNEL32.GetLastError() ret=00ed1da4
0027:Ret  KERNEL32.GetLastError() retval=00000000 ret=00ed1da4
0027:trace:seh:raise_exception code=c0000005 flags=0 addr=0x411bfc ip=00411bfc
tid=0027
0027:trace:seh:raise_exception  info[0]=00000000
0027:trace:seh:raise_exception  info[1]=00000050
0027:trace:seh:raise_exception  eax=019d0050 ebx=00000000 ecx=00000000
edx=00000048 esi=0032fa14 edi=00000000
0027:trace:seh:raise_exception  ebp=0032fe30 esp=0032f724 cs=0023 ds=002b
es=002b fs=0063 gs=006b flags=00010246
0027:trace:seh:call_stack_handlers calling handler at 0xec7e70 code=c0000005
flags=0 
...
Unhandled exception: page fault on read access to 0x00000050 in 32-bit code
(0x00411bfc).
Register dump:
 CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
 EIP:00411bfc ESP:0032f724 EBP:0032fe30 EFLAGS:00010246(  R- --  I  Z- -P- )
 EAX:019d0050 EBX:00000000 ECX:00000000 EDX:00000048
 ESI:0032fa14 EDI:00000000
...
Backtrace:
=>0 0x00411bfc in nfs13 (+0x11bfc) (0x0032fe30)
  1 0x7b86e6dc call_process_entry+0xb() in kernel32 (0x0032fe48)
...
0x00411bfc: movl    0x50(%edi),%eax
Modules:
Module    Address            Debug info    Name (144 modules)
PE      400000- 17a9000    Export          nfs13
ELF    7a800000-7a939000    Deferred        opengl32<elf>
  \-PE    7a840000-7a939000    \               opengl32
ELF    7b800000-7ba71000    Dwarf           kernel32<elf>
  \-PE    7b820000-7ba71000    \               kernel32
ELF    7bc00000-7bd03000    Dwarf           ntdll<elf>
  \-PE    7bc20000-7bd03000    \               ntdll 
...
Threads:
process  tid      prio (all id:s are in hex) 
...
00000026 (D) C:\Program Files\Electronic Arts\Need for Speed_ Most
Wanted\NFS13.exe
    00000028    0
    00000027    0 <== 
--- snip ---

Source:
https://source.winehq.org/git/wine.git/blob/3fe5d9b6d2e592c4635e1aaf9a64001492baf90e:/dlls/dxgi/output.c#l122

--- snip ---
 122 static HRESULT STDMETHODCALLTYPE dxgi_output_GetDesc(IDXGIOutput *iface,
DXGI_OUTPUT_DESC *desc)
 123 {
 124     FIXME("iface %p, desc %p stub!\n", iface, desc);
 125 
 126     return E_NOTIMPL;
 127 }
--- snip ---

Tidbit: The game is protected by Ubisoft/VMProtect DRM scheme which doesn't
like being debugged .. but that's not a big deal ;-)

--- snip ---
-=[ ProtectionID v0.6.6.7 DECEMBER]=-
(c) 2003-2015 CDKiLLER & TippeX
Build 24/12/14-22:48:13
Ready...
Scanning -> C:\Program Files\Electronic Arts\Need for Speed_ Most
Wanted\NFS13.exe
File Type : 32-Bit Exe (Subsystem : Win GUI / 2), Size : 5814784 (058BA00h)
Byte(s)
Compilation TimeStamp : 0x506EF77F -> Fri 05th Oct 2012 15:06:39 (GMT)
[TimeStamp] 0x506EF77F -> Fri 05th Oct 2012 15:06:39 (GMT) | PE Header | - |
Offset: 0x000000F8 | VA: 0x004000F8 | -
[!] Executable uses TLS callbacks (1 total... 0 invalid addresses)
[!] Executable uses SEH Tables (/SAFESEH) (1351 calculated 1351 recorded... 0
invalid addresses)
[File Heuristics] -> Flag #1 : 00000000000001001100001100000011 (0x0004C303)
[Entrypoint Section Entropy] : 7.94 (section #5) "3DMGAME1" | Size : 0x56CA64
(5687908) byte(s)
[DllCharacteristics] -> Flag : (0x8100) -> DEP | TSA
[SectionCount] 7 (0x7) | ImageSize 0x13A9000 (20615168) byte(s)
[Export] 0% of function(s) (0 of 1) are in file | 0 are forwarded | 0 code | 0
data | 0 uninit data | 0 unknown |
[VersionInfo] Company Name : Electronic Arts
[VersionInfo] Product Name : Need for Speed™ Most Wanted
[VersionInfo] Product Version : 1. 0. 0. 0
[VersionInfo] File Description : Need for Speed™ Most Wanted
[VersionInfo] File Version : 1. 0. 0. 0
[VersionInfo] Original FileName : NFS13.exe
[VersionInfo] Internal Name : Need for Speed™ Most Wanted
[VersionInfo] Legal Copyrights : © 2012 Electronic Arts Inc. All Rights
Reserved
[!] Ubisoft UBX detected !
[!] VM Protect v2.06 (or newer) detected !
[CompilerDetect] -> Borland Delphi (unknown version) - 20% probability
- Scan Took : 1.430 Second(s) [000000622h (1570) tick(s)] [499 of 573 scan(s)
done]
--- snip ---

$ wine --version
wine-1.7.48-76-g8c0792c

Regards

*** This bug has been marked as a duplicate of bug 32006 ***

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