http://bugs.winehq.org/show_bug.cgi?id=4571
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords|source | CC| |focht@gmx.net Summary|user32:Windows program |Ripp-It_AM app crashes |crashes (in |after clicking "Re-encoder |user/sysparams.c) after |un film" button |clic a button |(SetSysColors needs SEH to | |protect against bad | |behaving apps)
--- Comment #10 from Anastasius Focht focht@gmx.net 2011-04-29 11:01:11 CDT --- Hello,
still present.
http://www.ripp-it.org/miroir/9NAlGWshqGWtXVE61d6R5x8VraT1SM/RI4M_v501d_setu...
$ wine --version wine-1.3.18-312-ge594268
$ sha1sum RI4M_v501d_setup.exe d53ad0d7bfad8aef4c2e0060a1cfec41832f582a RI4M_v501d_setup.exe
The app is wrapped with PE protection:
--- snip --- Scanning -> H:.wine\drive_c\Program Files\Ripp-it_AM\Ripp-it_AM.exe File Type : 32-Bit Exe (Subsystem : Win GUI / 2), Size : 7494782 (0725C7Eh) Byte(s) [File Heuristics] -> Flag : 00000000000000011100000000100011 (0x0001C023) [!] Yoda's Crypter v1.3 detected ! [CompilerDetect] -> Visual C++ 6.0 - Scan Took : 0.383 Second(s) --- snip ---
Trace log of crash:
--- snip --- ... 0021:Call user32.GetSystemMetrics(00000000) ret=004062d3 0021:Ret user32.GetSystemMetrics() retval=00000690 ret=004062d3 0021:Call user32.GetSystemMetrics(00000001) ret=004062ea 0021:Ret user32.GetSystemMetrics() retval=0000041a ret=004062ea 0021:Call user32.SetSysColors(00000001,00000011,00ffffff) ret=00423ccc 0021:trace:seh:raise_exception code=c0000005 flags=0 addr=0x200a94df ip=200a94df tid=0021 0021:trace:seh:raise_exception info[0]=00000000 0021:trace:seh:raise_exception info[1]=00ffffff 0021:trace:seh:raise_exception eax=00ffffff ebx=200e4ff4 ecx=00000000 edx=0000000c esi=0032d220 edi=0032d19c 0021:trace:seh:raise_exception ebp=0032d188 esp=0032d150 cs=0073 ds=007b es=007b fs=0033 gs=003b flags=00010206 0021:trace:seh:call_vectored_handlers calling handler at 0x263966fe code=c0000005 flags=0 0021:trace:seh:call_vectored_handlers handler at 0x263966fe returned 0 0021:trace:seh:call_stack_handlers calling handler at 0x4b7f5c code=c0000005 flags=0 ... wine: Unhandled page fault on read access to 0x00ffffff at address 0x200a94df (thread 0021), starting debugger... ... --- snip ---
The function args are hard coded so this looks like a stupid application bug.
--- snip --- 0x00423cbd: pushl $0xffffff 0x00423cc2: pushl $0x11 0x00423cc4: pushl $0x1 0x00423cc6: call *0x4be2a0 -> 0x6ec634bb SetSysColors [/opt/projects/wine/wine-git/dlls/user32/sysparams.c:2927] in user32 --- snip ---
Wrapping SetSysColors() in SEH and returning appropriate error code will probably fix this sloppyness.
Tidebit: that app tries to map a folder containing dlls to "c:" drive using (non present) "subst" tool. Though that failure seems harmless.
--- snip --- 0009:trace:process:create_process_impl app (null) cmdline L"subst C: "C:\PROG~FBU\RIPP~YJ2\dlls"" 0009:trace:process:find_exe_file looking for L"subst" 0009:trace:process:find_exe_file looking for L"subst C:" 0009:trace:process:find_exe_file looking for L"subst C: "C:\PROG~FBU\RIPP~YJ2\dlls"" 0009:trace:process:create_process_impl starting L"C:\windows\system32\subst.exe" as 32-bit Winelib app 0021:trace:process:init_current_directory starting in L"C:\Program Files\Ripp-it_AM\" 0x18 0021:trace:process:__wine_kernel_init starting process name=L"C:\windows\system32\subst.exe" argv[0]=L"subst" wine: cannot find L"C:\windows\system32\subst.exe" --- snip ---
Regards