V8 Maglev JIT causes STATUS_STACK_BUFFER_OVERRUN (0xC0000409) on Windows 11 Insider build 26200
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- JavaScript
- Star
- 122k
- Fork
- 37.4k
- Merge trung bình
- 4 ngày 3 giờ
- Pull request đã merge (30 ngày)
- 272
Mô tả
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
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Không xác định được tệp mã nguồn hoặc bài kiểm thử nào. Hãy bắt đầu bằng cách tái hiện lỗi crash trên Windows 11 Insider build 26200 với Node.js v25.8.0, so sánh việc thực thi mặc định với --no-maglev và --no-turbofan. Hoàn thành nghĩa là xác định được nguyên nhân Maglev/Windows đã được xác nhận và ngăn STATUS_STACK_BUFFER_OVERRUN mà không yêu cầu --no-maglev.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- javascript, nodejs
- Lĩnh vực
- backend, operating-systems
- Loại issue
- Lỗi
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức độ hoạt động
- Ít trao đổi
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 35/100