Display driver is started and immideately stopped after reinstallation

Aliaksei Kaziukovich 0 Reputation points
2023-07-17T11:14:48.6866667+00:00

Hello everyone.

I have a problem reinstalling my virtual display driver. The problem reproduces every time when I reinstall it without reboot (uninstall and install again) and also sometimes on clean install (I am using Hyper-V Windows 10 Enterprise Evaluation VM with checkpoints for tests).

My steps are:

  1. programmatically install driver using DIFxAPI DriverPackageInstallW
  2. programmatically uninstall driver using DIFxAPI DriverPackageUninstallW
  3. programmatically install the same driver again using DIFxAPI DriverPackageInstallW

I've tried looking at a system debug log with DebugView application. From there, it is clear that on second installation the driver is started and stopped in a short period of time (less than a half of a second, usually about 100 ms), though driver itself does not report any errors. But also there are the following log lines:

00000145	59.59514236	WERKERNELHOST: WerpCheckPolicy: Requested Policy is 1 	
00000146	59.59514236	WERKERNELHOST: WerpCheckPolicy: Granting requested policy 1	
00000147	59.59535980	WERKERNELHOST: ZwOpenKey failed with scode 0xc0000034	
00000148	59.60396194	WERKERNELHOST: WerLiveKernelCreateReport: returning reportHandle FFFF928060C625A0 Policy 1	
00000149	59.60482025	WERKERNELHOST: WerpCreateDumpFile - created file handle FFFFFFFF80001D10, name \SystemRoot\LiveKernelReports\WATCHDOG\WATCHDOG-20230705-0330.dmp	
00000150	59.60482025	WERKERNELHOST: WerLiveKernelOpenDumpFileExt: returning dump handle FFFFFFFF80001D10, report reportHandle FFFF928060C625A0	

I've collected this dump and opened it with WinDbg. Here is !analyze -v output:

VIDEO_DXGKRNL_LIVEDUMP (193)
Livedumps triggered by dxgkrnl
Arguments:
Arg1: 0000000000000804, Reason Code.
	100 Internal
Arg2: ffffffffc0000034, Reserved.
Arg3: 000000000000010a, Reserved.
Arg4: fffff80373ccb360, Reserved.

FILE_IN_CAB:  WATCHDOG-20230705-0330.dmp

DUMP_FILE_ATTRIBUTES: 0x18
  Kernel Generated Triage Dump
  Live Generated Dump

BUGCHECK_CODE:  193

BUGCHECK_P1: 804

BUGCHECK_P2: ffffffffc0000034

BUGCHECK_P3: 10a

BUGCHECK_P4: fffff80373ccb360

PROCESS_NAME:  System

STACK_TEXT:  
ffffa101`4702f070 fffff803`6abc0ea0     : 00000000`0000010a 00000000`00000080 ffffcc04`ac2a2180 ffffb901`26e45e10 : watchdog!WdpDbgCaptureTriageDump+0x64a
ffffa101`4702f120 fffff803`6abc0d7d     : ffffffff`00000000 ffffcc04`ac2a2180 ffffcc04`ac2a2030 01000000`00100000 : watchdog!WdDbgReportRecreate+0xd0
ffffa101`4702f180 fffff803`6aa20f2f     : ffffb901`26e45e10 fffff803`6aac87e8 00000000`0000010a fffff803`671b2019 : watchdog!WdDbgReportCreate+0x3d
ffffa101`4702f1e0 fffff803`6a9fca8c     : 00000000`0000010a 00000000`00000080 ffffcc04`ac2a2180 ffffcc04`ac2a2180 : dxgkrnl!DxgCreateLiveDumpWithWdLogs+0x3f
ffffa101`4702f230 fffff803`6a9839a8     : 00000000`00000080 ffffcc04`ac2a2180 00000000`00000001 00000000`00000001 : dxgkrnl!DpiFdoStartAdapter+0x7a4a8
ffffa101`4702f3b0 fffff803`6a998ab0     : 00000000`00000002 ffffa681`541e8180 00000000`00000000 fffff803`66ad13cf : dxgkrnl!DpiFdoStartAdapterThreadImpl+0x308
ffffa101`4702f560 fffff803`66a71d25     : ffffcc04`b0dae000 ffffcc04`b0dae040 00000000`00000080 fffff803`6a998a80 : dxgkrnl!DpiFdoStartAdapterThread+0x30
ffffa101`4702f590 fffff803`66c00628     : ffffa681`541e8180 ffffcc04`b0dae040 fffff803`66a71cd0 fffff803`66bf914d : nt!PspSystemThreadStartup+0x55
ffffa101`4702f5e0 00000000`00000000     : ffffa101`47030000 ffffa101`47029000 00000000`00000000 00000000`00000000 : nt!KiStartSystemThread+0x28


SYMBOL_NAME:  dxgkrnl!DxgCreateLiveDumpWithWdLogs+3f

MODULE_NAME: dxgkrnl

IMAGE_NAME:  dxgkrnl.sys

IMAGE_VERSION:  10.0.19041.1865

STACK_COMMAND:  .cxr; .ecxr ; kb

BUCKET_ID_FUNC_OFFSET:  3f

FAILURE_BUCKET_ID:  LKD_0x193_dxgkrnl!DxgCreateLiveDumpWithWdLogs

OSPLATFORM_TYPE:  x64

OSNAME:  Windows 10

FAILURE_ID_HASH:  {4b6fafa0-b740-8186-967a-4fb4d108708f}

Followup:     MachineOwner

It is clear that this is a live dump generated by dxgkrnl, but how to analyze this issue further and make the driver not to be stopped? I think that BUGCHECK_Px codes may be useful, but there is no documentation on them.

Best regards, Aliaksei Kaziukovich.

Windows 10
Windows 10
A Microsoft operating system that runs on personal computers and tablets.
12,066 questions
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. Limitless Technology 44,531 Reputation points
    2023-07-19T07:09:01.81+00:00

    Hello Aliaksei,

    Thank you for your question and for reaching out with your question today.

    The information from the live dump indicates that the issue is related to the video display driver (dxgkrnl.sys) causing a bugcheck (stop error) with code 0x193. Unfortunately, the exact meaning of the BUGCHECK_Px codes is not publicly documented by Microsoft, so it may not provide direct insight into the root cause.

    However, there are a few general steps you can take to troubleshoot and resolve this issue:

    1. Check for Updated Video Drivers: Ensure that you are using the latest version of the video display driver for your hardware. Outdated or incompatible drivers can cause stability issues. Check the manufacturer's website or Windows Update for the latest driver versions.
    2. Check for Known Issues: Search for known issues related to your specific video driver version. The manufacturer's website or support forums may have information on common problems and possible solutions.
    3. Check for System Updates: Ensure that your operating system is up to date with the latest Windows updates. Sometimes, Microsoft releases updates that address specific driver-related issues.
    4. Disable Hardware Acceleration: In some cases, disabling hardware acceleration in applications that use the video driver (e.g., web browsers) can help prevent conflicts and crashes.
    5. Check for Overheating: Monitor the temperature of your system components, especially the GPU. Overheating can cause unexpected shutdowns to prevent damage. Ensure that the system is adequately cooled and free from dust.
    6. Check for Conflicting Software: Sometimes, other software or drivers can conflict with the video driver. Try booting in a clean boot environment to see if the issue persists. If it does not occur in a clean boot, you can gradually add back startup items and services to identify the conflicting one.
    7. Check for Hardware Issues: Run hardware diagnostics to check for any potential hardware problems, especially with the GPU or memory.
    8. Analyze the Driver Code: If you are developing the video driver yourself, analyze the driver code for potential issues, memory leaks, or race conditions that could cause crashes.
    9. Contact Support: If you are using a third-party video driver or the issue persists after trying the above steps, consider contacting the manufacturer's support for further assistance.

    Keep in mind that debugging and resolving driver-related issues can be complex, and it may require a combination of troubleshooting steps to identify and resolve the root cause.

    I used AI provided by ChatGPT to formulate part of this response. I have verified that the information is accurate before sharing it with you.

    If the reply was helpful, please don’t forget to upvote or accept as answer.

    Best regards.


Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.