V8 Maglev JIT causes STATUS_STACK_BUFFER_OVERRUN (0xC0000409) on Windows 11 Insider build 26200
还没有人认领这个 Issue。
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 35/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 冷清
- 技术栈
- javascript, nodejs
调研方向
未确定源文件或测试。首先在 Windows 11 Insider build 26200 上使用 Node.js v25.8.0 重现崩溃,并比较默认执行与 --no-maglev 和 --no-turbofan 下的执行结果。完成标准是确定已确认的 Maglev/Windows 原因,并在不需要 --no-maglev 的情况下阻止 STATUS_STACK_BUFFER_OVERRUN。
由索引模型根据 Issue 内容生成。
描述
What happened?
Node.js processes crash with exit code -1073740791 (0xC0000409 / STATUS_STACK_BUFFER_OVERRUN) within 20-70 seconds of startup when running a non-trivial application (WebSocket server with HTTP, Telegram bot polling, and plugin system) on Windows 11 Insider (Canary channel).
The crash is caused by V8's Maglev JIT compiler tier. Workaround: --no-maglev flag eliminates the crash entirely.
Reproduction
Environment:
- Node.js: v25.8.0
- V8: 14.1.146.11-node.20
- OS: Windows 11 Pro for Workstations, Insider Canary build 10.0.26200.0
- Arch: x64
Steps:
- Run a long-lived Node.js application that uses
fetch(), WebSocket, and timers on Windows 11 Insider build 26200 - Process crashes with exit code
-1073740791(0xC0000409) within 20-70 seconds - No JavaScript stack trace — the crash is in native JIT-compiled code via
__fastfail
Flags tested:
| Flag | Crash? | fetch() works? |
|---|---|---|
| (none) | Yes — crashes in 20-70s | Yes |
--jitless |
No | No — undici fetch broken |
--no-maglev |
No | Yes |
--no-turbofan |
No | Yes |
--no-maglev is the minimal workaround — disabling only the Maglev tier prevents the crash while keeping TurboFan and fetch() functional.
Additional context:
- A bare Node.js HTTP server (
http.createServer) does NOT crash — the issue requires enough code to trigger Maglev optimization - Crash bypasses Windows Error Reporting (
__fastfail/ SEH) - Windows Event Viewer shows the Insider build has kernel-level instability (BlueScreen events, VIDEO_ENGINE_TIMEOUT_DETECTED), suggesting stricter CFG enforcement
- The same application runs without issues on Windows Server 2019 and stable Windows builds
Expected behavior
Node.js should not crash with STATUS_STACK_BUFFER_OVERRUN. Maglev-compiled code should respect Windows CFG/CET enforcement on Insider builds.
Workaround
Pass --no-maglev as a command-line flag (cannot be set via NODE_OPTIONS):
node --no-maglev app.js
- 主要语言
- JavaScript
- 星标
- 122k
- 派生
- 37.4k
- 平均合并
- 4 天 3 小时
- 30 天内合并 PR
- 273
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
nodejs/node 的其他 Issue
-
doc
难度 2/5 1-3 小时 新手友好度 65/100
-
build
难度 1/5 1 小时以内 新手友好度 88/100
-
难度 2/5 1-3 小时 新手友好度 84/100
-
难度 1/5 1 小时以内 新手友好度 90/100
-
feature request
难度 2/5 1-3 小时 新手友好度 68/100
相似的 Issue
-
bug
难度 2/5 1-3 小时 新手友好度 76/100
avniproject/avni-client#2135 ·
-
automated broken-link
难度 1/5 1 小时以内 新手友好度 85/100
-
agent/security hive/hosted-available-lke648397-260827-5n31 security
难度 2/5 1-3 小时 新手友好度 84/100
-
enhancement
难度 2/5 1-3 小时 新手友好度 70/100
babalae/bettergi-scripts-list#3674 ·
-
A-Release-Notes C-Editing D-Modest S-Ready-For-Implementation
难度 2/5 1-3 小时 新手友好度 72/100
bevyengine/bevy-website#2595 ·