Graphics
Intel® graphics drivers and software, compatibility, troubleshooting, performance, and optimization
20623 Discussions

Frequent BSOD after suspend/resume on Carbon 8th gen when Intel virtualization is enabled in BIOS

ajkessel
Beginner
1,517 Views

System is Carbon X1 8th Gen (20U9005PUS), Windows 10 Version 21H2 (Build 19044.1387), OEM Intel UHD driver 30.0.101.1122.

Over the last couple of months, I've had frequent BSODs after suspend/resume on my laptop. It's always dxgkrnl.sys that fails, usually with SYSTEM_SERVICE_EXCEPTION. I've analyzed a memory dump file, with the results below. This lead me to suspect that Intel virtualization was at fault -- and, indeed, if I disable virtualization in BIOS, I no longer see this behavior. I'm no longer able to use WSL then, though, so it's not an adequate workaround.

This seems like a serious bug. Does anyone know how to escalate this to an engineer who can diagnose/fix?

 

************* Path validation summary **************
Response Time (ms) Location
Deferred srv*
Symbol search path is: srv*
Executable search path is:
Windows 10 Kernel Version 19041 MP (8 procs) Free x64
Product: WinNt, suite: TerminalServer SingleUserTS
Machine Name:
Kernel base = 0xfffff806`40e00000 PsLoadedModuleList = 0xfffff806`41a2a190
Debug session time: Tue Jan 4 10:01:17.634 2022 (UTC - 5:00)
System Uptime: 0 days 15:43:24.912
Loading Kernel Symbols
...............................................................
................................................................
................................................................
................................................................
.....................
Loading User Symbols
Loading unloaded module list
..................................................
For analysis of this file, run !analyze -v
nt!KeBugCheckEx:
fffff806`411f70d0 48894c2408 mov qword ptr [rsp+8],rcx ss:0018:ffff858d`0173dbb0=000000000000003b
4: kd> !analyze -v
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************
SYSTEM_SERVICE_EXCEPTION (3b)
An exception happened while executing a system service routine.
Arguments:
Arg1: 00000000c0000005, Exception code that caused the BugCheck
Arg2: fffff8064aa8591c, Address of the instruction which caused the BugCheck
Arg3: ffff858d0173e4b0, Address of the context record for the exception that caused the BugCheck
Arg4: 0000000000000000, zero.
Debugging Details:
------------------
KEY_VALUES_STRING: 1
Key : Analysis.CPU.mSec
Value: 4217
Key : Analysis.DebugAnalysisManager
Value: Create
Key : Analysis.Elapsed.mSec
Value: 17339
Key : Analysis.Init.CPU.mSec
Value: 703
Key : Analysis.Init.Elapsed.mSec
Value: 11178
Key : Analysis.Memory.CommitPeak.Mb
Value: 98
FILE_IN_CAB: 010422-20609-01.dmp
DUMP_FILE_ATTRIBUTES: 0x8
Kernel Generated Triage Dump
BUGCHECK_CODE: 3b
BUGCHECK_P1: c0000005
BUGCHECK_P2: fffff8064aa8591c
BUGCHECK_P3: ffff858d0173e4b0
BUGCHECK_P4: 0
CONTEXT: ffff858d0173e4b0 -- (.cxr 0xffff858d0173e4b0)
rax=0000000000000001 rbx=ffff858d0173efd0 rcx=0000000000000000
rdx=0000000000000002 rsi=ffffd9072ca68c40 rdi=00000000000000d0
rip=fffff8064aa8591c rsp=ffff858d0173eeb8 rbp=0000000000000000
r8=0000000000000000 r9=ffff858d0173ed98 r10=fffff8064ab12220
r11=0000000000000001 r12=0000000000000000 r13=0000000000000004
r14=0000000000000002 r15=ffffd9071c99f030
iopl=0 nv up ei pl nz na pe nc
cs=0010 ss=0018 ds=002b es=002b fs=0053 gs=002b efl=00050202
dxgkrnl!DXGVIRTUALMACHINE::IsWsl2Guest:
fffff806`4aa8591c 8a8164010000 mov al,byte ptr [rcx+164h] ds:002b:00000000`00000164=??
Resetting default scope
BLACKBOXBSD: 1 (!blackboxbsd)
BLACKBOXNTFS: 1 (!blackboxntfs)
BLACKBOXPNP: 1 (!blackboxpnp)
BLACKBOXWINLOGON: 1
CUSTOMER_CRASH_COUNT: 1
PROCESS_NAME: vmwp.exe
STACK_TEXT:
ffff858d`0173eeb8 fffff806`4ac95eb5 : ffffd907`3e470730 fffff806`41123e89 ffffd907`3e470080 ffffb904`cd869f78 : dxgkrnl!DXGVIRTUALMACHINE::IsWsl2Guest
ffff858d`0173eec0 fffff806`4ac90a8c : 00000000`00000000 ffffd907`1c9a0050 ffffd907`1f4c1920 00000000`00000004 : dxgkrnl!DXGK_VIRTUAL_GPU_PARAV::ReadVirtualFunctionConfig+0x105
ffff858d`0173ef40 fffff806`4ac91cd1 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000001 : dxgkrnl!ADAPTER_RENDER::ReadVirtualFunctionConfig+0x8c
ffff858d`0173ef90 fffff806`4aab7f0b : 00000000`00000000 ffff858d`0173f110 00000000`00000000 00000000`00000004 : dxgkrnl!DxgkDdiReadVirtualFunctionConfig+0x51
ffff858d`0173f000 fffff806`4c55589d : ffffd907`3cf652c0 ffff858d`0173f0e0 ffffd907`3cf65a00 ffffd907`3cf659b0 : dxgkrnl!DpiDdiReadVirtualFunctionConfig+0x7b
ffff858d`0173f060 fffff806`4c55a1a0 : 00000000`00000001 ffffd907`3cf655a0 fffff806`4c5435e0 00000000`00000000 : vpcivsp!MuxReadVfConfig+0x35
ffff858d`0173f0a0 fffff806`4c53b760 : 00000000`00000000 ffffd907`3cf652c0 ffffd907`3cf60000 ffffd907`3cf65a00 : vpcivsp!VirtualDeviceSetBusMasterEnable+0x130
ffff858d`0173f110 fffff806`4c54f8b6 : 00000000`00000000 00000000`00000000 ffffd907`3cf652c0 ffffd907`40f4cda0 : vpcivsp!VirtualDeviceUnmapBARs+0x2e4
ffff858d`0173f180 fffff806`4c54ca1e : ffffd907`2047a240 000026f8`e4a51f88 ffff858d`0173f220 000026f8`b7e1e698 : vpcivsp!VpciIoctlUnmapMmioResources+0x18e
ffff858d`0173f1d0 fffff806`461d8f93 : ffffd907`481e1960 00000000`0022c078 ffffd907`1ae33010 00000000`00000000 : vpcivsp!VspEvtIoDeviceControl+0x47e
ffff858d`0173f250 fffff806`461d8960 : 00000000`00000000 fffff806`411fde00 ffffa480`8048a180 fffff806`46262820 : Wdf01000!FxIoQueue::DispatchRequestToDriver+0x163 [minkernel\wdf\framework\shared\irphandlers\io\fxioqueue.cpp @ 3325]
ffff858d`0173f2f0 fffff806`461d7d5e : ffffd907`1b5b0b10 ffffd907`1b5b0b00 00000000`00000000 fffff806`46267c88 : Wdf01000!FxIoQueue::DispatchEvents+0x520 [minkernel\wdf\framework\shared\irphandlers\io\fxioqueue.cpp @ 3125]
ffff858d`0173f3c0 fffff806`461d7af7 : 00000000`00000000 00000000`000001d0 ffffd907`20470000 ffffd907`2b088010 : Wdf01000!FxPkgIo::EnqueueRequest+0x22e [minkernel\wdf\framework\shared\irphandlers\io\fxpkgio.cpp @ 697]
ffff858d`0173f450 fffff806`4c54c4f6 : 00000000`00000028 ffffd907`1b5ae070 00000000`00000000 ffffd907`481e1960 : Wdf01000!imp_WdfDeviceEnqueueRequest+0xc7 [minkernel\wdf\framework\shared\core\fxdeviceapi.cpp @ 2101]
ffff858d`0173f4b0 fffff806`461d7774 : 00000000`00000000 ffffd907`0c602000 ffffd907`1a48e1f8 00000000`00000000 : vpcivsp!VspEvtIoInCallerContext+0x1a6
ffff858d`0173f580 fffff806`461d719d : ffffd907`3fd5d000 ffffd907`2b088010 ffffd907`481e1960 00000000`00000000 : Wdf01000!FxPkgIo::DispatchStep1+0x5c4 [minkernel\wdf\framework\shared\irphandlers\io\fxpkgio.cpp @ 324]
ffff858d`0173f640 fffff806`461da867 : ffffd907`2b088010 00000000`000000c0 00000000`000000d8 fffff806`413f5f01 : Wdf01000!FxPkgIo::Dispatch+0x5d [minkernel\wdf\framework\shared\irphandlers\io\fxpkgio.cpp @ 119]
ffff858d`0173f6a0 fffff806`4108f7d5 : 00000000`00000000 ffffd907`46033880 ffffd907`25de7040 ffffd907`2b088010 : Wdf01000!FxDevice::DispatchWithLock+0x157 [minkernel\wdf\framework\shared\core\fxdevice.cpp @ 1447]
ffff858d`0173f700 fffff806`41475a08 : ffffd907`2b088010 00000000`00000000 00000000`00000000 ffffd907`246d90c0 : nt!IofCallDriver+0x55
ffff858d`0173f740 fffff806`414752d5 : 00000000`0022c078 ffff858d`0173fa80 00000000`00000005 ffff858d`0173fa80 : nt!IopSynchronousServiceTail+0x1a8
ffff858d`0173f7e0 fffff806`41474cd6 : 00000000`00000000 00000000`000004f9 00000000`00000000 00000000`00000000 : nt!IopXxxControlFile+0x5e5
ffff858d`0173f920 fffff806`41208ab5 : ffffd907`3e470080 00000073`78bfee68 ffff858d`0173f9a8 00000073`78bff058 : nt!NtDeviceIoControlFile+0x56
ffff858d`0173f990 00007ffe`f710ce54 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiSystemServiceCopyEnd+0x25
00000073`78bfee68 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : 0x00007ffe`f710ce54
SYMBOL_NAME: dxgkrnl!DXGVIRTUALMACHINE::IsWsl2Guest+0
MODULE_NAME: dxgkrnl
IMAGE_NAME: dxgkrnl.sys
IMAGE_VERSION: 10.0.19041.1387
STACK_COMMAND: .cxr 0xffff858d0173e4b0 ; kb
BUCKET_ID_FUNC_OFFSET: 0
FAILURE_BUCKET_ID: 0x3B_c0000005_dxgkrnl!DXGVIRTUALMACHINE::IsWsl2Guest
OSPLATFORM_TYPE: x64
OSNAME: Windows 10
FAILURE_ID_HASH: {22197c78-e634-4460-8450-ced40fc19dd7}
Followup: MachineOwner
---------

0 Kudos
1 Reply
ajkessel
Beginner
1,503 Views

Just figured it out, at least as a workaround. I had a script that ran the following code after resume:

sc stop vmcompute && sc start vmcompute

This was necessary as a workaround for a WSL bug. But apparently this code alone was causing a BSOD after suspend/resume. Obviously, there shouldn't be a BSOD but I can avoid it now by waiting a while after resume before restarting vmcompute to allow WSL to work.

0 Kudos
Reply