I've isolated a reproducible dwm.exe fail-fast on Windows 10 22H2 and I'm looking for either confirmation that this is a known dwmcore issue in the 19041 branch, or a viable workaround. Microsoft's own reporting channels have been a dead end (Q&A auto-deletes the write-up, Feedback Hub can't hold the detail), so I'm bringing the full analysis here where it might actually be understood.
Full diagnosis below — dumps ruled out third-party injection, driver, profile, and AppX state; it reproduces across three separate user profiles including a fresh one.
Summary
dwm.exe terminates via fail-fast when browsing product pages in the Microsoft Store app. Desktop composition restarts, producing a 1–2 second black screen. Reproducible on demand.
The termination is a pure virtual call (ucrtbase!purecall) inside dwmcore!CExpressionManager::UpdateExpressions, i.e. a virtual dispatch on an object whose destructor has already run — an object-lifetime race in the expression evaluator, on the composition (vblank) thread.
Environment
-
Windows 10 22H2, build 19045 (build lab
19041.1.amd64fre.vb_release.191206-1406) -
dwm.exe10.0.19041.7417 -
dwmcore.dllsame servicing branch -
ucrtbase.dll10.0.19041.7181 -
GPU: NVIDIA RTX 4070 SUPER
-
Last LCU/SSU: KB5094145 + KB5094127 (2026-06-12)
Crash signature (identical across all four captured dumps)
Failure.Bucket: FAIL_FAST_FATAL_APP_EXIT_c0000409_ucrtbase.dll!abort
Failure.Hash: {e31753ac-c98a-8055-3663-47e707543d20}
Exception Code: 0xc0000409
Subcode: 0x7 FAST_FAIL_FATAL_APP_EXIT
Stack, identical in every dump, same offsets:
ucrtbase!abort+0x4e
ucrtbase!purecall+0x2d
ucrtbase!__crt_state_management::wrapped_invoke<int (__cdecl*)(void),int>+0x18
dwmcore!CExpressionManager::UpdateExpressions+0x112
dwmcore!CComposition::PreRender+0xdf6
dwmcore!CPartitionVerticalBlankScheduler::ProcessFrame+0x55f
dwmcore!CPartitionVerticalBlankScheduler::ScheduleAndProcessFrame+0xb4
dwmcore!CConnection::RunCompositionThread+0x21d
kernel32!BaseThreadInitThunk+0x14
ntdll!RtlUserThreadStart+0x21
Repro steps
-
Open the Microsoft Store app.
-
Navigate between product pages (apps/games), scrolling and going back and forth.
-
Within a few minutes
dwm.exefail-fasts. Screen goes black 1–2 seconds while composition restarts.
Timing varies between sessions — consistent with a race condition rather than a deterministic fault.
Already ruled out
-
Third-party DLL injection:
lm fon every dump shows only modules fromC:\Windows\System32andSystem32\DriverStore. No overlay or hook DLLs loaded at crash time. -
User profile: reproduced on three separate profiles, including a freshly created local account with no Microsoft account signed in and no customization.
-
AppX package state: Store package fully unregistered and re-registered from the on-disk provisioned copy.
Status: Ok,IsPartiallyStaged: False,SignatureKind: Store. Crash persists. -
App local state:
%LOCALAPPDATA%\Packages\Microsoft.WindowsStore_8wekyb3d8bbwerenamed, forcing full regeneration. Crash persists with a freshly generated cache. -
MPO:
HKLM\SOFTWARE\Microsoft\Windows\Dwm\OverlayTestMode = 5was already set before the crashes began. -
Graphics driver: the faulting stack never enters the display driver or D3D device creation. No
nvlddmkmTDR (Event ID 4101) accompanies these crashes. -
Not memory corruption:
0xc0000409with subcode0x7is a deliberateabort()from a fail-fast path, not a corrupted stack.
Timeline
Reliability Monitor shows a perfect stability index (10/10, zero events) from 2026-06-13 through 2026-06-20. On 2026-06-21 a Store package update failed (Installation Failure ... error 0x80073D02: 9WZDNCRFJBMP-MICROSOFT.WINDOWSSTORE). The first dwm.exe crashes appear on 2026-06-22 and have recurred since. Whether the failed deployment is causally related or coincidental is unclear — the crash persists after a complete package rebuild.
Artifacts
Four full user-mode dumps with full memory (~600–800 MB each) available on request.
I'm aware this is Windows 10 on ESU, so a fix from Microsoft is unlikely. What I'm hoping for:
-
Has anyone seen this specific signature (
purecallinCExpressionManager::UpdateExpressions) before, or is it new? -
Is there any known workaround at the
dwmcore/ composition level short of avoiding the Store UI entirely? -
Is there a channel that actually reaches the composition team, given that Q&A and Feedback Hub have both been dead ends?
Full dumps available if anyone wants to look. Thanks for reading.