http://bugs.winehq.org/show_bug.cgi?id=32337
Bug #: 32337 Summary: FineReader 11 trial version crash when trying to activate the production Product: Wine Version: 1.5.18 Platform: x86 OS/Version: Linux Status: NEW Keywords: download Severity: normal Priority: P2 Component: richedit AssignedTo: wine-bugs@winehq.org ReportedBy: fracting@gmail.com Depends on: 32336 Classification: Unclassified
Created attachment 42680 --> http://bugs.winehq.org/attachment.cgi?id=42680 Log: FineReader crashes
1. Download trial version from http://download.abbyy.cn/dist/fr11/ABBYY_FineReader_11_Chinese.exe
2. run the outer installer and extract the inner installer $ ABBYY_FineReader_11_Chinese.exe
3. run the inner installer with DISABLEROLLBACK=1 (work around Bug 32336) $ msiexec /I ABBYY\ FineReader\ 11.msi TRANSFORMS="C:\Temp\ABBYY FineReader 11\2052.mst" /Liwrmo!vepacu "C:\users\fracting\Temp\ABBYY FineReader 11.log" LAUNCH_FROM_SETUP=1 DISABLEROLLBACK=1
4. start FineReader: $ cd ~/.wine/drive_c/Program\ Files/ABBYY\ FineReader\ 11 $ wine FineReader.exe
There will be an activation wizard, the program crashes when clicking on the 'next' button of the wizard.
Workaround by `winetricks -q riched20`
http://bugs.winehq.org/show_bug.cgi?id=32337
Qian Hong fracting@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- URL| |http://download.abbyy.cn/di | |st/fr11/ABBYY_FineReader_11 | |_Chinese.exe
http://bugs.winehq.org/show_bug.cgi?id=32337
homtoo homtoo@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |homtoo@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=32337
Qian Hong fracting@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jactry92@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=32337
--- Comment #1 from Nikolay Sivov bunglehead@gmail.com ---
Workaround by `winetricks -q riched20`
You sure about this? Or does it mean this:
--- wine: Call from 0x7b83b29b to unimplemented function rpcrt4.dll.NdrAsyncServerCall, aborting ---
is not fatal.
https://bugs.winehq.org/show_bug.cgi?id=32337 Bug 32337 depends on bug 32336, which changed state.
Bug 32336 Summary: ABBYY FineReader 11 trial version installer fails during licenser manager installation (custom action dll instance data not reset) https://bugs.winehq.org/show_bug.cgi?id=32336
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |DUPLICATE
https://bugs.winehq.org/show_bug.cgi?id=32337
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net Fixed by SHA1| |455eca6d228a4850214345be2cc | |cc665bece5a0e Resolution|--- |FIXED Summary|FineReader 11 trial version |ABBYY FineReader 11 trial |crash when trying to |version crashes when trying |activate the production |to activate the production | |(RichEdit control | |incorrectly returns failure | |for EM_SETREADONLY) Status|NEW |RESOLVED
--- Comment #2 from Anastasius Focht focht@gmx.net --- Hello folks,
confirming, I could reproduce this with ancient Wine 1.5.18
It's not that easy to find an archived version of the installer. Multiple installer snapshots from Internet Archive are corrupted (too short). Maybe the Great Firewall (TM) interferes during mirroring. Honi soit qui mal y pense ...
https://web.archive.org/web/*/http://download.abbyy.cn/dist/fr11/ABBYY_FineR...
https://web.archive.org/web/20160313100032/http://download.abbyy.cn/dist/fr1...
Relevant part of trace log:
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files (x86)/ABBYY FineReader 11
$ WINEDEBUG=+seh,+relay,+richedit wine ./FineReader.exe >>log.txt 2>&1 ... 004d:Call user32.CreateWindowExW(00000000,01549c54 L"RichEdit20W",2ed85574 L"",50000080,00000000,00000000,00000000,00000000,00010120,00000400,2fe50000,00000000) ret=2fee01b0 004d:Call window proc 0xf649d0f0 (hwnd=0x10122,msg=WM_NCCREATE,wp=00000000,lp=0032dca0) trace:richedit:RichEditWndProc_common enter hwnd 0x10122 msg 0081 () 0 32dca0, unicode 1 004d:Call user32.GetWindowLongW(00010122,00000000) ret=f649cbc4 004d:Ret user32.GetWindowLongW() retval=00000000 ret=f649cbc4 trace:richedit:RichEditWndProc_common WM_NCCREATE: hWnd 0x10122 style 0x50000080 .... 004d:Call user32.SendMessageW(000b01dc,000000cf,00000001,00000000) ret=2feb6f0c 004d:Call window proc 0xf649d0f0 (hwnd=0xb01dc,msg=EM_SETREADONLY,wp=00000001,lp=00000000) trace:richedit:RichEditWndProc_common enter hwnd 0xb01dc msg 00cf (EM_SETREADONLY) 1 0, unicode 1 004d:Call user32.GetWindowLongW(000b01dc,00000000) ret=f649cbc4 004d:Ret user32.GetWindowLongW() retval=04807130 ret=f649cbc4 004d:Call user32.GetWindowLongW(000b01dc,fffffff0) ret=f649ce62 004d:Ret user32.GetWindowLongW() retval=50020880 ret=f649ce62 004d:Call user32.SetWindowLongW(000b01dc,fffffff0,50020880) ret=f649ce7a 004d:Call window proc 0xf649d0f0 (hwnd=0xb01dc,msg=WM_STYLECHANGING,wp=fffffff0,lp=0032d348) trace:richedit:RichEditWndProc_common enter hwnd 0xb01dc msg 007c () fffffff0 32d348, unicode 1 004d:Call user32.GetWindowLongW(000b01dc,00000000) ret=f649cbc4 004d:Ret user32.GetWindowLongW() retval=04807130 ret=f649cbc4 004d:Call user32.DefWindowProcW(000b01dc,0000007c,fffffff0,0032d348) ret=f649cfed 004d:Ret user32.DefWindowProcW() retval=00000000 ret=f649cfed trace:richedit:RichEditWndProc_common exit hwnd 0xb01dc msg 007c () fffffff0 32d348, unicode 1 -> 0 004d:Ret window proc 0xf649d0f0 (hwnd=0xb01dc,msg=WM_STYLECHANGING,wp=fffffff0,lp=0032d348) retval=00000000 004d:Call window proc 0xf649d0f0 (hwnd=0xb01dc,msg=WM_STYLECHANGED,wp=fffffff0,lp=0032d348) trace:richedit:RichEditWndProc_common enter hwnd 0xb01dc msg 007d () fffffff0 32d348, unicode 1 004d:Call user32.GetWindowLongW(000b01dc,00000000) ret=f649cbc4 004d:Ret user32.GetWindowLongW() retval=04807130 ret=f649cbc4 004d:Call user32.DefWindowProcW(000b01dc,0000007d,fffffff0,0032d348) ret=f649cfed 004d:Ret user32.DefWindowProcW() retval=00000000 ret=f649cfed trace:richedit:RichEditWndProc_common exit hwnd 0xb01dc msg 007d () fffffff0 32d348, unicode 1 -> 0 004d:Ret window proc 0xf649d0f0 (hwnd=0xb01dc,msg=WM_STYLECHANGED,wp=fffffff0,lp=0032d348) retval=00000000 004d:Ret user32.SetWindowLongW() retval=50020880 ret=f649ce7a 004d:Ret window proc 0xf649d0f0 (hwnd=0xb01dc,msg=EM_SETREADONLY,wp=00000001,lp=00000000) retval=00000000 004d:Ret user32.SendMessageW() retval=00000000 ret=2feb6f0c ... 004d:Call KERNEL32.RaiseException(e06d7363,00000001,00000003,0032d6e4) ret=7ddb7c5b trace:seh:raise_exception code=e06d7363 flags=1 addr=0x7ebdc2a3 ip=7ebdc2a3 tid=004d trace:seh:raise_exception info[0]=19930520 trace:seh:raise_exception info[1]=0032d7ac trace:seh:raise_exception info[2]=2ed682d0 trace:seh:raise_exception eax=7ebcb81d ebx=00000008 ecx=0032d5e4 edx=0032d6e4 esi=0032d7ac edi=0032d640 trace:seh:raise_exception ebp=0032d628 esp=0032d5c4 cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00200212 trace:seh:call_stack_handlers calling handler at 0x2ed5b492 code=e06d7363 flags=1 trace:seh:call_stack_handlers handler at 0x2ed5b492 returned 1 trace:seh:call_stack_handlers calling handler at 0x2f03b7a2 code=e06d7363 flags=1 trace:seh:call_stack_handlers handler at 0x2f03b7a2 returned 1 trace:seh:call_stack_handlers calling handler at 0x2ff09618 code=e06d7363 flags=1 trace:seh:cxx_frame_handler handling C++ exception rec 0x32d5d0 frame 0x32d98c trylevel 1 descr 0x2ff33df8 nested_frame (nil) trace:seh:dump_exception_type flags 0 destr (nil) handler (nil) type info 0x2ed682bc trace:seh:dump_exception_type 0: flags 1 type 0x2ed853f8 {vtable=0x2ed615f0 name=.PAVCInternalError@FObj@@ ()} offsets 0,-1,0 size 4 copy ctor (nil) trace:seh:dump_exception_type 1: flags 1 type 0x2ed8517c {vtable=0x2ed615f0 name=.PAVCException@FObj@@ ()} offsets 0,-1,0 size 4 copy ctor (nil) trace:seh:dump_exception_type 2: flags 1 type 0x2ed85368 {vtable=0x2ed615f0 name=.PAV?$CAllocatedOn@VRuntimeHeap@FObj@@@FObj@@ ()} offsets 4,-1,0 size 4 copy ctor (nil) trace:seh:dump_exception_type 3: flags 1 type 0x2ed853a0 {vtable=0x2ed615f0 name=.PAX ()} offsets 0,-1,0 size 4 copy ctor (nil) trace:seh:dump_function_descr magic 19930522 trace:seh:dump_function_descr unwind table: 0x2ff33dbc 3 trace:seh:dump_function_descr 0: prev -1 func 0x2ff09610 trace:seh:dump_function_descr 1: prev 0 func (nil) trace:seh:dump_function_descr 2: prev 0 func (nil) trace:seh:dump_function_descr try table: 0x2ff33de4 1 trace:seh:dump_function_descr 0: start 1 end 1 catchlevel 2 catch 0x2ff33dd4 1 trace:seh:dump_function_descr 0: flags 0 offset -24 handler 0x2fedf973 type 0x2ff8e0d4 {vtable=0x2ff10140 name=.PAVCException@FObj@@ ()} trace:seh:dump_function_descr expect list: (nil) trace:seh:dump_function_descr flags: 00000001 trace:seh:call_catch_block matched type 0x2ed681a8 in tryblock 0 catchblock 0 ... 004d:Call user32.MessageBoxW(00020154,01164dc4 L"Internal program error:\nc:\finereader11\11.0.2\build\ocrtechnology\0\awl\src\richeditctrlawl.cpp, 470.",01549d14 L"ABBYY FineReader 11",00053011) ret=2fea69fd --- snip ---
The app uses some RichEdit control wrapper class. The 'SetReadOnly' method isn't very happy that Wine returns zero even though 'EM_SETREADONLY' succeeds.
Relevant part of app code:
--- snip --- ... 2FEB6E80 53 PUSH EBX 2FEB6E81 56 PUSH ESI 2FEB6E82 8BF1 MOV ESI,ECX 2FEB6E84 57 PUSH EDI 2FEB6E85 8B3D 48F1F02F MOV EDI,DWORD PTR DS:[<&FineObj.?Generat 2FEB6E8B 85F6 TEST ESI,ESI 2FEB6E8D 74 12 JZ SHORT 2FEB6EA1 2FEB6E8F 8B46 04 MOV EAX,DWORD PTR DS:[ESI+4] 2FEB6E92 85C0 TEST EAX,EAX 2FEB6E94 74 0B JZ SHORT 2FEB6EA1 2FEB6E96 50 PUSH EAX 2FEB6E97 FF15 DCF7F02F CALL DWORD PTR DS:[<&USER32.IsWindow>] 2FEB6E9D 85C0 TEST EAX,EAX 2FEB6E9F 75 1D JNZ SHORT 2FEB6EBE 2FEB6EA1 6A 00 PUSH 0 2FEB6EA3 68 CD010000 PUSH 1CD 2FEB6EA8 68 8004F22F PUSH OFFSET 2FF20480 2FEB6EAD 68 6403F12F PUSH OFFSET 2FF10364 2FEB6EB2 68 6403F12F PUSH OFFSET 2FF10364 2FEB6EB7 6A 00 PUSH 0 2FEB6EB9 FFD7 CALL EDI 2FEB6EBB 83C4 18 ADD ESP,18 2FEB6EBE 807C24 14 00 CMP BYTE PTR SS:[ESP+14],0 2FEB6EC3 8A5C24 10 MOV BL,BYTE PTR SS:[ESP+10] 2FEB6EC7 74 2E JE SHORT 2FEB6EF7 2FEB6EC9 8B4424 18 MOV EAX,DWORD PTR SS:[ESP+18] 2FEB6ECD 83F8 FF CMP EAX,-1 2FEB6ED0 75 14 JNE SHORT 2FEB6EE6 2FEB6ED2 6A 0F PUSH 0F ; Index = COLOR_BTNFACE 2FEB6ED4 FF15 B8F7F02F CALL DWORD PTR DS:[<&USER32.GetSysColor> 2FEB6EDA 50 PUSH EAX 2FEB6EDB 84DB TEST BL,BL 2FEB6EDD 0F94C0 SETZ AL 2FEB6EE0 0FB6C8 MOVZX ECX,AL 2FEB6EE3 51 PUSH ECX 2FEB6EE4 EB 0A JMP SHORT 2FEB6EF0 2FEB6EE6 84DB TEST BL,BL 2FEB6EE8 50 PUSH EAX 2FEB6EE9 0F94C2 SETZ DL 2FEB6EEC 0FB6C2 MOVZX EAX,DL 2FEB6EEF 50 PUSH EAX 2FEB6EF0 8BCE MOV ECX,ESI 2FEB6EF2 E8 C9EFFEFF CALL ?SetBackgroundColor@CRichEditCtrl@A 2FEB6EF7 8B76 04 MOV ESI,DWORD PTR DS:[ESI+4] 2FEB6EFA 6A 00 PUSH 0 ; lParam = 0 2FEB6EFC 0FB6CB MOVZX ECX,BL ; 2FEB6EFF 51 PUSH ECX ; wParam 2FEB6F00 68 CF000000 PUSH 0CF ; Msg = EM_SETREADONLY 2FEB6F05 56 PUSH ESI ; hWnd 2FEB6F06 FF15 E0F7F02F CALL DWORD PTR DS:[<&USER32.SendMessageW 2FEB6F0C 85C0 TEST EAX,EAX 2FEB6F0E 75 1B JNZ SHORT 2FEB6F2B 2FEB6F10 50 PUSH EAX ; abort, show app assert() 2FEB6F11 68 D6010000 PUSH 1D6 2FEB6F16 68 8004F22F PUSH OFFSET 2FF20480 2FEB6F1B 68 6403F12F PUSH OFFSET 2FF10364 2FEB6F20 68 6403F12F PUSH OFFSET 2FF10364 2FEB6F25 50 PUSH EAX 2FEB6F26 FFD7 CALL EDI 2FEB6F28 83C4 18 ADD ESP,18 2FEB6F2B 5F POP EDI 2FEB6F2C 5E POP ESI 2FEB6F2D 5B POP EBX 2FEB6F2E C2 0C00 RETN 0C --- snip ---
It was fixed by commit https://source.winehq.org/git/wine.git/commitdiff/455eca6d228a4850214345be2c... ("riched20: Return nonzero value instead of zero when EM_SETREADONLY succeeds."). Part of Wine 1.7.22 release.
Thanks Jactry.
$ sha1sum ABBYY_FineReader_11_Chinese.exe 0f38f21905f6dcfd843014192f9b5de791d4e7c9 ABBYY_FineReader_11_Chinese.exe
$ du -sh ABBYY_FineReader_11_Chinese.exe 270M ABBYY_FineReader_11_Chinese.exe
$ wine --version wine-1.5.18
$ wine --version wine-5.7
Regards
https://bugs.winehq.org/show_bug.cgi?id=32337
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #3 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 5.8.