http://bugs.winehq.org/show_bug.cgi?id=17540
Summary: Zondervan Pradis cannot function due to unimplemented function ole32.dll.CoGetCurrentLogicalThreadId Product: Wine Version: 1.1.15 Platform: Other OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P3 Component: ole32 AssignedTo: wine-bugs@winehq.org ReportedBy: vanoudt@gmail.com
Created an attachment (id=19680) --> (http://bugs.winehq.org/attachment.cgi?id=19680) WINEDEBUG output for +ole
Zondervan Pradis 6.0 ( http://appdb.winehq.org/objectManager.php?sClass=version&iId=11417 ) cannot actually do anything useful
The system relies on COM to open books served up by a database. Whenever it tries to do this, it brings up in the console:
wine: Call from 0x602e9940 to unimplemented function ole32.dll.CoGetCurrentLogicalThreadId, aborting
A +ole log is attached below
http://bugs.winehq.org/show_bug.cgi?id=17540
--- Comment #1 from Austin English austinenglish@gmail.com 2009-08-26 13:08:19 --- Sent a stub: http://www.winehq.org/pipermail/wine-patches/2009-August/077713.html
http://bugs.winehq.org/show_bug.cgi?id=17540
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dank@kegel.com
--- Comment #2 from Dan Kegel dank@kegel.com 2009-08-26 19:37:55 --- Does the stub actually get the app working?
http://bugs.winehq.org/show_bug.cgi?id=17540
Nicholas van Oudtshoorn vanoudt@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|1.1.15 |1.1.28
--- Comment #3 from Nicholas van Oudtshoorn vanoudt@gmail.com 2009-08-26 20:03:29 --- Unfortunately, this stub doesn't get the programme working - all one ends up with is an even greater slew of CoWaitForMultipleHandles Unexpected wait termination.
From what I can tell, this is all about locking. The sample book chapter at
http://www.microsoft.com/mspress/books/sampchap/4656b.aspx describes the use of this function, and gives some example code of how it is to be used.
http://bugs.winehq.org/show_bug.cgi?id=17540
--- Comment #4 from Nicholas van Oudtshoorn vanoudt@gmail.com 2009-08-26 20:15:51 --- If this is helpful, page 294 of "COM+ programming: a practical guide using Visual C++ and ATL" by Pradeep Kumar Tapadiya states that "causality begins when a thread makes a method call on the proxy. COM generates a causality id [same as CurrentLogicalThreadID, from what I can tell] and tags it to this method call and to all the subsequent nested calls from object to object, even across host machines.
http://bugs.winehq.org/show_bug.cgi?id=17540
--- Comment #5 from Nicholas van Oudtshoorn vanoudt@gmail.com 2009-08-26 20:42:18 --- (In reply to comment #4)
If this is helpful, page 294 of "COM+ programming: a practical guide using Visual C++ and ATL" by Pradeep Kumar Tapadiya states that "causality begins when a thread makes a method call on the proxy. COM generates a causality id [same as CurrentLogicalThreadID, from what I can tell] and tags it to this method call and to all the subsequent nested calls from object to object, even across host machines.
NOTE: more likely Causality ID is same as LogicalThreadID
http://bugs.winehq.org/show_bug.cgi?id=17540
Vitaliy Margolen vitaliy@kievinfo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|1.1.28 |1.1.15
--- Comment #6 from Vitaliy Margolen vitaliy@kievinfo.com 2009-08-26 22:14:37 --- Don't change original reported Wine version.
http://bugs.winehq.org/show_bug.cgi?id=17540
--- Comment #7 from Nicholas van Oudtshoorn vanoudt@gmail.com 2009-08-27 00:21:43 --- (In reply to comment #6)
Don't change original reported Wine version.
sorry
http://bugs.winehq.org/show_bug.cgi?id=17540
--- Comment #8 from Nicholas van Oudtshoorn vanoudt@gmail.com 2009-08-27 00:28:11 --- Not quite accurate. The CoWaitForMultipleHandles seems to be being thrown by something else (different bug). All that the stub function does is to cause a deadlock.
http://bugs.winehq.org/show_bug.cgi?id=17540
Xavier Vachon xvachon@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |xvachon@gmail.com
--- Comment #9 from Xavier Vachon xvachon@gmail.com 2010-08-26 09:46:15 --- The stub has not evolved since, therefore this is still an issue in current git (wine-1.3.1-182-g56b8d5d)
http://bugs.winehq.org/show_bug.cgi?id=17540
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Zondervan Pradis cannot |Zondervan Pradis cannot |function due to |function due to incomplete |unimplemented function |ole32.dll.CoGetCurrentLogic |ole32.dll.CoGetCurrentLogic |alThreadId |alThreadId |
http://bugs.winehq.org/show_bug.cgi?id=17540
Wai Ling Tsang simotsa@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |simotsa@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=17540
--- Comment #10 from Wai Ling Tsang simotsa@gmail.com 2013-02-12 17:09:31 CST --- The problem still persists in wine-1.5.18
https://bugs.winehq.org/show_bug.cgi?id=17540
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download Status|UNCONFIRMED |NEW URL| |https://www.dropbox.com/s/m | |vnwzgtaqlk4eq7/pradis6_01_0 | |024.exe CC| |focht@gmx.net Hardware|Other |x86 Summary|Zondervan Pradis cannot |Zondervan Pradis 6.0 hangs |function due to incomplete |due to |ole32.dll.CoGetCurrentLogic |ole32.dll.CoGetCurrentLogic |alThreadId |alThreadId stub Ever confirmed|0 |1
--- Comment #11 from Anastasius Focht focht@gmx.net --- Hello folks,
confirming, still present.
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files/Common Files/Zondervan/Pradis
$ WINEDEBUG=+tid,+seh,+relay,+ole,+variant wine ./pradis6.exe >>log.txt 2>&1 ... 002a:trace:ole:COMPOBJ_DllList_Add L"C:\Program Files\Common Files\Zondervan\Pradis\ZDB6.dll" 002a:Call KERNEL32.LoadLibraryExW(0106e7a2 L"C:\Program Files\Common Files\Zondervan\Pradis\ZDB6.dll",00000000,00000008) ret=7e4fd6cb 002a:Call PE DLL (proc=0x1008ad5c,module=0x10000000 L"ZDB6.dll",reason=PROCESS_ATTACH,res=(nil)) ... 002a:Ret KERNEL32.LoadLibraryExW() retval=10000000 ret=7e4fd6cb 002a:Call KERNEL32.GetProcAddress(10000000,7e5de069 "DllCanUnloadNow") ret=7e4fd74e 002a:Ret KERNEL32.GetProcAddress() retval=10088560 ret=7e4fd74e 002a:Call KERNEL32.GetProcAddress(10000000,7e5de079 "DllGetClassObject") ret=7e4fd769 002a:Ret KERNEL32.GetProcAddress() retval=10088590 ret=7e4fd769 ... 002a:trace:ole:apartment_getclassobject added new loaded dll L"C:\Program Files\Common Files\Zondervan\Pradis\ZDB6.dll" 002a:trace:ole:apartment_getclassobject calling DllGetClassObject 0x10088590 002a:Call rpcrt4.NdrDllGetClassObject(0033e51c,0033e52c,0106e9ac,100bee78,100988a4,100c18b8) ret=100885c7 ... 0038:Call msvcr71.fopen(008a0fe0 "C:\Program Files\Pradis6\books\ZZPRADISDEFAULT.zdb",100a0014 "rb") ret=10031151 ... 0038:Call KERNEL32.CreateFileW(008760c0 L"C:\Program Files\Pradis6\books\ZZPRADISDEFAULT.zdb",80000000,00000003,0166d630,00000003,00000080,00000000) ret=7ed5ba55 0038:Ret KERNEL32.CreateFileW() retval=000001ec ret=7ed5ba55 ... 0038:Call ole32.CoGetCurrentLogicalThreadId(0166d7ec) ret=10049574 0038:fixme:ole:CoGetCurrentLogicalThreadId : stub 0038:Ret ole32.CoGetCurrentLogicalThreadId() retval=80004001 ret=10049574 ... 0038:Call ole32.CoGetCurrentLogicalThreadId(0166d9c4) ret=1004907d 0038:fixme:ole:CoGetCurrentLogicalThreadId : stub 0038:Ret ole32.CoGetCurrentLogicalThreadId() retval=80004001 ret=1004907d ... 0038:Call KERNEL32.WaitForMultipleObjects(00000001,008a8e58,00000001,ffffffff) ret=10049120 0023:Ret winex11.drv.MsgWaitForMultipleObjectsEx() retval=00000001 ret=7eadc25b 0023:Ret user32.MsgWaitForMultipleObjectsEx() retval=00000001 ret=7e5060e1 0023:Call user32.PeekMessageA(0033e0d8,00000000,00000000,00000000,00000002) ret=7c146c3d 0023:Call winex11.drv.GetKeyboardLayout(00000000) ret=7ea73b3f 0023:Ret winex11.drv.GetKeyboardLayout() retval=04090409 ret=7ea73b3f 0023:Ret user32.PeekMessageA() retval=00000001 ret=7c146c3d ... 0023:trace:ole:CoWaitForMultipleHandles waiting for rpc completion or window message 0023:Call user32.MsgWaitForMultipleObjectsEx(00000001,001eeb94,ffffffff,00000160,00000000) ret=7e5060e1 0023:Call winex11.drv.MsgWaitForMultipleObjectsEx(00000002,0033dfb8,ffffffff,00000160,00000000) ret=7eadc25b --- snip ---
MSDN: http://msdn.microsoft.com/en-us/library/windows/desktop/ms693805%28v=vs.85%2...
Source: http://source.winehq.org/git/wine.git/blob/39562961283ccb7c838c5650b11873e69...
--- snip --- 101 HRESULT WINAPI CoGetCurrentLogicalThreadId(GUID *pguid) 102 { 103 FIXME(": stub\n"); 104 return E_NOTIMPL; 105 } --- snip ---
$ sha1sum pradis6_01_0024.exe 4b64756b8b276b3015558b22d9580d82fe250d86 pradis6_01_0024.exe
$ du -sh pradis6_01_0024.exe 21M pradis6_01_0024.exe
$ wine --version wine-1.7.17-92-ge2bf516
Regards
https://bugs.winehq.org/show_bug.cgi?id=17540
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords|download | URL|https://www.dropbox.com/s/m | |vnwzgtaqlk4eq7/pradis6_01_0 | |024.exe |
https://bugs.winehq.org/show_bug.cgi?id=17540
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |1105acd26a822b3b82f5c4ff550 | |438cbe1da84ef Status|NEW |RESOLVED Resolution|--- |FIXED
--- Comment #12 from Nikolay Sivov bunglehead@gmail.com --- Marking fixed with http://source.winehq.org/git/wine.git/?a=commit;h=1105acd26a822b3b82f5c4ff55.... Anyone interested please retest.
https://bugs.winehq.org/show_bug.cgi?id=17540
--- Comment #13 from Wai Ling Tsang simotsa@gmail.com --- Doesn't work:
$ wine --version wine-1.9.5-93-g630f5e9
$ wine pradis6.exe wine: created the configuration directory '/home/wltsang/.wine' err:ole:marshal_object couldn't get IPSFactory buffer for interface {00000131-0000-0000-c000-000000000046} err:ole:marshal_object couldn't get IPSFactory buffer for interface {6d5140c1-7436-11ce-8034-00aa006009fa} err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hres=0x80004002 err:ole:CoMarshalInterface Failed to marshal the interface {6d5140c1-7436-11ce-8034-00aa006009fa}, 80004002 err:ole:get_local_server_stream Failed: 80004002 err:ole:marshal_object couldn't get IPSFactory buffer for interface {00000131-0000-0000-c000-000000000046} err:ole:marshal_object couldn't get IPSFactory buffer for interface {6d5140c1-7436-11ce-8034-00aa006009fa} err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hres=0x80004002 err:ole:CoMarshalInterface Failed to marshal the interface {6d5140c1-7436-11ce-8034-00aa006009fa}, 80004002 err:ole:get_local_server_stream Failed: 80004002 fixme:ntdll:NtLockFile I/O completion on lock not implemented yet err:mscoree:LoadLibraryShim error reading registry key for installroot err:mscoree:LoadLibraryShim error reading registry key for installroot err:mscoree:LoadLibraryShim error reading registry key for installroot err:mscoree:LoadLibraryShim error reading registry key for installroot fixme:urlmon:InternetBindInfo_GetBindString not supported string type 20 fixme:ntdll:NtLockFile I/O completion on lock not implemented yet err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution. fixme:iphlpapi:NotifyIpInterfaceChange (family 0, callback 0x6a0a6836, context 0xa4dcb8, init_notify 0, handle 0x135e7c4): stub wine: configuration in '/home/wltsang/.wine' has been updated. err:ole:CoGetClassObject class {d51582dd-7a00-4221-9761-39e5ec6cf2b3} not registered err:ole:CoGetClassObject class {d51582dd-7a00-4221-9761-39e5ec6cf2b3} not registered err:ole:create_server class {d51582dd-7a00-4221-9761-39e5ec6cf2b3} not registered fixme:ole:CoGetClassObject CLSCTX_REMOTE_SERVER not supported err:ole:CoGetClassObject no class object {d51582dd-7a00-4221-9761-39e5ec6cf2b3} could be created for context 0x17 err:ole:CoReleaseMarshalData IMarshal::ReleaseMarshalData failed with error 0x8001011d
Then I tried reinstall, and when it starts again, it freezes:
$ $ wine pradis6 fixme:ole:CoResumeClassObjects stub err:ntdll:RtlpWaitForCriticalSection section 0x110060 "/tmp/portage/app-emulation/wine-9999/work/wine-9999/dlls/ntdll/heap.c: main process heap section" wait timed out in thread 0009, blocked by 004d, retrying (60 sec) err:ntdll:RtlpWaitForCriticalSection section 0x110060 "/tmp/portage/app-emulation/wine-9999/work/wine-9999/dlls/ntdll/heap.c: main process heap section" wait timed out in thread 0031, blocked by 004d, retrying (60 sec) err:ntdll:RtlpWaitForCriticalSection section 0x110060 "/tmp/portage/app-emulation/wine-9999/work/wine-9999/dlls/ntdll/heap.c: main process heap section" wait timed out in thread 0026, blocked by 004d, retrying (60 sec) err:ntdll:RtlpWaitForCriticalSection section 0x7bce26e0 "/tmp/portage/app-emulation/wine-9999/work/wine-9999/dlls/ntdll/loader.c: loader_section" wait timed out in thread 0032, blocked by 0030, retrying (60 sec) err:ntdll:RtlpWaitForCriticalSection section 0x110060 "/tmp/portage/app-emulation/wine-9999/work/wine-9999/dlls/ntdll/heap.c: main process heap section" wait timed out in thread 0030, blocked by 004d, retrying (60 sec) ^C^C^C^C^Cerr:ntdll:RtlpWaitForCriticalSection section 0x7bce26e0 "/tmp/portage/app-emulation/wine-9999/work/wine-9999/dlls/ntdll/loader.c: loader_section" wait timed out in thread 004e, blocked by 0030, retrying (60 sec) err:ntdll:RtlpWaitForCriticalSection section 0x7bce26e0 "/tmp/portage/app-emulation/wine-9999/work/wine-9999/dlls/ntdll/loader.c: loader_section" wait timed out in thread 004f, blocked by 0030, retrying (60 sec) err:ntdll:RtlpWaitForCriticalSection section 0x7bce26e0 "/tmp/portage/app-emulation/wine-9999/work/wine-9999/dlls/ntdll/loader.c: loader_section" wait timed out in thread 0050, blocked by 0030, retrying (60 sec) err:ntdll:RtlpWaitForCriticalSection section 0x7bce26e0 "/tmp/portage/app-emulation/wine-9999/work/wine-9999/dlls/ntdll/loader.c: loader_section" wait timed out in thread 0051, blocked by 0030, retrying (60 sec) err:ntdll:RtlpWaitForCriticalSection section 0x7bce26e0 "/tmp/portage/app-emulation/wine-9999/work/wine-9999/dlls/ntdll/loader.c: loader_section" wait timed out in thread 0052, blocked by 0030, retrying (60 sec)
https://bugs.winehq.org/show_bug.cgi?id=17540
--- Comment #14 from Wai Ling Tsang simotsa@gmail.com --- Created attachment 53925 --> https://bugs.winehq.org/attachment.cgi?id=53925 Complete error log when starting fresh installation of pradis6.exe
https://bugs.winehq.org/show_bug.cgi?id=17540
--- Comment #15 from Wai Ling Tsang simotsa@gmail.com --- Note that the error happens after going through the layout: customize, choose 1 panel, select done
https://bugs.winehq.org/show_bug.cgi?id=17540
--- Comment #16 from Nikolay Sivov bunglehead@gmail.com --- Please open another bug report for next problem.
https://bugs.winehq.org/show_bug.cgi?id=17540
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #17 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 1.9.6.