https://bugs.winehq.org/show_bug.cgi?id=37867
Bug ID: 37867 Summary: rapid typing doesn't start Product: Wine Version: unspecified Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: schiame@hotmail.com Distribution: ---
Created attachment 50433 --> https://bugs.winehq.org/attachment.cgi?id=50433 wine details
rapid typing doesn't start
http://www.rapidtyping.com/best-typing-tutors/rapidtyping.html
https://bugs.winehq.org/show_bug.cgi?id=37867
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Version|unspecified |1.7.33 URL| |http://www.rapidtyping.com/ | |downloads/typing-tutor/beta | |/RapidTyping_Setup_5.0.98.e | |xe Keywords| |download Component|-unknown |user32 CC| |focht@gmx.net Ever confirmed|0 |1 Summary|rapid typing doesn't |Rapid Typing 5 crashes on |start |startup (support for | |keyboard layout files | |missing)
--- Comment #1 from Anastasius Focht focht@gmx.net --- Hello folks,
confirming.
The trace log doesn't reveal it, the crash on startup is just a manifestation of a problem which happens much earlier.
--- snip --- ... 0023:Call user32.CopyRect(0033f0e4,0033f11c) ret=00432126 0023:Ret user32.CopyRect() retval=00000001 ret=00432126 0023:Call ntdll.RtlAllocateHeap(02100000,00000000,00000030) ret=0050d12c 0023:Ret ntdll.RtlAllocateHeap() retval=021aeb48 ret=0050d12c 0023:trace:seh:raise_exception code=c0000005 flags=0 addr=0x43215f ip=0043215f tid=0023 0023:trace:seh:raise_exception info[0]=00000000 0023:trace:seh:raise_exception info[1]=00000040 0023:trace:seh:raise_exception eax=00000000 ebx=00000000 ecx=02103670 edx=00000000 esi=021ae080 edi=021ae758 0023:trace:seh:raise_exception ebp=0033f160 esp=0033f0fc cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00210246 0023:trace:seh:call_stack_handlers calling handler at 0x531888 code=c0000005 flags=0 --- snip ---
--- snip --- ... 0043211E 51 PUSH ECX 0043211F 50 PUSH EAX 00432120 FF15 90635300 CALL DWORD PTR DS:[<&USER32.CopyRect>] 00432126 68 CCC25300 PUSH RapidTyp.0053C2CC ; "PanelButSound.bmp" 0043212B E8 00160A00 CALL RapidTyp.004D3730 00432130 3BFB CMP EDI,EBX 00432132 74 06 JE SHORT RapidTyp.0043213A 00432134 89BE 10060000 MOV DWORD PTR DS:[ESI+610],EDI 0043213A 8B0D 44BF5700 MOV ECX,DWORD PTR DS:[57BF44] 00432140 8B81 740C0000 MOV EAX,DWORD PTR DS:[ECX+C74] ; EAX == NULL ptr 00432146 3BC3 CMP EAX,EBX 00432148 75 04 JNZ SHORT RapidTyp.0043214E ... 00432153 3999 C8090000 CMP DWORD PTR DS:[ECX+9C8],EBX 00432159 8986 88010000 MOV DWORD PTR DS:[ESI+188],EAX 0043215F 8B40 40 MOV EAX,DWORD PTR DS:[EAX+40] ; *boom* 00432162 0F95C2 SETNE DL ... --- snip ---
The class instance data resides in dynamically allocated heap chunk, initialized during main window creation.
The actual point of class member initialization '[ECX+C74]' ought to happen a bit later.
--- snip --- ... 0023:Call user32.CreateWindowExW(00000000,005437ac L"RAPIDTYPING",0053abc4 L"RapidTyping",00cf0000,00000000,00000000,00000316,0000024e,00000000,00000000,00400000,00000000) ret=004c9398 ... 0023:Call advapi32.RegOpenKeyExW(80000002,0210bea0 L"SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00000409",00000000,00000001,0033f054) ret=004f4b52 0023:Ret advapi32.RegOpenKeyExW() retval=00000002 ret=004f4b52 ... --- snip ---
It seems the app wants to load a keyboard layout (descriptor) using registry looked up keyboard mapping file.
After putting in registry data and providing US keyboard layout file (http://www.dlldump.com/download-dll-files_new.php/dllfiles/K/kbdus.dll/5.1.2...), the app is happy and shows the main user interface.
There is a large onscreen keyboard shown for an interactive typing tutorial.
--- snip --- REGEDIT4
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Keyboard Layouts\00000409] "Layout File"="kbdus.dll" "Layout Text"="US" --- snip ---
Also mentioned here: https://bugs.winehq.org/show_bug.cgi?id=28170#c1
Bug 28170 talks about unimplemented 'USER32.dll.LoadKeyboardLayoutEx' - the API implementation most likely relies on the keyboard layout files.
Trace log, showing successful access:
--- snip --- ... 0023:Call advapi32.RegOpenKeyExW(80000002,021699d0 L"SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00000409",00000000,00000001,0033ece4) ret=004f4b52 0023:Ret advapi32.RegOpenKeyExW() retval=00000000 ret=004f4b52 0023:Call advapi32.RegQueryValueExW(000000a4,02169bb0 L"Layout File",00000000,00000000,00000000,0033ece8) ret=004f4b88 0023:Ret advapi32.RegQueryValueExW() retval=00000000 ret=004f4b88 ... 0023:Call advapi32.RegQueryValueExW(000000a4,02169bb0 L"Layout File",00000000,0033ecec,02168458,0033ece8) ret=004f4bd4 0023:Ret advapi32.RegQueryValueExW() retval=00000000 ret=004f4bd4 ... 0023:Call advapi32.RegCloseKey(000000a4) ret=004f4c09 0023:Ret advapi32.RegCloseKey() retval=00000000 ret=004f4c09 ... 0023:Call KERNEL32.GetSystemDirectoryW(0033edd8,00000104) ret=004c82c5 0023:Ret KERNEL32.GetSystemDirectoryW() retval=00000013 ret=004c82c5 ... 0023:Call KERNEL32.LoadLibraryW(02154ad8 L"C:\windows\system32\kbdus.dll") ret=004c8336 0023:Ret KERNEL32.LoadLibraryW() retval=5fff0000 ret=004c8336 0023:Call KERNEL32.GetProcAddress(5fff0000,0054ab5c "KbdLayerDescriptor") ret=004c8344 0023:Ret KERNEL32.GetProcAddress() retval=5fff1a5a ret=004c8344 0023:Call KERNEL32.GetModuleHandleW(00550d48 L"kernel32") ret=004f49fa 0023:Ret KERNEL32.GetModuleHandleW() retval=7b810000 ret=004f49fa 0023:Call KERNEL32.GetProcAddress(7b810000,00550d38 "IsWow64Process") ret=004f4a01 0023:Ret KERNEL32.GetProcAddress() retval=7b824364 ret=004f4a01 0023:Call KERNEL32.IsWow64Process(ffffffff,0033ed64) ret=004f4a15 0023:Ret KERNEL32.IsWow64Process() retval=00000001 ret=004f4a15 0023:Call KERNEL32.FreeLibrary(5fff0000) ret=004c83bc 0023:Ret KERNEL32.FreeLibrary() retval=00000001 ret=004c83bc --- snip ---
Useful information:
https://stackoverflow.com/questions/11747532/kbdlayerdescriptor-pvktowcharta...
http://www.codeproject.com/Questions/211107/RegQueryValueEx-programcrash-on-...
https://code.msdn.microsoft.com/windowshardware/Keyboard-Layout-Sample-b142d...
http://msdn.microsoft.com/en-us/goglobal/bb964665 (The Microsoft Keyboard Layout Creator)
$ sha1sum RapidTyping_Setup_5.0.98.exe a3c0df7b10c9bf6c27f74eed001cc715f156f825 RapidTyping_Setup_5.0.98.exe
$ du -sh RapidTyping_Setup_5.0.98.exe 16M RapidTyping_Setup_5.0.98.exe
$ wine --version wine-1.7.33-191-ge899bd8
Regards
https://bugs.winehq.org/show_bug.cgi?id=37867
--- Comment #2 from schiame@hotmail.com --- Created attachment 50466 --> https://bugs.winehq.org/attachment.cgi?id=50466 errors log from wine 1.7
this is the errors log from wine 1.7 .. this is a txt file..
https://bugs.winehq.org/show_bug.cgi?id=37867
narri xqwerty123@luukku.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |xqwerty123@luukku.com
--- Comment #3 from narri xqwerty123@luukku.com --- doesnt start here as well.
wine 1.7.42
https://bugs.winehq.org/show_bug.cgi?id=37867
Gijs Vermeulen gijsvrm@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|http://www.rapidtyping.com/ |https://web.archive.org/web |downloads/typing-tutor/beta |/20150321132147if_/http://w |/RapidTyping_Setup_5.0.98.e |ww.rapidtyping.com/download |xe |s/typing-tutor/beta/RapidTy | |ping_Setup_5.0.98.exe
--- Comment #4 from Gijs Vermeulen gijsvrm@gmail.com --- Still present with wine-6.14-212-g2cc98b72846.
Seems like bug 47439 is related.
Adding stable download.