You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
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:
Summary
node.exev24.15.0 intermittently crashes with a native fault duringnpm citarball extraction on Windows. The crash produces exit code 57005 (0xDEAD). v24.14.1 is not affected.Environment
windows.vs2026preview.scout.amd64.open)Reproduction
The crash occurs during
npm ciin 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).Crash Evidence
Windows Event Log (Application Error, ID 1000)
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 withmaxsockets=10). The log ends mid-extraction at thesilly tarballphase — different packages each time, but identical byte count. This suggests the process hits a deterministic resource threshold before being killed.What we ruled out
RealTimeProtectionEnabledis disabled on CI agentsNODE_OPTIONS=--report-uncaught-exceptionproduced no report — the crash bypasses JS error handling.npmrcissuesSuspected 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:
buffer: disallow ArrayBuffer transfer on pooled buffer— buffer: disallow ArrayBuffer transfer on pooled buffer #61372 — Changes buffer transfer lifecycle; npm extraction is extremely buffer-intensivenode.exe, not npm JS codeWorkaround
We pinned to Node.js v24.14.1 in our CI pipeline (dotnet/aspnetcore#66465). Zero crashes since the pin.
Example CI builds