News, views, tips and tricks on Oracle and other fun stuff

Ten Worst Software Bugs

Before going into the worst bugs, do you know why computer program errors are called “bugs” and why developers like myself “debug” programs? It all goes back to September, 1945. Here is the story:

Moth found trapped between points at Relay # 70, Panel F, of the Mark II Aiken Relay Calculator while it was being tested at Harvard University, 9 September 1945. The operators affixed the moth to the computer log, with the entry: “First actual case of bug being found”. They put out the word that they had “debugged” the machine, thus introducing the term “debugging a computer program”.

Here is the log, with the moth still taped by the entry:


Now on to the worst moths… Oops, I mean bugs. Wired News published an article about history’s worst software bugs. Here is a summary of the 10 worst software bugs in chronological order:

  • 1962 — Mariner I space probe. A bug in the flight software for the Mariner 1 causes the rocket to divert from its intended path on launch.

  • 1982 — Soviet gas pipeline. Operatives working for the CIA allegedly plant a bug in a Canadian computer system purchased to control the trans-Siberian gas pipeline. The resulting event is reportedly the largest non-nuclear explosion in the planet’s history.

  • 1985-1987 — Therac-25 medical accelerator. A radiation therapy device malfunctions and delivers lethal radiation doses at several medical facilities.

  • 1988-1996 — Kerberos Random Number Generator. The authors of the Kerberos security system neglect to properly “seed” the program’s random number generator with a truly random seed.

  • 1990 — AT&T Network Outage. A bug in a new release of the software that controls AT&T’s #4ESS long distance switches causes these mammoth computers to crash.

  • 1993 — Intel Pentium floating point divide. A silicon error causes Intel’s highly promoted Pentium chip to make mistakes when dividing floating-point numbers that occur within a specific range.

  • 1995-1996 — The Ping of Death. A lack of sanity checks and error handling in the IP fragmentation reassembly code makes it possible to crash a wide variety of operating systems by sending a malformed “ping” packet from anywhere on the internet.

  • 1996 — Ariane 5 Flight 501. Working code for the Ariane 4 rocket is reused in the Ariane 5, but the Ariane 5’s faster engines trigger a bug in an arithmetic routine inside the rocket’s flight computer.

  • 2000 — National Cancer Institute, Panama City. In a series of accidents, therapy planning software created by Multidata Systems International, a U.S. firm, miscalculates the proper dosage of radiation for patients undergoing radiation therapy.

I noticed that “Y2K” did not make the list. I guess because it was not the worst or it was not a bug, or is it?

Filed in Technology on 05 Dec 05 | Tags: ,

Reader's Comments

  1. |

    This is not a top ten list of software bugs.

    1982 — Soviet gas pipeline.

    This is not a bug, being deliberate.

    1993 — Intel Pentium floating point divide. ( This is a hardware problem and so (arguably) is this

    1996 — Ariane 5 Flight 501

    as it’s an hardware exception caused by arithemtic overflow.

    Which maybe just goes to prove how difficult it is to diagnose faults in complex systems.

    Incidentally, why no mention of the Mars Polar Orbiter debacle? Some programmers using metric, others using imperial: now that’s what I call a software bug!

    Cheers, APC

  2. |

    Oops – looks like I need to brush up on my Markdown syntax 🙁

  3. |

    What about the blackouts in 2003. I thought the general census was it was a routing bug that caused the grids to be overloaded.

  4. |

    This article is very informative and interesting. I request you to kindly give a list of newer costlier bugs from 2000 to 2007 also.


  5. |

    I heard the hubble space telescope had a serious flaw in it’s mirror resulting from a small bug in the software controlling the machine that made it.

  6. |

    Are you tired of crappy software? I am… and I have decided to do something about it!

    I have started a campaign to improve software quality worldwide.

    I want to force rich development companies to take responsibility for their poor development efforts!

    Let’s expose software bugs to the public, so that development companies are forced to release better software!