Therac-25 Radiation Machine Kills Six Patients Due to Race Condition

What happened
The Therac-25 radiation therapy machine killed at least six patients and seriously injured others between 1985 and 1987. A software race condition removed hardware safety interlocks that earlier models had relied on, allowing the machine to deliver lethal radiation doses.[1]
What went wrong
Developers removed physical safety interlocks when they added software checks, then introduced a race condition that allowed high-powered mode to activate without the beam collimator in place. The bug only triggered under specific fast-typing sequences, making it nearly impossible to reproduce in testing.[1]
Lesson learned
Safety-critical systems must never rely solely on software interlocks without hardware redundancy. Race conditions in embedded systems can be lethal — concurrent code paths must be validated exhaustively, not just under normal timing conditions.
Sources
- [1]
External links can go dark — pages move, paywalls appear, domains expire. Every source above includes a Wayback Machine snapshot link as a fallback. All citations are best-effort research; if a source contradicts our summary, the primary source takes precedence.