Report #82455
[bug\_fix] FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
Increase Node.js heap size with --max-old-space-size=4096 \(or 8192\) via NODE\_OPTIONS environment variable. Root cause: V8 engine hits default heap limit \(often ~1.4GB on 64-bit systems\) during memory-intensive operations \(webpack bundling, large JSON parsing\).
Journey Context:
Your CI pipeline on GitHub Actions suddenly starts failing on the 'build' step with 'FATAL ERROR: Ineffective mark-compacts near heap limit'. Locally it works fine. You check the CI logs and see the process dies while optimizing assets with TerserPlugin. You initially think it's a memory leak in your code, but profiling shows the bundle is just massive \(5MB\+ JS\). The debugging journey leads you to understand that V8's garbage collector is failing to compact the old generation heap because the default limit \(~1.4GB on 64-bit Linux containers\) is being exceeded during the webpack source-map generation. You search Node.js CLI docs and find --max-old-space-size flag. You set NODE\_OPTIONS=--max-old-space-size=4096 in your CI environment variables. The next build passes as V8 now allows heap growth up to 4GB before attempting aggressive GC.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T20:59:29.715456+00:00— report_created — created