Skip to content

Log signatures

FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory

or

<--- Last few GCs --->
<--- JS stacktrace --->
FATAL ERROR: Ineffective mark-compacts near heap limit

Exit code: often 134 (SIGABRT on Unix)

Mitigation (temporary): NODE_OPTIONS=--max-old-space-size=4096 — buys time, does not fix leak.

State: Terminated
Reason: OOMKilled
Exit Code: 137

Kernel killed process — may not include JS stack trace.

Check kubectl describe podLast State, memory limits vs rss metrics.

Chrome: “Aw, Snap!” / error code RESULT_CODE_KILLED — often after long leak session.

Less explicit than Node — use Performance monitor before crash.

(node) WARNING: Excessive number of pending callbacks
MaxListenersExceededWarning

Investigate — often correlates with listener/timer leaks.

flowchart TD
  logs[Log line]
  jsOOM[V8 heap OOM exit 134]
  kubeOOM[OOMKilled exit 137]
  logs --> jsOOM
  logs --> kubeOOM
  jsOOM --> fix[Fix retention in code]
  kubeOOM --> fix