After enabling the Interactive logon: Machine inactivity limit policy for Windows, I noticed that a (Linux if it matters) VM (vmware-vmx.exe) that has 3D acceleration crashes as soon as the inactivity limit is reached and the screen switches to the lock screen.
I'm using: Workstation Pro 25H2 25.0.0.24995812
I'm also using the native VMware hypervisor, as opposed to WHP, as I require the ability to use nested virtualization in my VMs.
Crash details from the .DMP file:
*******************************************************************************
* *
* Exception Analysis *
* *
*******************************************************************************
KEY_VALUES_STRING: 1
Key : AV.Type
Value: Read
Key : Analysis.CPU.mSec
Value: 609
Key : Analysis.Elapsed.mSec
Value: 2264
Key : Analysis.IO.Other.Mb
Value: 0
Key : Analysis.IO.Read.Mb
Value: 1
Key : Analysis.IO.Write.Mb
Value: 0
Key : Analysis.Init.CPU.mSec
Value: 343
Key : Analysis.Init.Elapsed.mSec
Value: 104043
Key : Analysis.Memory.CommitPeak.Mb
Value: 146
Key : Analysis.Version.DbgEng
Value: 10.0.29482.1003
Key : Analysis.Version.Description
Value: 10.2509.29.03 amd64fre
Key : Analysis.Version.Ext
Value: 1.2509.29.3
Key : Failure.Bucket
Value: INVALID_POINTER_READ_c0000005_D3D12Core.dll!CLayeredObject_CDevice_::CContainedObject::AddRef
Key : Failure.Exception.Code
Value: 0xc0000005
Key : Failure.Exception.IP.Address
Value: 0x7ff99cc8ff7e
Key : Failure.Exception.IP.Module
Value: D3D12Core
Key : Failure.Exception.IP.Offset
Value: 0x4ff7e
Key : Failure.Hash
Value: {106b3a41-12dc-c010-0173-64fc7ffffb59}
Key : Failure.ProblemClass.Primary
Value: INVALID_POINTER_READ
Key : Faulting.IP.Type
Value: Paged
Key : Timeline.OS.Boot.DeltaSec
Value: 3479
Key : Timeline.Process.Start.DeltaSec
Value: 3232
Key : WER.OS.Branch
Value: ge_release
Key : WER.OS.Version
Value: 10.0.26100.1
Key : WER.Process.Version
Value: 25.0.0.758
FILE_IN_CAB: vmware-vmx.dmp
APPLICATION_VERIFIER_FLAGS: 0
CONTEXT: (.ecxr)
rax=00007ff9e25e61d8 rbx=0000000000012372 rcx=00000246809015c0
rdx=0000004fcceff510 rsi=0000000000000000 rdi=0000000000000000
rip=00007ff99cc8ff7e rsp=0000004fcceff410 rbp=0000004fcceff730
r8=0000004fcceff4d8 r9=0000024680873be0 r10=00000fff33991fee
r11=4000400000000000 r12=0000000000000001 r13=00007ff99cf5b828
r14=0000004fcceff720 r15=0000000000012301
iopl=0 nv up ei pl nz na pe nc
cs=0033 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00010202
D3D12Core!CLayeredObject<CDevice>::CContainedObject::AddRef+0xe:
00007ff9`9cc8ff7e 488b4008 mov rax,qword ptr [rax+8] ds:00007ff9`e25e61e0=????????????????
Resetting default scope
EXCEPTION_RECORD: (.exr -1)
ExceptionAddress: 00007ff99cc8ff7e (D3D12Core!CLayeredObject<CDevice>::CContainedObject::AddRef+0x000000000000000e)
ExceptionCode: c0000005 (Access violation)
ExceptionFlags: 00000000
NumberParameters: 2
Parameter[0]: 0000000000000000
Parameter[1]: 00007ff9e25e61e0
Attempt to read from address 00007ff9e25e61e0
PROCESS_NAME: vmware-vmx.exe
READ_ADDRESS: 00007ff9e25e61e0
ERROR_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%p referenced memory at 0x%p. The memory could not be %s.
EXCEPTION_CODE_STR: c0000005
EXCEPTION_PARAMETER1: 0000000000000000
EXCEPTION_PARAMETER2: 00007ff9e25e61e0
STACK_TEXT:
0000004f`cceff410 00007ff9`9ccb8b24 : 00000000`00000000 0000004f`cceff730 00000246`80b69400 00007ffa`0c583191 : D3D12Core!CLayeredObject<CDevice>::CContainedObject::AddRef+0xe
0000004f`cceff440 00007ff9`9ccab315 : 00000000`0000b100 0000004f`cceff730 00000246`80b69400 00000000`00000000 : D3D12Core!D3D12CoreCreateDevice+0x2c0
0000004f`cceff6c0 00007ff9`9ccab138 : 00000000`00000000 00000000`0000b100 00007ff6`9409f188 00007ffa`053e05d3 : D3D12Core!D3D12ValidateAndCreateDeviceImpl+0x1d1
0000004f`cceff750 00007ffa`053d82a3 : 00000000`00000000 00000000`0000b100 00000000`00000000 00000000`00000000 : D3D12Core!D3D12ValidateAndCreateDevice+0x38
0000004f`cceff7a0 00007ffa`053d70eb : 00000000`00000000 00000246`80b69400 00000000`0000b100 00000000`00000002 : D3D12!D3D12CreateDeviceImpl+0x93
0000004f`cceff800 00007ff6`937e760c : 00000246`80b27260 0000004f`cceff940 00007ffa`07703e90 00000000`00000000 : D3D12!D3D12CreateDevice+0x3b
0000004f`cceff840 00007ff6`93734219 : 00000000`000000b0 00000246`80b27260 00000246`80b27260 00000000`00012372 : vmware_vmx+0x26760c
0000004f`cceffa80 00007ff6`93731a99 : 00000246`80b27260 00000000`00000000 00000000`00000fe9 00000000`000003e5 : vmware_vmx+0x1b4219
0000004f`cceffab0 00007ff6`936f7899 : 00000000`00000003 ffffffff`ffffffff 00007ff6`94048bb4 00007ff6`94048238 : vmware_vmx+0x1b1a99
0000004f`cceffb40 00007ff6`936f8172 : 00000000`00000007 0000004f`cceffbd3 00000000`00000003 00000000`00000000 : vmware_vmx+0x177899
0000004f`cceffbb0 00007ff6`936f3516 : 00000000`00000490 00000000`00000000 00000000`00000001 00000000`00000001 : vmware_vmx+0x178172
0000004f`cceffc00 00007ff6`936f421f : 00007ff6`94048238 00000000`00000001 00007ff6`94048238 00007ff6`94048238 : vmware_vmx+0x173516
0000004f`cceffc30 00007ff6`936cab7c : 00000000`00000490 00000000`00000000 00000000`00000000 00000000`00000100 : vmware_vmx+0x17421f
0000004f`cceffc80 00007ff6`93dd0070 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : vmware_vmx+0x14ab7c
0000004f`cceffcc0 00007ffa`0d72e8d7 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : vmware_vmx+0x850070
0000004f`cceffd50 00007ffa`0edec53c : 00000000`00000000 00000000`00000000 000004f0`fffffb30 000004d0`fffffb30 : kernel32!BaseThreadInitThunk+0x17
0000004f`cceffd80 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart+0x2c
STACK_COMMAND: ~6s; .ecxr ; kb
IP_IN_PAGED_CODE:
D3D12Core!CLayeredObject<CDevice>::CContainedObject::AddRef+e
00007ff9`9cc8ff7e 488b4008 mov rax,qword ptr [rax+8]
SYMBOL_NAME: D3D12Core!CLayeredObject<CDevice>::CContainedObject::AddRef+e
MODULE_NAME: D3D12Core
IMAGE_NAME: D3D12Core.dll
FAILURE_BUCKET_ID: INVALID_POINTER_READ_c0000005_D3D12Core.dll!CLayeredObject_CDevice_::CContainedObject::AddRef
OS_VERSION: 10.0.26100.1
BUILDLAB_STR: ge_release
OSPLATFORM_TYPE: x64
OSNAME: Windows 10
IMAGE_VERSION: 10.0.26100.7019
FAILURE_ID_HASH: {106b3a41-12dc-c010-0173-64fc7ffffb59}
Followup: MachineOwner
---------
Relevant details from the vmware.log file:
2026-01-05T20:56:20.976Z -WARNING vmware-vmx.exe 9960 [ws@4413 threadName="svga"] DX12Window::Present: hr=DXGI_ERROR_DEVICE_REMOVED
2026-01-05T20:56:20.976Z -WARNING vmware-vmx.exe 9960 [ws@4413 threadName="svga"] -- DETECTED D3D12 DEVICE REMOVAL --
2026-01-05T20:56:20.976Z -INFO vmware-vmx.exe 9960 [ws@4413 threadName="svga"] MKSRenderMain: LostRenderer
2026-01-05T20:56:20.976Z -INFO vmware-vmx.exe 9960 [ws@4413 threadName="svga"] MKSRenderMain: ResetRenderer (in LostRenderer)
2026-01-05T20:56:20.988Z -INFO vmware-vmx.exe 9960 [ws@4413 threadName="svga"] DX12Window::ResizeSwapChain: LOCAL budget 64656M usage 4M avail 32456M res 0M
2026-01-05T20:56:20.988Z -INFO vmware-vmx.exe 9960 [ws@4413 threadName="svga"] DX12Window::ResizeSwapChain: NON-LOCAL budget 0M usage 0M avail 0M res 0M
2026-01-05T20:56:20.988Z -WARNING vmware-vmx.exe 9960 [ws@4413 threadName="svga"] DX12Window::ResizeSwapChain: hr=DXGI_ERROR_DEVICE_REMOVED
2026-01-05T20:56:20.991Z -INFO vmware-vmx.exe 9960 [ws@4413 threadName="svga"] DX12Window::CreateSwapChain: LOCAL budget 64656M usage 0M avail 32456M res 0M
2026-01-05T20:56:20.991Z -INFO vmware-vmx.exe 9960 [ws@4413 threadName="svga"] DX12Window::CreateSwapChain: NON-LOCAL budget 0M usage 0M avail 0M res 0M
2026-01-05T20:56:20.991Z -WARNING vmware-vmx.exe 9960 [ws@4413 threadName="svga"] DX12Window::CreateSwapChain: hr=DXGI_ERROR_DEVICE_REMOVED
2026-01-05T20:56:20.991Z -WARNING vmware-vmx.exe 9960 [ws@4413 threadName="svga"] DX12Presentation: DXGI_SWAP_EFFECT_FLIP_DISCARD failed with hr = 0x887a0005
2026-01-05T20:56:20.992Z -INFO vmware-vmx.exe 9960 [ws@4413 threadName="svga"] MKSRenderMain: Stopping ISB (DX12)
2026-01-05T20:56:20.992Z -INFO vmware-vmx.exe 9960 [ws@4413 threadName="svga"] ISBRendererComm: Waiting on mksSandbox exit
I suspect that when Windows enforces the inactivity limit, it dumps to the login screen in a way that at least temporarily makes the 3D acceleration capabilities go away. But apparently it does so in a way that crashes vmware-vmx.exe's svga thread.
It would be nice if it didn't crash.
-------------------------------------------