https://bugs.winehq.org/show_bug.cgi?id=36840 Anastasius Focht <focht(a)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(a)gmx.net Component|-unknown |msvcrt Depends on| |11910 Ever confirmed|0 |1 --- Comment #1 from Anastasius Focht <focht(a)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(a)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(a)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(a)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(a)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(a)YAPAXI@Z() retval=00899d50 ret=780a3144 0024:RET MSVCIRT.??0ifstream@@QAE(a)PBDHH@Z() retval=0033e118 ret=009e2be3 0024:CALL MSVCIRT.?seekg(a)istream@@QAEAAV1(a)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(a)istream@@QAEAAV1(a)JW4seek_dir@ios@@@Z() retval=0033e118 ret=009e2c0f 0024:CALL MSVCIRT.?tellg(a)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(a)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(a)istream@@QAEAAV1(a)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(a)istream@@QAEAAV1(a)J@Z() retval=0033e118 ret=009e2c6b 0024:Call msvcrt.??2(a)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.