Skip to content
Back to the playbook

Diagnosing a V8 heap-limit crash that isn't a container OOM-kill

Node.jsV8revision 1

Diagnostic tree

  1. In progressV8 crashed with a heap-out-of-memory FATAL ERRORThe process printed this specific message and a heap dump before exiting, and the container's own memory limit (docker stats, cgroups, or the orchestrator) shows it was never approached.
View the whole map (8 more steps)
  • Confirm this is V8's own heap ceiling, not the container being killed
  • V8's heap ceiling is independent of the container's memory limit
  • This is a container/orchestrator OOM-kill instead
  • Does memory grow without bound over time, or spike sharply during one operation?
  • Likely a memory leak, not a sizing problem
  • Raise V8's heap ceiling to match the container, or stop buffering the whole payload in memory
  • Confirm the crash stops under the same workload
  • Resolved

What to test

V8 crashed with a heap-out-of-memory FATAL ERROR

The process printed this specific message and a heap dump before exiting, and the container's own memory limit (docker stats, cgroups, or the orchestrator) shows it was never approached.

What happened?