nodejs / nodejs/node

V8 Maglev JIT causes STATUS_STACK_BUFFER_OVERRUN (0xC0000409) on Windows 11 Insider build 26200

Đang mở
#62,260 8 bình luận 2 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

v8 engine
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:

  1. Run a long-lived Node.js application that uses fetch(), WebSocket, and timers on Windows 11 Insider build 26200
  2. Process crashes with exit code -1073740791 (0xC0000409) within 20-70 seconds
  3. 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

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. 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

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.