Killed by a Race Condition: The Therac-25 Radiation Machine

A cancer therapy machine designed to save lives instead delivered radiation doses up to 100 times too high, burning holes through patients from the inside. The killer wasn't a broken part — it was a software bug that only triggered when an experienced operator typed too fast. This is the story that still haunts every safety-critical programmer.

by rbtholeJul 29, 2026
  1. History's Worst Software Error (Kyle Hill)

    The definitive popular retelling: how a state-of-the-art radiotherapy device started massively overdosing patients in the mid-1980s, and why the manufacturer kept insisting it was impossible.

  2. A Brief History of: The Killer Therac-25 (Plainly Difficult)

    A calm, well-sourced short documentary that walks through each incident and victim in order, grounding the horror in the actual timeline of failures and cover-up.

  3. Killed by a Machine: The Therac-25 (Hackaday)

    An engineer's-eye account of exactly how the machine worked, where the previous model's hardware interlocks were removed, and how software was trusted to do a job it was never proven safe for.

  4. Therac-25 (Wikipedia)

    The reference record: at least six accidents, three deaths, the shared code inherited from the Therac-20, and the concurrency bug hidden in a one-byte counter that overflowed.

  5. When Software Kills: Fatal Bugs in the Therac-25 (Dave's Garage)

    A veteran Microsoft engineer dissects the actual race condition — how fast keystrokes let the beam fire before the machine finished setting up — from a working programmer's perspective.

  6. The Canonical Investigation: Leveson & Turner (PDF)

    The original scholarly autopsy by Nancy Leveson and Clark Turner — still taught in engineering courses worldwide. This paper is why 'Therac-25' is shorthand for how software safety must be engineered, not assumed.

  7. Anatomy of the Race Condition

    A focused technical explainer on the concurrency flaw itself: two processes, no locking, and a timing window where a confident operator could out-type the machine's safety checks.

More rabbit holes