[Windows][Codex 26.715.4045.0] Page.captureScreenshot crashes GPU process after Code Integrity Event 3033 rejects bundled vk_swiftshader.dll

Open 💬 1 comment Opened Jul 19, 2026 by xiaosai72825

[Windows] In-app Browser screenshot crashes the GPU process when Code Integrity rejects bundled vk_swiftshader.dll
Summary
On Windows 10, Codex desktop 26.715.4045.0 can become extremely slow, freeze, or fail to reopen after an agent uses the in-app Browser to capture a webpage screenshot. Immediately before the failure, Windows Code Integrity records Event ID 3033 for the packaged vk_swiftshader.dll. Codex then logs that the Chromium GPU child crashed, its relaunch failed, and Page.captureScreenshot could not complete.
The affected Codex package is healthy (Status: Ok), and the DLL verifies against the MSIX package catalog. A same-version Microsoft Store in-place repair restores application startup, but it does not remove the recurrence risk.
Environment
OS: Windows 10 Pro 22H2, build 19045
Codex package: OpenAI.Codex_26.715.4045.0_x64__2p2nqsd0c76g0
Codex version: 26.715.4045.0
Packaged Chromium version: 150.0.7871.124
GPU: NVIDIA GeForce RTX 4060 Ti
NVIDIA driver: 581.57
Package state after Store repair: Ok
Reproduction
Start Codex desktop.
Run an agent action that opens a normal webpage in the in-app Browser. The issue was reproduced on a Perplexity result page, but it is not known to be site-specific.
Let the Browser tool capture the page through CDP Page.captureScreenshot.
Observe a Windows Code Integrity 3033 event followed by a Chromium GPU-process crash and failed relaunch.
Expected result
The screenshot succeeds, the GPU child remains alive, and the Codex UI stays responsive.
Actual result
Windows Code Integrity records:
Event ID: 3033
Process: ChatGPT.exe
DLL: vk_swiftshader.dll
Status: 0xC0000428
RequestedPolicy: 8
ValidatedPolicy: 1
Codex then records the following causal sequence:
In-app Browser page reached dom-ready
Recoverable Chromium child process gone: processType=GPU, reason=crashed, exitCode=101457950
Recoverable Chromium child process gone: processType=GPU, reason=launch-failed, exitCode=18
Unable to capture screenshot: request=executeCdp:Page.captureScreenshot
The UI then becomes extremely sluggish or unusable. In some occurrences, Codex cannot be opened normally until the Microsoft Store package is repaired/restaged.
Verified technical findings
The Codex MSIX package reports Status: Ok; no package corruption was found.
vk_swiftshader.dll has no embedded Authenticode signature.
The same DLL successfully verifies against the package's signed AppxMetadata\CodeIntegrity.cat catalog.
The DLL SHA-256 in the reproduced package is C5D063024A670677ED580B80EFA90ABBBF36A8F6FFF15F7C6B4A26C475F276BB.
The effective GPU-child mitigation was observed as MicrosoftSignedOnly=ON and AllowStoreSignedBinaries=OFF.
No machine-wide or persistent per-application IFEO signing-policy override remains present.
NVIDIA's signed overlay module nvspcap64.dll was also rejected in some runs. It may add instability, but it is not required for the primary reproduction: the vk_swiftshader.dll Event 3033, GPU crash, relaunch failure, and screenshot failure occur in one direct sequence.
Existing conversations, attachments, and generated images remained intact.
Recovery status
A Microsoft Store in-place restage of the same version restored application startup and the package returned to Ok. The risky screenshot action was intentionally not repeated after recovery, because the installed version and the triggering binary are unchanged. This confirms recovery of startup, not a permanent fix.
Suggested product fix
Please keep Windows Code Integrity enabled and fix the packaged GPU initialization path instead of asking users to weaken system security.
Verify or backport Chromium change 963206a961a7992b048d07f756f87f11fa2e5420, which only preloads SwiftShader during GPU sandbox initialization when that load is allowed and otherwise uses the Windows fallback path.
If the Store/MSIX build must load catalog-signed bundled GPU DLLs under the binary-signature mitigation, create the GPU child with a compatible Store-signed-binary policy, or ship vk_swiftshader.dll with a signing level accepted by that child policy.
Add a packaged-Windows regression test with Code Integrity enabled that repeatedly opens an in-app Browser page and calls CDP Page.captureScreenshot.
Ensure a GPU-child launch failure degrades gracefully instead of freezing the entire desktop UI or preventing the next startup.
Microsoft documentation for the relevant mitigation policy:
PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY
UpdateProcThreadAttribute and child-process mitigation policy
Privacy note
The original webpage URL and conversation identifiers are intentionally omitted. The full local logs and Windows Event XML can be supplied privately if requested.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗