Skip to content
Latchkey

CI Step "Killed" Exit Code 137 (OOM)

Exit code 137 is 128 + 9, meaning the process received SIGKILL. On a memory-limited runner that is almost always the out-of-memory killer terminating the heaviest process.

What this error means

A step ends abruptly with Killed and the runner reports exit code 137. There is rarely a stack trace because SIGKILL cannot be caught. Re-running on a larger runner usually passes unchanged.

github-actions
Killed
##[error] Process completed with exit code 137.

Common causes

The job exceeded the runner memory ceiling

A compile, bundler, test suite, or data load spiked past available RAM, so the kernel OOM killer terminated the largest process with SIGKILL.

A container memory limit is too low

When the job runs with --memory/-m set, exceeding that limit triggers the same kill at exit 137 even with free host RAM.

How to fix it

Give the job more memory

  1. Run on a larger runner with more RAM.
  2. Raise or remove an explicit container --memory limit if one is set.
  3. Cap language heaps below the ceiling (NODE_OPTIONS=--max-old-space-size=4096, JVM -Xmx).

Confirm it was memory, then reduce peak usage

Check the kernel log for the OOM event, then lower the high-water mark.

shell
dmesg -T | grep -i -E 'killed process|out of memory'
make -j2   # instead of -j$(nproc)

How to prevent it

  • Right-size runners for memory-heavy builds.
  • Set language heap limits relative to runner RAM.
  • Watch peak memory in CI to catch growth early.

Frequently asked questions

What causes "Exit code 137 (OOM)"?
A compile, bundler, test suite, or data load spiked past available RAM, so the kernel OOM killer terminated the largest process with SIGKILL.
How do I fix Exit code 137 (OOM)?
Give the job more memory
Can Latchkey fix this automatically?
Yes. Latchkey runs your GitHub Actions on managed runners that detect this failure, apply the fix, and retry the job automatically - self-healing is on by default.

Related guides

References

Latchkey auto-heals failures like this one - detected, fixed, and retried without you. Start free → 30-day trial · No credit card