http://bugs.winehq.org/show_bug.cgi?id=32991
Bug #: 32991 Summary: ARM port of "WabbitEMU" crashes due to unimplemented function KERNEL32.dll.RtlUnwindEx (no ntdll forward on arch=arm) Product: Wine Version: 1.5.24 Platform: arm OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: kernel32 AssignedTo: wine-bugs@winehq.org ReportedBy: focht@gmx.net Classification: Unclassified
Hello folks,
the ARM port of "WabbitEMU", a Texas Instruments graphing calculator emulator and dev tools crashes after clicking "Browse for a ROM image" radio button in image selection dialog.
Download: http://forum.xda-developers.com/showpost.php?p=37928562
(main thread: http://forum.xda-developers.com/showthread.php?t=2092348)
--- snip --- $ WINEDEBUG=+tid,+seh,+relay wine ./Wabbitemu.exe ... 0024:Call user32.GetWindowTextA(00010096,40a0ebf0,00000104) ret=00439fa5 0024:Call window proc 0x40bc5f30 (hwnd=0x10096,msg=WM_GETTEXT,wp=00000104,lp=40a0ebf0) 0024:Ret window proc 0x40bc5f30 (hwnd=0x10096,msg=WM_GETTEXT,wp=00000104,lp=40a0ebf0) retval=00000000 0024:Ret user32.GetWindowTextA() retval=00000000 ret=00439fa5 0024:Call KERNEL32.GetLastError() ret=004141cf 0024:Ret KERNEL32.GetLastError() retval=00000000 ret=004141cf 0024:trace:seh:raise_exception info[0]=0047be54 0024:trace:seh:raise_exception info[1]=0047cc8e wine: Call from 0x7bc9a630 to unimplemented function KERNEL32.dll.RtlUnwindEx, aborting 0024:trace:seh:call_stack_handlers calling handler at 0x7bcb8d88 code=80000100 flags=1 0024:Call KERNEL32.UnhandledExceptionFilter(40a0e81c) ret=7bcb8df0 --- snip ---
The app is importing all win32 API by name so it's the real thing :-)
+module,+imports
--- snip --- ... 0009:trace:module:load_dll looking for L"KERNEL32.dll" in L"Z:\home\linaro\wine-apps\wabbitemu;.;C:\windows\system32;C:\windows\system;C:\windows;C:\windows\system32;C:\windows;C:\windows\system32\wbem" 0009:trace:module:load_dll Found L"C:\windows\system32\KERNEL32.dll" for L"KERNEL32.dll" at 0x7b820000, count=19 0009:warn:module:import_dll No implementation for KERNEL32.dll.RtlUnwindEx imported from L"Z:\home\linaro\wine-apps\wabbitemu\Wabbitemu.exe", setting to 0x41820000 0009:trace:imports:import_dll --- RtlUnwindEx KERNEL32.dll.1209 = 0x41820000 0009:trace:imports:import_dll --- GetCommandLineA KERNEL32.dll.481 = 0x7b846be0 0009:trace:imports:import_dll --- RtlPcToFileHeader KERNEL32.dll.1205 = 0x7bc69188 0009:warn:module:import_dll No implementation for KERNEL32.dll.RtlLookupFunctionEntry imported from L"Z:\home\linaro\wine-apps\wabbitemu\Wabbitemu.exe", setting to 0x41820024 0009:trace:imports:import_dll --- RtlLookupFunctionEntry KERNEL32.dll.1203 = 0x41820024 0009:trace:imports:import_dll --- GetModuleFileNameW KERNEL32.dll.634 = 0x7b86b864 ... --- snip ---
It also needs KERNEL32.dll.RtlLookupFunctionEntry later. Wine forwards both to ntdll but only on arch=x86_64.
It seems Windows RT exposes both API. Interestingly only the MSDN page for KERNEL32.dll.RtlLookupFunctionEntry gives a hint about this: http://msdn.microsoft.com/en-us/library/windows/desktop/ms680597%28v=vs.85%2... ("ARM Definition").
Regards