nodejs/node

Node.js v24.15.0: native crash (exit code 57005/0xDEAD) during npm ci on Windows

Open

#62,991 opened on Apr 27, 2026

View on GitHub
 (8 comments) (1 reaction) (0 assignees)JavaScript (117,218 stars) (35,535 forks)batch import
help wantedwindows

Description

Summary

node.exe v24.15.0 intermittently crashes with a native fault during npm ci tarball extraction on Windows. The crash produces exit code 57005 (0xDEAD). v24.14.1 is not affected.

Environment

  • OS: Windows Server 2025 (10.0.26100) — Azure DevOps CI agents (windows.vs2026preview.scout.amd64.open)
  • Node: v24.15.0 (crashes), v24.14.1 (no crashes)
  • npm: 11.12.1 (bundled with 24.15.0)
  • CPU: AMD64, Standard_D4a_v4 (4 vCPU, 16GB RAM)
  • Disk: ~147GB free (not a space issue)

Reproduction

The crash occurs during npm ci in the dotnet/aspnetcore repository, which has ~1400 npm dependencies. The crash happens during the tarball extraction phase (after all packages are downloaded from the registry).

  • Frequency: ~43% of Windows CI builds over a 10-day period
  • Linux/macOS: Never observed — Windows only
  • First occurrence: Build 1381847, queued 2026-04-16T11:37:14Z — approximately 4 hours after v24.15.0 was published
  • Zero crashes on v24.14.1 across hundreds of builds

Crash Evidence

Windows Event Log (Application Error, ID 1000)

Faulting application name: node.exe, version: 24.15.0.0
Faulting module name: (empty)
Exception code: 0x...
Faulting process id: 2e0c
Faulting application path: C:\ToolCache\node\24.15.0\x64\node.exe
Report Id: d4db47fc-5298-47bc-a98f-13aebaa4d464

This confirms a native-level crash in node.exe, not a JavaScript exception.

npm debug log analysis

Across multiple independent crashes, the npm debug log is truncated at exactly the same file size (518,908 bytes with maxsockets=15, 868,502 bytes with maxsockets=10). The log ends mid-extraction at the silly tarball phase — different packages each time, but identical byte count. This suggests the process hits a deterministic resource threshold before being killed.

What we ruled out

  • Disk space: 147GB free on all crashed agents
  • Windows Defender: RealTimeProtectionEnabled is disabled on CI agents
  • JavaScript-level crash: NODE_OPTIONS=--report-uncaught-exception produced no report — the crash bypasses JS error handling
  • npm-level error: No npm error output, no .npmrc issues
  • Network: All packages downloaded successfully (cache hits), crash happens during extraction

Suspected changes in v24.15.0

The crash is in the native layer during buffer-heavy tarball extraction. Potentially relevant changes between v24.14.1 and v24.15.0:

  1. buffer: disallow ArrayBuffer transfer on pooled bufferhttps://github.com/nodejs/node/pull/61372 — Changes buffer transfer lifecycle; npm extraction is extremely buffer-intensive
  2. V8 cherry-pick related to the buffer changehttps://github.com/nodejs/node/pull/62567
  3. npm 11.11.0 → 11.12.1 upgradehttps://github.com/nodejs/node/pull/62448 — Though the crash is in node.exe, not npm JS code

Workaround

We pinned to Node.js v24.14.1 in our CI pipeline (dotnet/aspnetcore#66465). Zero crashes since the pin.

Example CI builds

Contributor guide