Search code examples
c#wpfwindbgcrash-dumps

Hardware acceleration issue with WPF application - Analyzing crash dumps


I have a WPF application crashing on the client machine. My initial analysis shows that this is because of H/W acceleration and disabling H/W acceleration at a registry level solves the issue. Now I have to make sure that this is caused because of H/W acceleration. I have the crash dumps available which has a stack trace,

9c52b020 80636ac7 9c52b0bc e1174818 9c52b0c0 nt!_SEH_prolog+0x1a
9c52b038 806379d6 e10378a4 9c52b0bc e1174818 nt!CmpQuerySecurityDescriptorInfo+0x23
9c52b084 805bfe5b e714b160 00000001 9c52b0bc nt!CmpSecurityMethod+0xce
9c52b0c4 805c01c8 e714b160 9c52b0f0 e714b15c nt!ObpGetObjectSecurity+0x99
9c52b0f4 8062f28f e714b160 8617f008 00000001 nt!ObCheckObjectAccess+0x2c
9c52b140 8062ff30 e1038008 0066a710 cde2b714 nt!CmpDoOpen+0x2d5
9c52b340 805bf488 0066a710 0066a710 8617f008 nt!CmpParseKey+0x5a6
9c52b3b8 805bba14 00000000 9c52b3f8 00000240 nt!ObpLookupObjectName+0x53c
9c52b40c 80625696 00000000 8acad448 00000000 nt!ObOpenObjectByName+0xea
9c52b508 8054167c 9c52b828 82000000 9c52b5ac nt!NtOpenKey+0x1c8
9c52b508 80500699 9c52b828 82000000 9c52b5ac nt!KiFastCallEntry+0xfc
9c52b58c 805e701e 9c52b828 82000000 9c52b5ac nt!ZwOpenKey+0x11
9c52b7fc 805e712a 00000002 805e70a0 00000000 nt!RtlpGetRegistryHandleAndPath+0x27a
9c52b844 805e73e3 9c52b864 00000014 9c52bbb8 nt!RtlpQueryRegistryGetBlockPolicy+0x2e
9c52b86c 805e79eb 00000003 e8af79dc 00000014 nt!RtlpQueryRegistryDirect+0x4b
9c52b8bc 805e7f10 e8af79dc 00000003 9c52b948 nt!RtlpCallQueryRegistryRoutine+0x369
9c52bb58 b8f5bca4 00000005 e6024b30 9c52bbb8 nt!RtlQueryRegistryValues+0x482
WARNING: Stack unwind information not available. Following frames may be wrong.
9c52bc00 b8f20a5b 00000005 85f4204c 85f4214c igxpmp32+0x44ca4
9c52c280 b8f1cc7b 890bd358 9c52c2b0 00000000 igxpmp32+0x9a5b
9c52c294 b8f11729 890bd358 9c52c2b0 00000a0c igxpmp32+0x5c7b
9c52c358 804ef19f 890bd040 86d2dad0 0000080c VIDEOPRT!pVideoPortDispatch+0xabf
9c52c368 bf85e8c2 9c52c610 bef6ce84 00000014 nt!IopfCallDriver+0x31
9c52c398 bf85e93c 890bd040 00232150 9c52c3f8 win32k!GreDeviceIoControl+0x93
9c52c3bc bebafc7b 890bd040 00232150 9c52c3f8 win32k!EngDeviceIoControl+0x1f
9c52d624 bebf3fa9 890bd040 bef2a28c bef2a284 igxpdx32+0x8c7b
9c52d6a0 8054167c 9c52da28 b915d000 9c52d744 igxpdx32+0x4cfa9
9c52d6a0 00000000 9c52da28 b915d000 9c52d744 nt!KiFastCallEntry+0xfc

How do I ensure that crash is caused by H/W acceleration issue by looking at the above data? I am guessing VIDEOPRT!pVideoPortDispatch+0xabf indicates some error with the rendering. Is that correct?

I am using WinDebug to view the crash dump.


Solution

  • Do a quick internet search and you should find that,

    igxpmp32.sys file information

    The process Intel Graphics Miniport Driver belongs to the software Intel Graphics Accelerator Drivers for Windows NT(R) by Intel Corporation (www.intel.com).

    igxpdx32 should also be from Intel. So your guess on the root cause should be correct.

    So you may contact Intel support and let them analyze the dump to confirm whether this is a known issue.

    It is almost impossible for an outsider to analyze such dumps, as private symbols are not available.