http://bugs.winehq.org/show_bug.cgi?id=34853
Bug #: 34853 Summary: Multiple .NET 3.x/4.x apps using WBEM/WMI crash in IWbemClassObject::Get Product: Wine Version: 1.7.5 Platform: x86 OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: wmi&wbemprox AssignedTo: wine-bugs@winehq.org ReportedBy: focht@gmx.net Classification: Unclassified
Hello folks,
I've seen this kind of error with other apps but can't remember them.
CAD/CAE DesignSpark Mechanical 1.0 updater crashes in WBEM/WMI
Prerequisites are rather heavy for just testing the "updater" app:
'winetricks -q dotnet35sp1 dotnet40'
Managed backtrace:
--- snip --- Unhandled Exception: System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt. at System.Management.IWbemClassObjectFreeThreaded.Get_(String wszName, Int32 lFlags, Object& pVal, Int32& pType, Int32& plFlavor) at System.Management.ManagementObject.Initialize(Boolean getObject) at System.Management.ManagementBaseObject.get_ClassName() at System.Management.ManagementClass.GetInstances(EnumerationOptions options) at System.Management.ManagementClass.GetInstances() at SCfingerprint.Fingerprint.identifier(String wmiClass, String wmiProperty, String wmiMustBeTrue) at SCfingerprint.ResourceLoad.gfp(Boolean includeCPU) at SCfingerprint.ResourceLoad.LicenseFingerprint() at SpaceClaim.License.get_Fingerprint() at SpaceClaim.Updates.UpdateManager.GetUpdateInfo(String langId) at SpaceClaim.UpdatesForm.OnLoad(EventArgs e) ... --- snip ---
Trace log:
--- snip --- ... 002b:trace:wbemprox:wbem_services_GetObject 0x1f5f78, L"Win32_NetworkAdapterConfiguration", 0x00000000, (nil), 0x33e9a4, (nil) ... 002b:trace:wbemprox:parse_query wql_parse returned 0 002b:trace:wbemprox:EnumWbemClassObject_create (nil), 0x33e874 002b:Call ntdll.RtlAllocateHeap(00110000,00000000,00000010) ret=7d543dd4 002b:Ret ntdll.RtlAllocateHeap() retval=001f5cc8 ret=7d543dd4 002b:trace:wbemprox:EnumWbemClassObject_create returning iface 0x1f5cc8 002b:Call ntdll.RtlFreeHeap(00110000,00000000,001f5be8) ret=7d54d977 002b:Ret ntdll.RtlFreeHeap() retval=00000001 ret=7d54d977 002b:trace:wbemprox:create_class_object L"Win32_NetworkAdapterConfiguration", 0x33e9a4 ... 002b:trace:wbemprox:create_class_object returning iface 0x1f5be8 ... 002b:Call oleaut32.VariantClear(0033e984) ret=79257b69 002b:Ret oleaut32.VariantClear() retval=00000000 ret=79257b69 002b:trace:wbemprox:class_object_Get 0x1f5be8, L"__PATH", 00000000, 0x33e984, 0x33ea48, 0x33ea44 002b:Call KERNEL32.GetComputerNameW(0033e77c,0033e778) ret=7d549b2b 002b:Ret KERNEL32.GetComputerNameW() retval=00000001 ret=7d549b2b 002b:Call oleaut32.SysAllocString(0033e77c L"NEXUS4") ret=7d549b72 002b:Ret oleaut32.SysAllocString() retval=001eec1c ret=7d549b72 002b:Call oleaut32.SysAllocString(7d558296 L"ROOT\CIMV2") ret=7d549bd4 002b:Ret oleaut32.SysAllocString() retval=001f4264 ret=7d549bd4 002b:trace:seh:raise_exception code=c0000005 flags=0 addr=0x7d549b92 ip=7d549b92 tid=002b 002b:trace:seh:raise_exception info[0]=00000000 002b:trace:seh:raise_exception info[1]=00000000 002b:trace:seh:raise_exception eax=00000000 ebx=7d560000 ecx=7d560000 edx=0000000a esi=00000004 edi=0033e948 002b:trace:seh:raise_exception ebp=0033e768 esp=0033e750 cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00210216 002b:trace:seh:call_vectored_handlers calling handler at 0x791f5a7c code=c0000005 flags=0 --- snip ---
Debugger (frame 5 active for dumping locals):
--- snip --- Wine-dbg>bt Backtrace: 0 0x7d438b92 build_classname+0x18(view=0x200ad8) [/home/focht/projects/wine/wine-git/dlls/wbemprox/query.c:356] in wbemprox (0x0033e798) 1 0x7d438edd build_relpath+0x37(view=0x200ad8, index=0, name="__PATH") [/home/focht/projects/wine/wine-git/dlls/wbemprox/query.c:426] in wbemprox (0x0033e7d8) 2 0x7d439055 build_path+0x8a(view=0x200ad8, index=0, name="__PATH") [/home/focht/projects/wine/wine-git/dlls/wbemprox/query.c:450] in wbemprox (0x0033e828) 3 0x7d439307 get_system_propval+0x134(view=0x200ad8, index=0, name="__PATH", ret=0x33e9b4, type=0x33ea78, flavor=0x33ea74) [/home/focht/projects/wine/wine-git/dlls/wbemprox/query.c:528] in wbemprox (0x0033e868) 4 0x7d43986e get_propval+0x56(view=0x200ad8, index=0, name="__PATH", ret=0x33e9b4, type=0x33ea78, flavor=0x33ea74) [/home/focht/projects/wine/wine-git/dlls/wbemprox/query.c:654] in wbemprox (0x0033e8c8) =>5 0x7d434248 class_object_Get+0x152(iface=0x200a18, wszName="__PATH", lFlags=0, pVal=0x33e9b4, pType=0x33ea78, plFlavor=0x33ea74) [/home/focht/projects/wine/wine-git/dlls/wbemprox/class.c:400] in wbemprox (0x0033e930) 6 0x69fa19ab in wminet_utils (+0x19aa) (0x0033e950) 7 0x05f625af (0x0033e9f0) ... Wine-dbg>info locals 0x7d434247 class_object_Get+0x152: (0033e930) IWbemClassObject* iface=0x200a18 (parameter [EBP+8]) LPCWSTR wszName="__PATH" (parameter [EBP+12]) LONG lFlags=0 (parameter [EBP+16]) VARIANT* pVal=0x33e9b4 (parameter [EBP+20]) CIMTYPE* pType=0x33ea78 (parameter [EBP+24]) LONG* plFlavor=0x33ea74 (parameter [EBP+28]) struct class_object* co=0x200a18 (local [ESP+76]) struct enum_class_object* ec=0x200af8 (local [ESP+72])
Wine-dbg>p *co {IWbemClassObject_iface={lpVtbl=0x7d44ebc0}, refs=0x1, name="Win32_NetworkAdapterConfiguration", iter=0x200af8, index=0, index_method=0, index_property=0, record=(nil)}
Wine-dbg>p *ec {IEnumWbemClassObject_iface={lpVtbl=0x7d44eba0}, refs=0x1, query=0x200d80, index=0}
Wine-dbg>p *ec->query {refs=0x1, view=0x200ad8, mem={next=0x200a80, prev=0x200a80}}
Wine-dbg>p *ec->query->view {proplist=(nil), table=(nil), cond=(nil), result=0x0(nil), count=0} --- snip ---
$ sha1sum DesignSparkMech32_20130918.5.zip f38c8f92527b775b3576f5bc9f8e7876c7d83591 DesignSparkMech32_20130918.5.zip
$ du -sh DesignSparkMech32_20130918.5.zip 440M DesignSparkMech32_20130918.5.zip
$ wine --version wine-1.7.5-251-gbcf4ded
Regards