Repository navigation
Conversation
173787247
force-pushed
the
fix/win11-gpu-sandbox-fallback
branch
3 times, most recently
from
November 5, 2026 13:45
bf4eb69 to
af3a8b0
Compare
173787247
force-pushed
the
fix/win11-gpu-sandbox-fallback
branch
from
November 5, 2026 15:32
af3a8b0 to
5fd3ca4
Compare
Author
|
Rebased onto current master |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary / 摘要
A sandboxed GPU child that dies with Windows
STATUS_BREAKPOINT(0x80000003) leaves Chromium no working GPU mode. It retries every mode and then ends the browser process, so the user only sees that nothing opens — the symptom in #1487 and #1323 (and the discussion thread "GPU子进程崩溃 exitCode 0x80000003"). Electron reports that child asreason: 'crashed', notlaunch-failed, so the existing sandbox explanation insandbox-launch.tsnever runs.This change recognizes the signature in the Beta and Next shells, records it in diagnostics, and relaunches once with
--disable-gpu-sandbox— the workaround documented for the Chromium/native-sandbox regression and used by other Electron apps (desktop/desktop#22306). The switch stays on the relaunched command line, so a second failure is not retried into a loop. Every child except the GPU process keeps its sandbox.沙箱化的 GPU 子进程以 Windows
STATUS_BREAKPOINT(0x80000003)退出后,Chromium 没有可用的 GPU 模式,会在窗口出现前结束浏览器进程,用户只看到「双击没反应」(#1487、#1323、讨论帖同签名)。Electron 把这种退出报告为reason: 'crashed'而非launch-failed,现有说明对话框不会触发。本 PR 在 Beta 与 Next 外壳中识别该签名、写入诊断,并只重启一次,带上
--disable-gpu-sandbox(原生沙箱回归的已知规避方式,其他 Electron 应用也在用)。该参数会留在重启后的命令行里,因此再次失败不会循环重启;除 GPU 外其余子进程的沙箱保持不变。Related Issues / 关联 Issue
2.0.18icaclsgrant on the install dir and is not addressed hereType / 类型
Platforms / 影响平台
Verification / 验证
corepack yarn workspace dsh-plugin-desktop-beta exec vitest run tests/sandbox-launch.spec.ts tests/main-lifecycle.spec.ts— 76 passedcorepack yarn workspace dsh-desktop-next exec vitest run tests/sandbox-launch.spec.ts tests/main-lifecycle.spec.ts— 76 passedcorepack yarn workspace dsh-plugin-desktop-beta typecheck— 0corepack yarn workspace dsh-desktop-next typecheck— 0node scripts/verify-desktop-variants.mjs— 268 files aligned between Next and Betacorepack yarn test— full suites are not green in this checkout: 6 (Beta) / 5 (Next) tests fail withENOENT … deepseek-harness/…because the pinned upstream submodule is not initialized here. The failing files aresign-runtime,mac-entitlements,prepare-runtime,primary-runtime,prune-python-tests; none touch this change.corepack yarn check— not run (needs the initialized submodule and a full build)install_dir_access.cccheck produces a clear FATAL for the ACL variant instead of0x80000003. So the change is based on the upstream reports and the identical signature in [Win11 26200][2.0.18] 启动即崩:GPU process launch failed: error_code=18 → GPU process isnt usable. Goodbye.(startup.jsonl 停在 runtime-bootstrap,仅 --no-sandbox 可启动) #1487; it has not been verified against a machine that still crashes.Release Notes / 发布说明
Windows: if a GPU process dies with
STATUS_BREAKPOINTduring startup, DSH Desktop Beta / DSH NEXT restart once with only the GPU sandbox disabled (--disable-gpu-sandbox) instead of exiting with no window.