https://bugs.winehq.org/show_bug.cgi?id=38014
Bug ID: 38014 Summary: CCCP Insurgent v2007-01-01 crashes when querying system information via DxDiag Product: Wine Version: 1.7.35 Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: focht@gmx.net Distribution: ---
Hello folks,
as the summary says.
--- snip --- $ WINEDEBUG=+tid,+seh,+relay,+dxdiag,+variant,+ole wine ./CCCP-Insurgent-2007-01-01.exe >>log.txt 2>&1 ... 0024:trace:dxdiag:IDxDiagProviderImpl_GetRootContainer (0x1790a8,0x90e940) 0024:trace:dxdiag:DXDiag_CreateDXDiagContainer ({7d0f462f-4064-4862-bc7f-933e5058c10f}, 0x90e940) 0024:Call ntdll.RtlAllocateHeap(00110000,00000000,00000010) ret=7d3aabbc 0024:Ret ntdll.RtlAllocateHeap() retval=001829c8 ret=7d3aabbc 0024:trace:dxdiag:IDxDiagProviderImpl_AddRef (0x1790a8)->(ref before=1) 0024:trace:dxdiag:IDxDiagContainerImpl_AddRef (0x1829c8)->(ref before=0) 0024:trace:dxdiag:IDxDiagContainerImpl_GetChildContainer (0x1829c8, L"DxDiag_SystemInfo", 0x90e8f8) 0024:Call ntdll.RtlAllocateHeap(00110000,00000000,00000024) ret=7d3aa540 0024:Ret ntdll.RtlAllocateHeap() retval=00195b10 ret=7d3aa540 0024:trace:dxdiag:IDxDiagContainerImpl_GetChildContainer Trying to get container L"DxDiag_SystemInfo" 0024:Call KERNEL32.lstrcmpW(00179130 L"DxDiag_SystemInfo",00195b10 L"DxDiag_SystemInfo") ret=7d3aa413 0024:Ret KERNEL32.lstrcmpW() retval=00000000 ret=7d3aa413 0024:trace:dxdiag:DXDiag_CreateDXDiagContainer ({7d0f462f-4064-4862-bc7f-933e5058c10f}, 0x90e8f8) 0024:Call ntdll.RtlAllocateHeap(00110000,00000000,00000010) ret=7d3aabbc 0024:Ret ntdll.RtlAllocateHeap() retval=001958c8 ret=7d3aabbc 0024:trace:dxdiag:IDxDiagProviderImpl_AddRef (0x1790a8)->(ref before=2) 0024:trace:dxdiag:IDxDiagContainerImpl_AddRef (0x1958c8)->(ref before=0) 0024:trace:dxdiag:IDxDiagContainerImpl_GetChildContainer Succeeded in getting the container instance 0024:Call ntdll.RtlFreeHeap(00110000,00000000,00195b10) ret=7d3aa76f 0024:Ret ntdll.RtlFreeHeap() retval=00000001 ret=7d3aa76f 0024:trace:dxdiag:IDxDiagContainerImpl_EnumChildContainerNames (0x1958c8, 0, 0x90e6d0, 256) 0024:trace:dxdiag:IDxDiagContainerImpl_EnumChildContainerNames Failed to find container name at specified index 0024:trace:dxdiag:IDxDiagContainerImpl_GetChildContainer (0x1958c8, L"", 0x90e8fc) 0024:Call ntdll.RtlAllocateHeap(00110000,00000000,00000002) ret=7d3aa540 0024:Ret ntdll.RtlAllocateHeap() retval=0018a4b8 ret=7d3aa540 0024:trace:dxdiag:IDxDiagContainerImpl_GetChildContainer Trying to get container L"" 0024:Call ntdll.RtlFreeHeap(00110000,00000000,0018a4b8) ret=7d3aa76f 0024:Ret ntdll.RtlFreeHeap() retval=00000001 ret=7d3aa76f 0024:trace:dxdiag:IDxDiagContainerImpl_Release (0x1958c8)->(ref before=1) 0024:trace:dxdiag:IDxDiagProviderImpl_Release (0x1790a8)->(ref before=3) 0024:Call ntdll.RtlFreeHeap(00110000,00000000,001958c8) ret=7d3aa14d 0024:Ret ntdll.RtlFreeHeap() retval=00000001 ret=7d3aa14d 0024:Call oleaut32.VariantInit(0090e6c0) ret=0040b276 0024:trace:variant:VariantInit (0x90e6c0) 0024:Ret oleaut32.VariantInit() retval=0090e6c0 ret=0040b276 0024:trace:seh:raise_exception code=c0000005 flags=0 addr=0x40b276 ip=0040b276 tid=0024 0024:trace:seh:raise_exception info[0]=00000000 0024:trace:seh:raise_exception info[1]=00000000 0024:trace:seh:raise_exception eax=0090e6c0 ebx=005659c8 ecx=0090e8d8 edx=0090ef8c esi=0090e928 edi=00000000 0024:trace:seh:raise_exception ebp=0090e740 esp=0090e6c0 cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00210206 0024:trace:seh:call_stack_handlers calling handler at 0x5341e2 code=c0000005 flags=0 --- snip ---
The app doesn't have proper error handling (HRESULT check), it just continues after failure of 'IDxDiagContainer::EnumChildContainerNames' on 'DxDiag_SystemInfo' container. The following 'IDxDiagContainer::GetChildContainer' method call gets an empty string passed. The app expects a valid 'IDxDiagContainer' instance - the current container.
After fixing this there is another crash, albeit different issue ('DxDiag_SoundDevices' props missing).
$ sha1sum CCCP-Insurgent-2007-01-01.exe 21a1171a7993aef75bcfc8304a09333c77bb32a2 CCCP-Insurgent-2007-01-01.exe
$ du -sh CCCP-Insurgent-2007-01-01.exe 608K CCCP-Insurgent-2007-01-01.exe
Regards
https://bugs.winehq.org/show_bug.cgi?id=38014
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download URL| |http://www.cccp-project.net | |/download.php?type=cccpi
https://bugs.winehq.org/show_bug.cgi?id=38014
super_man@post.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |super_man@post.com
--- Comment #1 from super_man@post.com --- To get a crash.
Tools --> System information.
still an issue 1.7.49
https://bugs.winehq.org/show_bug.cgi?id=38014
Michael Müller michael@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |michael@fds-team.de
--- Comment #2 from Michael Müller michael@fds-team.de --- The following patch should fix the issue:
https://github.com/wine-compholio/wine-staging/blob/master/patches/dxdiagn-G...
In order to apply the patch, you also need my dxdiagn DirectSound patch since I used some stuff from this patch in the tests:
https://github.com/wine-compholio/wine-staging/blob/master/patches/dxdiagn-E...
Alternatively you can just remove the tests and it should compile fine.
https://bugs.winehq.org/show_bug.cgi?id=38014
--- Comment #3 from super_man@post.com --- Yes the patches do work. I tried without the patch and then patches applied on top of git wine.
No crash after using the patches.
https://bugs.winehq.org/show_bug.cgi?id=38014
Michael Müller michael@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |STAGED CC| |sebastian@fds-team.de Staged patchset| |https://github.com/wine-com | |pholio/wine-staging/tree/ma | |ster/patches/dxdiagn-GetChi | |ldContainer_Leaf_Nodes
https://bugs.winehq.org/show_bug.cgi?id=38014
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch
https://bugs.winehq.org/show_bug.cgi?id=38014
André H. nerv@dawncrow.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |nerv@dawncrow.de Staged patchset|https://github.com/wine-com |https://github.com/wine-sta |pholio/wine-staging/tree/ma |ging/wine-staging/tree/mast |ster/patches/dxdiagn-GetChi |er/patches/dxdiagn-GetChild |ldContainer_Leaf_Nodes |Container_Leaf_Nodes
https://bugs.winehq.org/show_bug.cgi?id=38014
Gijs Vermeulen gijsvrm@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |c7fd541cb6d87a41878eacc6335 | |f73c0bf0d8041 Status|STAGED |RESOLVED Resolution|--- |FIXED
--- Comment #4 from Gijs Vermeulen gijsvrm@gmail.com --- Staging patch upstreamed as https://source.winehq.org/git/wine.git/commit/c7fd541cb6d87a41878eacc6335f73c0bf0d8041, marking FIXED.
https://bugs.winehq.org/show_bug.cgi?id=38014
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #5 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 5.22.
https://bugs.winehq.org/show_bug.cgi?id=38014
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |5.0.x
https://bugs.winehq.org/show_bug.cgi?id=38014
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|http://www.cccp-project.net |https://web.archive.org/web |/download.php?type=cccpi |/20150315044726/http://www. | |cccp-project.net/public/CCC | |P-Insurgent-2007-01-01.exe
https://bugs.winehq.org/show_bug.cgi?id=38014
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|5.0.x |---
--- Comment #6 from Michael Stefaniuc mstefani@winehq.org --- Removing the 5.0.x milestone from bug fixes included in 5.0.4.