Skip to content
Latchkey

Exit Code 140 in CI: SIGUSR2 / Signal 12 Termination Explained

Exit code 140 means signal 12 (128 + 12) - usually SIGUSR2, an application-defined signal.

A step exiting 140 was terminated by SIGUSR2. This signal has no default kernel meaning; the application or a tool assigned it one.

What it means

140 = 128 + 12. SIGUSR2 is the second user-defined signal. Some servers use it for zero-downtime restarts; if a program receives it without a handler, the default action terminates it.

Common causes

  • A tool sent SIGUSR2 expecting a reload/restart handler.
  • A supervisor repurposed USR2 for control.
  • A misrouted signal to the wrong PID.

How to fix it

Check which process sent SIGUSR2 and what it expects. Add a handler if the program is supposed to react, or stop sending the signal to a process that does not handle it.

Related guides

Run this faster and cheaper on Latchkey managed runners. Start free →