http://bugs.winehq.org/show_bug.cgi?id=22392
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net Summary|3dmark03, 3dmark06 crash on |3dmark03, 3dmark06 crash on |startup when trying to get |startup when trying to get |system info |system info (Wine lacks | |support for COM dll | |surrogate, dllhost.exe)
--- Comment #8 from Anastasius Focht focht@gmx.net 2012-03-25 16:31:36 CDT --- Hello,
--- quote --- 3DMark03 works just fine for me with Wine 1.5.0. --- quote ---
I doubt that. Even 3DMark03 still has this problem, though no crash.
It tries to instanciate COM surrogate using COM elevation moniker:
(http://msdn.microsoft.com/en-us/library/windows/desktop/ms679687%28v=vs.85%2...)
--- snip --- 0024:CALL SI3.??0CSI3_dll@@QAE@XZ(<unknown, check return>) ret=00408769 ... 0024:Call ole32.CoInitializeEx(00000000,00000002) ret=100131b5 0024:Ret ole32.CoInitializeEx() retval=00000001 ret=100131b5 0024:Call KERNEL32.GetConsoleWindow() ret=100131bb 0024:Ret KERNEL32.GetConsoleWindow() retval=00000000 ret=100131bb 0024:Call ole32.StringFromGUID2(1003d240,0032f638,00000032) ret=100131d2 0024:Ret ole32.StringFromGUID2() retval=00000027 ret=100131d2 0024:Call KERNEL32.GetLastError() ret=1002539a 0024:Ret KERNEL32.GetLastError() retval=00000000 ret=1002539a 0024:Call ole32.CoGetObject(0032f3e0 L"Elevation:Administrator!new:{F21AABF7-4F63-48FB-9524-822429922224}",0032f3a8,1003d200,00a77044) ret=10013222 ... 0024:Ret ole32.CoGetObject() retval=80070057 ret=10013222 --- snip ---
and falls back to standard COM surrogate instanciation (no local server -> dll needs to be hosted in remote process):
--- snip --- 0024:Call ole32.CoCreateInstance(1003d240,00000000,00000004,1003d200,00a07004) ret=10013233 0024:trace:ole:CoCreateInstance (rclsid={f21aabf7-4f63-48fb-9524-822429922224}, pUnkOuter=(nil), dwClsContext=00000004, riid={96b9667d-889a-4c0c-b2de-ada9312e2fcc}, ppv=0xa07004) 0024:trace:ole:CoGetClassObject CLSID: {f21aabf7-4f63-48fb-9524-822429922224},IID: {00000001-0000-0000-c000-000000000046} 0024:trace:ole:RPC_GetLocalClassObject rclsid={f21aabf7-4f63-48fb-9524-822429922224}, iid={00000001-0000-0000-c000-000000000046} 0024:trace:ole:RPC_GetLocalClassObject waiting for L"\\.\pipe\{F21AABF7-4F63-48FB-9524-822429922224}" 0024:Call KERNEL32.WaitNamedPipeW(0032f0cc L"\\.\pipe\{F21AABF7-4F63-48FB-9524-822429922224}",ffffffff) ret=7e652f7c 0024:Ret KERNEL32.WaitNamedPipeW() retval=00000000 ret=7e652f7c 0024:Call KERNEL32.CreateFileW(0032f0cc L"\\.\pipe\{F21AABF7-4F63-48FB-9524-822429922224}",c0000000,00000000,00000000,00000003,00000000,00000000) ret=7e652fbd 0024:Ret KERNEL32.CreateFileW() retval=ffffffff ret=7e652fbd 0024:trace:ole:create_local_service Attempting to start Local service for {f21aabf7-4f63-48fb-9524-822429922224} 0024:Call advapi32.RegOpenKeyExW(80000000,0032eda2 L"CLSID\{F21AABF7-4F63-48FB-9524-822429922224}",00000000,00020019,0032ed9c) ret=7e618a3f 0024:Ret advapi32.RegOpenKeyExW() retval=00000000 ret=7e618a3f 0024:Call advapi32.RegQueryValueExW(000000a0,7e6e8400 L"AppId",00000000,0032ee30,0032ee9a,0032ee38) ret=7e618b64 0024:Ret advapi32.RegQueryValueExW() retval=00000000 ret=7e618b64 0024:Call advapi32.RegCloseKey(000000a0) ret=7e618b78 0024:Ret advapi32.RegCloseKey() retval=00000000 ret=7e618b78 0024:Call advapi32.RegOpenKeyExW(80000000,0032ee3e L"AppId\{98D47D6B-5724-481B-BF22-2DCFEE22CE1A}",00000000,00020019,0032ef38) ret=7e618bfc 0024:Ret advapi32.RegOpenKeyExW() retval=00000000 ret=7e618bfc 0024:Call advapi32.RegQueryValueExW(000000a0,7e6ef91a L"LocalService",00000000,0032ef34,0032ef3e,0032ef30) ret=7e652c59 0024:Ret advapi32.RegQueryValueExW() retval=00000002 ret=7e652c59 0024:warn:ole:create_local_service No LocalService value 0024:Call advapi32.RegCloseKey(000000a0) ret=7e652e12 0024:Ret advapi32.RegCloseKey() retval=00000000 ret=7e652e12 0024:Call advapi32.RegOpenKeyExW(80000000,0032ec52 L"CLSID\{F21AABF7-4F63-48FB-9524-822429922224}",00000000,00020019,0032ec4c) ret=7e618a3f 0024:Ret advapi32.RegOpenKeyExW() retval=00000000 ret=7e618a3f 0024:Call advapi32.RegOpenKeyExW(000000a0,7e6ef964 L"LocalServer32",00000000,00020019,0032ef74) ret=7e618a9c 0024:Ret advapi32.RegOpenKeyExW() retval=00000002 ret=7e618a9c 0024:Call advapi32.RegCloseKey(000000a0) ret=7e618aad 0024:Ret advapi32.RegCloseKey() retval=00000000 ret=7e618aad 0024:err:ole:create_server class {f21aabf7-4f63-48fb-9524-822429922224} not registered 0024:err:ole:CoGetClassObject no class object {f21aabf7-4f63-48fb-9524-822429922224} could be created for context 0x4 0024:Ret ole32.CoCreateInstance() retval=80040152 ret=10013233 0024:Call user32.MessageBoxA(00000000,1003d250 "Errors occured while initializing Futuremark SystemInfo. Please make sure the software is properly installed. For latest Futuremark SystemInfo, please see www.futuremark.com.",1003d300 "Error",00000000) ret=10013252 --- snip ---
"{f21aabf7-4f63-48fb-9524-822429922224}" is provided by "FMSI.dll" COM dll is located in:
--- snip --- c:\drive_c\Program Files\Common Files\Futuremark Shared\Futuremark SystemInfo\ --- snip ---
The COM dll is properly registered:
--- snip --- REGEDIT4
[HKEY_CLASSES_ROOT\CLSID{F21AABF7-4F63-48FB-9524-822429922224}] @="FuturemarkSystemInfo Class" "AppID"="{98D47D6B-5724-481B-BF22-2DCFEE22CE1A}" "LocalizedString"="@C:\Program Files\Common Files\Futuremark Shared\Futuremark SystemInfo\FMSI.dll,-101"
[HKEY_CLASSES_ROOT\CLSID{F21AABF7-4F63-48FB-9524-822429922224}\Elevation] "Enabled"=dword:00000001
[HKEY_CLASSES_ROOT\CLSID{F21AABF7-4F63-48FB-9524-822429922224}\InprocServer32] @="C:\Program Files\Common Files\Futuremark Shared\Futuremark SystemInfo\FMSI.dll" "ThreadingModel"="Both"
[HKEY_CLASSES_ROOT\CLSID{F21AABF7-4F63-48FB-9524-822429922224}\ProgID] @="FMSI.FuturemarkSystemInfo.1"
[HKEY_CLASSES_ROOT\CLSID{F21AABF7-4F63-48FB-9524-822429922224}\Programmable]
[HKEY_CLASSES_ROOT\CLSID{F21AABF7-4F63-48FB-9524-822429922224}\TypeLib] @="{B1A2B8FD-F87D-4CE8-BD4D-75B4F216F921}"
[HKEY_CLASSES_ROOT\CLSID{F21AABF7-4F63-48FB-9524-822429922224}\VersionIndependentProgID] @="FMSI.FuturemarkSystemInfo" --- snip ---
What's missing here is Wine support for COM dll surrogate:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms695225%28v=vs.85%2...
Might be a dupe of other bugs (or the other way around).
$ du -sh 3DMark03_v360_1901.exe 182M 3DMark03_v360_1901.exe
$ sha1sum 3DMark03_v360_1901.exe w46a439101ddbbe3c9563b5e9651cb61b46ce0619 3DMark03_v360_1901.exe
$ wine --version wine-1.5.0
3DMark03_v360_1901.exe
Regards