[Bug 36840] Tron 2.0 Demo crashes with "Out of memory" error

wine-bugs at winehq.org wine-bugs at winehq.org
Thu Jul 3 15:31:01 CDT 2014


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

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |download
             Status|UNCONFIRMED                 |NEW
                URL|                            |http://www.fileplanet.com/1
                   |                            |26966/120000/fileinfo/TRON-
                   |                            |2.0-Single-&-Multiplayer-De
                   |                            |mo
                 CC|                            |focht at gmx.net
          Component|-unknown                    |msvcrt
         Depends on|                            |11910
     Ever confirmed|0                           |1

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

confirming.

The error has nothing to do with DirectX/OpenGL.
The problem stems from the use of native 'msvcirt' override due to bug 11910

You can bypass the 'TRON.exe' launcher by passing a command file (generated by
launcher on first run):

--- snip ---
$ pwd
/home/focht/.wine/drive_c/Program Files/Buena Vista Interactive/Tron 2.0 Demo

$ WINEDEBUG=+tid,+seh,+relay,+snoop,+msvcrt wine lithtech.exe -cmdfile
launchcmds.txt >>log.txt 2>&1
...
0024:Ret  PE DLL (proc=0x780a1000,module=0x780a0000
L"MSVCIRT.dll",reason=PROCESS_ATTACH,res=(nil)) retval=1
0024:Call PE DLL (proc=0xaffb9d,module=0x930000
L"cshell.dll",reason=PROCESS_ATTACH,res=(nil)) 
...
0024:CALL MSVCIRT.??0ifstream@@QAE at PBDHH@Z(00000000,000000a0,000001a4,00000001)
ret=009e2be3
0024:Call KERNEL32.InitializeCriticalSection(0033e15c) ret=780a1210
0024:Ret  KERNEL32.InitializeCriticalSection() retval=00000001 ret=780a1210
0024:Call msvcrt.??2 at YAPAXI@Z(00000054) ret=780a373f
0024:Call ntdll.RtlAllocateHeap(00710000,00000000,00000054) ret=7e74dd1b
0024:Ret  ntdll.RtlAllocateHeap() retval=0226c000 ret=7e74dd1b
0024:trace:msvcrt:MSVCRT_operator_new (84) returning 0x226c000
0024:Ret  msvcrt.??2 at YAPAXI@Z() retval=0226c000 ret=780a373f
0024:Call KERNEL32.InitializeCriticalSection(0226c034) ret=780a1210
0024:Ret  KERNEL32.InitializeCriticalSection() retval=00000001 ret=780a1210
0024:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
0024:Call msvcrt.??2 at YAPAXI@Z(00000200) ret=780a3144
0024:Call ntdll.RtlAllocateHeap(00710000,00000000,00000200) ret=7e74dd1b
0024:Ret  ntdll.RtlAllocateHeap() retval=00899d50 ret=7e74dd1b
0024:trace:msvcrt:MSVCRT_operator_new (512) returning 0x899d50
0024:Ret  msvcrt.??2 at YAPAXI@Z() retval=00899d50 ret=780a3144
0024:RET  MSVCIRT.??0ifstream@@QAE at PBDHH@Z() retval=0033e118 ret=009e2be3
0024:CALL
MSVCIRT.?seekg at istream@@QAEAAV1 at JW4seek_dir@ios@@@Z(00000000,00000002)
ret=009e2c0f
0024:Call msvcrt._lseek(0033e0ac,00000000,00000002) ret=780a2ecf
0024:warn:msvcrt:msvcrt_fdtoh :fd (3399852) - no handle!
0024:trace:msvcrt:MSVCRT__lseeki64 :fd (3399852) handle (0xffffffff)
0024:Ret  msvcrt._lseek() retval=ffffffff ret=780a2ecf
0024:RET  MSVCIRT.?seekg at istream@@QAEAAV1 at JW4seek_dir@ios@@@Z() retval=0033e118
ret=009e2c0f
0024:CALL MSVCIRT.?tellg at istream@@QAEJXZ() ret=009e2c19
0024:Call msvcrt._lseek(0033e0ac,00000000,00000001) ret=780a2ecf
0024:warn:msvcrt:msvcrt_fdtoh :fd (3399852) - no handle!
0024:trace:msvcrt:MSVCRT__lseeki64 :fd (3399852) handle (0xffffffff)
0024:Ret  msvcrt._lseek() retval=ffffffff ret=780a2ecf
0024:RET  MSVCIRT.?tellg at istream@@QAEJXZ() retval=ffffffff ret=009e2c19
0024:CALL MSVCIRT._mtlock(0033e15c) ret=009e2c41
0024:RET  MSVCIRT._mtlock() retval=00000000 ret=009e2c41
0024:CALL MSVCIRT._mtunlock(0033e15c) ret=009e2c5c
0024:RET  MSVCIRT._mtunlock() retval=00000000 ret=009e2c5c
0024:CALL MSVCIRT.?seekg at istream@@QAEAAV1 at J@Z(00000000) ret=009e2c6b
0024:Call msvcrt._lseek(0033e0ac,00000000,00000000) ret=780a2ecf
0024:warn:msvcrt:msvcrt_fdtoh :fd (3399852) - no handle!
0024:trace:msvcrt:MSVCRT__lseeki64 :fd (3399852) handle (0xffffffff)
0024:Ret  msvcrt._lseek() retval=ffffffff ret=780a2ecf
0024:RET  MSVCIRT.?seekg at istream@@QAEAAV1 at J@Z() retval=0033e118 ret=009e2c6b
0024:Call msvcrt.??2 at YAPAXI@Z(ffffffff) ret=009e2c71
0024:Call ntdll.RtlAllocateHeap(00710000,00000000,ffffffff) ret=7e74dd1b
0024:Ret  ntdll.RtlAllocateHeap() retval=00000000 ret=7e74dd1b
0024:trace:msvcrt:_lock (9)
0024:Call msvcrt.longjmp(005cd4a4,00000001) ret=0042a1fd
0024:trace:seh:MSVCRT_longjmp buf=0x5cd4a4 ebx=00000000 esi=00400000
edi=00000001 ebp=0033fd78 esp=0033fc34 eip=00404f56 frame=0033fe10
retval=00000001
0024:trace:seh:MSVCRT_longjmp cur_frame=33f230
0024:trace:seh:_global_unwind2 (0x33fe10)
0024:Call ntdll.RtlUnwind(0033fe10,00000000,00000000,00000000) ret=7e73f147
0024:  eax=7e730721 ebx=7e7b3000 ecx=00000000 edx=7bcecbc8 esi=0033dfa0
edi=0033fe10 ebp=0033df88 esp=0033df50 ds=002b es=002b fs=0063 gs=006b
flags=00000202
0024:trace:seh:__regs_RtlUnwind code=c0000027 flags=2
0024:trace:seh:__regs_RtlUnwind calling handler at 0xb09e98 code=c0000027
flags=2
0024:trace:seh:cxx_local_unwind calling unwind handler 0xb09e30 trylevel 0 last
-1 ebp 0x33f23c 
...
0024:Call user32.MessageBoxA(00010020,005ac9bc "Out of memory",00719efd "TRON
2.0 Demo",00000000) ret=0040546a 
--- snip ---

Of course 'new(-1)' shouldn't happen.

'winetricks -q vcrun6' works around.

Maybe native 'msvcirt' relies on 'msvcrt' internal data structures/layout?
Wouldn't be the first time ...

This might be a good chance to add the missing bits to Wine's builtin
'msvcirt', getting rid of these kind of bugs where knowledge of
semi-documented/undocumented implementation is needed.

$ sha1sum trondemo.exe 
86e06ede675601a8abfa0255408be270da68d9ca  trondemo.exe

$ du -sh trondemo.exe 
203M    trondemo.exe

$ wine --version
wine-1.7.21-50-g10e6a66

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