Skip to content
99tests Blog

21 infamous software bugs and what they cost

21 software failures from Therac-25 to CrowdStrike: what went wrong, what each cost and the testing lesson. Every figure checked against its source.

21 infamous software bugs and what they cost
In this article
  1. 1. Therac-25 radiation overdoses (1985–1987)
  2. 2. AT&T's long-distance network collapse (1990)
  3. 3. Patriot missile failure, Dhahran (1991)
  4. 4. Intel Pentium division flaw (1994)
  5. 5. Ariane 5 Flight 501 (1996)
  6. 6. Mars Climate Orbiter (1999)
  7. 7. Y2K (1995–2001)
  8. 8. Microsoft Zune 30GB freeze (2008)
  9. 9. Microsoft Azure leap-day outage (2012)
  10. 10. Nasdaq and the Facebook IPO (2012)
  11. 11. Knight Capital (2012)
  12. 12. Toyota Prius recall (2014)
  13. 13. Heartbleed (2014)
  14. 14. Flipkart's Big Billion Day (2014)
  15. 15. TSB Bank's IT migration (2018)
  16. 16. Boeing 737 MAX (2018–2019)
  17. 17. Cloudflare's global outage (2019)
  18. 18. UK Post Office Horizon scandal (1999–2015)
  19. 19. Boeing Starliner's first orbital test (2019)
  20. 20. HDFC Bank outages and the RBI's curbs (2020)
  21. 21. CrowdStrike's faulty update (2024)
  22. The patterns behind the list
  23. Numbers that get repeated wrong
  24. What this means for an ordinary app
  25. Sources

Originally published 2016. Rewritten October 2026.

We first published this list in 2016. For 2026 we rebuilt it from scratch: every figure below is checked against its source, usually an investigation report, regulator, court or company statement and otherwise a named news report, and the list now runs to 2024, with two failures from India. Some numbers that circulate widely didn't survive the check; they're listed near the end.

At a glance: The largest reported costs here belong to the Boeing 737 MAX (about $20.7 billion in grounding costs Boeing had disclosed by November 2020, by CNN's tally) and the CrowdStrike outage (an estimated $5.4 billion in direct losses for US Fortune 500 companies alone, excluding Microsoft, according to Parametrix). Y2K cost more, about $100 billion in the US, but that money went on preventing failures. The deadliest were the 737 MAX crashes, which killed 346 people, and the Patriot missile failure in Dhahran, which killed 28.

Each entry gives what happened, what it cost and the lesson for testing, in date order. Two aren't strictly single software bugs: the Pentium flaw was in a chip's design, and Y2K was a whole class of date bugs. Both earn their place for what they teach about the cost of defects.

1. Therac-25 radiation overdoses (1985–1987)

What happened: The Therac-25, a software-controlled radiation therapy machine, gave massive overdoses to patients at four clinics in the US and Canada. Race conditions in its control software, and in one case a counter that overflowed, let it fire with the wrong settings. Its maker had dropped many of the hardware safety interlocks used on earlier models and relied on software instead.

What it cost: Six known accidents between June 1985 and January 1987. Three patients died from complications of their overdoses.

Lesson: Don't make software the only safety check, and test timing as well as inputs. Race conditions appear only when real people work at real speed.

2. AT&T's long-distance network collapse (1990)

What happened: On 15 January 1990, AT&T's long-distance network had what the company called its most widespread outage ever. A flaw in a software update, loaded into all 114 of its 4ESS switches the month before, made switches reset in a chain reaction across the country.

What it cost: For about nine hours, roughly half of AT&T's long-distance calls failed, with callers hearing busy signals or "all circuits busy" recordings.

Lesson: Code that runs everywhere fails everywhere. Test how an update behaves when the systems around it are under stress, and roll it out in stages.

3. Patriot missile failure, Dhahran (1991)

What happened: On 25 February 1991, a Patriot missile battery in Dhahran, Saudi Arabia, failed to intercept an incoming Scud. The system counted time in tenths of a second and converted it using a slightly truncated binary value for 1/10, so a tiny error grew the longer it ran. After more than 100 hours of continuous operation the error was about a third of a second, enough for the radar to look in the wrong place.

What it cost: The Scud hit a US Army barracks and killed 28 American soldiers. Corrected software reached Dhahran the next day.

Lesson: Test how long software can run, not just whether it runs. Errors that grow with uptime only show up in long-duration tests.

4. Intel Pentium division flaw (1994)

What happened: Some Intel Pentium chips gave slightly wrong answers to certain floating-point divisions, because entries were missing from a lookup table in the chip's division logic. Intel said a random division would hit the flaw about once in nine billion times.

What it cost: A $475 million pre-tax charge in the fourth quarter of 1994 to replace and write off the chips.

Lesson: A rare bug isn't a cheap bug. Once customers know about a defect, its cost is set by their trust, not by how often it occurs.

5. Ariane 5 Flight 501 (1996)

What happened: On 4 June 1996, on its first flight, Europe's Ariane 5 rocket veered off course and broke up about 37 seconds after main-engine ignition. Navigation software reused from Ariane 4 converted a 64-bit floating-point number to a 16-bit integer. On Ariane 5's faster trajectory the value was too big, and the conversion failed in both the active and backup units, which ran identical software. The function that failed served no purpose after lift-off.

What it cost: The rocket and the four uninsured Cluster science satellites it carried. ESA published no loss figure; the most widely cited, from a UK laboratory that worked on Cluster, is more than $370 million.

Lesson: Reused code needs re-testing under the new system's conditions. Software proven on Ariane 4 had never seen Ariane 5's speeds.

6. Mars Climate Orbiter (1999)

What happened: On 23 September 1999, NASA's Mars Climate Orbiter reached Mars on a lower trajectory than planned and was lost in the atmosphere. A ground software file gave thruster data in pound-seconds instead of the newton-seconds the navigation team expected, so the thrusters' effect on the trajectory was underestimated by a factor of 4.45.

What it cost: The orbiter, reported at $125 million at the time. The $327.6 million often quoted is a total for the orbiter and its sister craft, Mars Polar Lander.

Lesson: Test the interfaces between systems and teams, not just each part on its own. Each piece of software did what it was written to do; they disagreed about units.

7. Y2K (1995–2001)

What happened: For decades, software stored years as two digits, so "00" could be read as 1900 rather than 2000. Organisations spent the late 1990s finding and fixing date-handling code before 1 January 2000.

What it cost: About $100 billion in the US between 1995 and 2001, around $365 per American, according to the US Commerce Department. Worldwide spending was about $200 billion, according to John Koskinen, who led the US government's Y2K effort.

Lesson: Y2K is the rare case where the cost was paid before the failure, in testing and fixes. It's also a reminder that a shortcut in a data format can stay in use for decades.

8. Microsoft Zune 30GB freeze (2008)

What happened: On 31 December 2008, the last day of a leap year, Microsoft's 2006-model Zune 30GB music players froze. Microsoft traced it to a bug in the internal clock driver's handling of leap years.

What it cost: About a day of frozen players. Microsoft told owners to let the battery run flat, wait until after noon GMT on 1 January 2009, then recharge, when the clock would reset itself.

Lesson: Test date edge cases on purpose: 29 February, the 366th day of a leap year, month ends and time-zone changes.

9. Microsoft Azure leap-day outage (2012)

What happened: On 29 February 2012, code in Windows Azure set certificate expiry dates by adding one to the current year, producing 29 February 2013, a date that doesn't exist. Microsoft disabled service management worldwide to contain the problem, and a later fix knocked virtual machines offline in seven clusters.

What it cost: By Microsoft's own timeline, about 13 hours to restore service management to most clusters and about 34 hours until everything was healthy. Customers of the affected services got a 33% credit for the billing month.

Lesson: The same leap-year trap, one leap year after the Zune. Date bugs recur because each team relearns them, so keep a shared checklist of date edge cases.

10. Nasdaq and the Facebook IPO (2012)

What happened: On 18 May 2012, Facebook's first day of trading, a design limitation in Nasdaq's system for matching IPO buy and sell orders delayed the opening auction by 19 minutes and left more than 30,000 orders stuck for over two hours.

What it cost: A $62 million plan to compensate brokers, approved by the SEC in March 2013, and a $10 million SEC penalty, at the time the largest ever against an exchange.

Lesson: Your biggest day is when a design limit is most likely to be hit, and most expensive if it is. Test for that day specifically.

11. Knight Capital (2012)

What happened: On 1 August 2012, a technician didn't copy new trading code to one of Knight Capital's eight servers. The new code reused a flag that had once switched on an old function called Power Peg, so on the eighth server, new orders woke the dormant code. In the first 45 minutes of trading, Knight's system sent more than 4 million orders while trying to fill 212 customer orders.

What it cost: A loss of more than $460 million, according to the SEC (Knight's first estimate was about $440 million), plus a $12 million SEC penalty.

Lesson: Test the deployment, not just the code: check that every server runs the version you think it does. And delete dead code rather than leaving it switched off.

12. Toyota Prius recall (2014)

What happened: In February 2014, Toyota recalled every third-generation Prius built between March 2009 and February 2014. Software settings could overheat transistors in the hybrid system's boost converter, putting the car into a failsafe mode or, in rare cases, shutting the hybrid system down.

What it cost: About 1.9 million cars worldwide, including about 713,000 in North America, each needing a software update of about 40 minutes. Toyota said there were no reports of accidents or injuries.

Lesson: Software can damage hardware. Test under heat and sustained load, the way owners actually use the product.

13. Heartbleed (2014)

What happened: A missing bounds check in the heartbeat feature of OpenSSL, the open-source library behind much of the web's encryption, let anyone on the internet read chunks of a server's memory, which could include private keys and passwords. The flaw shipped in March 2012 and was fixed on 7 April 2014, the day it was disclosed.

What it cost: Netcraft estimated that about 17% of secure web servers with trusted certificates, around half a million certificates, were vulnerable. Site owners had to patch, replace their certificates and, in many cases, ask users to change passwords.

Lesson: Test what happens when input lies. A request that claims to be bigger than it is should be rejected, and only a test that tries it will show whether it is.

14. Flipkart's Big Billion Day (2014)

What happened: On 6 October 2014, Flipkart's first Big Billion Day sale was hit by site outages, products selling out within seconds, prices briefly reverting to full price, and more orders than there was stock.

What it cost: The founders apologised publicly the next day, writing that Flipkart was "not adequately prepared for the sheer scale of the event", even though it had deployed nearly 5,000 servers. Press reports put sales at about $100 million in 10 hours, so the demand was there; the damage was to customer trust.

Lesson: Test the whole event, not just the servers. Stock counts, price rules and order limits break under load too.

15. TSB Bank's IT migration (2018)

What happened: Over the weekend of 20–22 April 2018, TSB moved its customers' accounts to a new IT platform. Afterwards, a significant proportion of its 5.2 million customers had problems using their accounts, and the bank didn't return to normal operations until December 2018. An independent review later raised questions about how testing had been carried out.

What it cost: TSB put its 2018 post-migration costs and lost income at £330.2 million. It received 225,492 complaints, and in 2022 UK regulators fined it a total of £48.65 million.

Lesson: A migration releases everything at once. Rehearse it, test the new platform under real load, and keep a way back.

16. Boeing 737 MAX (2018–2019)

What happened: Two new Boeing 737 MAX airliners, Lion Air Flight 610 in October 2018 and Ethiopian Airlines Flight 302 in March 2019, crashed shortly after takeoff. In both, flight-control software called MCAS, acting on bad data from a single angle-of-attack sensor, repeatedly pushed the plane's nose down.

What it cost: 346 lives. The 737 MAX fleet was grounded worldwide, and the grounding costs Boeing had disclosed reached about $20.7 billion by November 2020, by CNN's tally. In 2021 Boeing agreed to pay more than $2.5 billion to resolve a US criminal fraud conspiracy charge.

Lesson: Software that acts on a single sensor has a single point of failure. Test what it does when its inputs are wrong, not just when they're right.

17. Cloudflare's global outage (2019)

What happened: On 2 July 2019, a routine update to Cloudflare's web application firewall added a rule whose regular expression caused excessive backtracking. CPUs across Cloudflare's network ran at nearly 100%, and visitors to sites behind Cloudflare saw 502 errors.

What it cost: 27 minutes of downtime, with about 80% of Cloudflare's traffic lost, according to its post-mortem.

Lesson: Small changes need testing too, especially when they go everywhere at once. Test rules and configuration for performance, not just correctness.

18. UK Post Office Horizon scandal (1999–2015)

What happened: The Post Office prosecuted sub-postmasters for cash shortfalls shown by Horizon, its Fujitsu-built branch accounting system. In 2019 the High Court found that bugs in Horizon had affected branch accounts.

What it cost: The Post Office has identified 700 convictions in its own prosecutions between 1999 and 2015, and 283 more cases brought by other prosecutors that may have used Horizon evidence. In May 2024 a new law quashed hundreds of convictions, and the public inquiry published the first volume of its final report in July 2025.

Lesson: When software output is used as evidence, its bugs can ruin lives. Systems that people are judged by need independent testing and a way to challenge what they say.

19. Boeing Starliner's first orbital test (2019)

What happened: On 20 December 2019, Boeing's uncrewed Starliner capsule launched on its first orbital test flight. Its mission clock had synced with the Atlas V rocket at the wrong time, about 11 hours before launch, so it missed a critical orbit-raising burn and was left without enough fuel to reach the International Space Station. A second software error, caught during the flight, could have made the service module collide with the capsule after separation.

What it cost: No docking with the space station; the capsule landed two days after launch. NASA classed the flight as a "High Visibility Close Call", and its review produced 80 recommendations.

Lesson: Test the full sequence with real timing. A clock set at the wrong moment can pass every test that sets the clock for you.

20. HDFC Bank outages and the RBI's curbs (2020)

What happened: After repeated outages in HDFC Bank's internet banking, mobile banking and payment systems over two years, the latest on 21 November 2020 after a power failure at its primary data centre, the Reserve Bank of India ordered the bank on 2 December 2020 to pause launches under its Digital 2.0 programme and stop signing up new credit card customers.

What it cost: The credit card curb was relaxed in August 2021, about eight and a half months later. The Digital 2.0 curb was lifted in March 2022, about 15 months after the order.

Lesson: For banks and payment apps, reliability is a regulatory requirement, not just a feature. Test failover and recovery as seriously as new features.

21. CrowdStrike's faulty update (2024)

What happened: On 19 July 2024, CrowdStrike pushed a content update for its Falcon security software on Windows. The update, Channel File 291, gave the software 21 input fields where it expected 20, and the mismatch caused an out-of-bounds memory read that crashed Windows machines around the world. CrowdStrike reverted the update 78 minutes after it went out.

What it cost: Microsoft estimated that 8.5 million Windows devices were affected, under 1% of all Windows machines. The insurer Parametrix estimated $5.4 billion in direct losses for US Fortune 500 companies alone, excluding Microsoft.

Lesson: Content and configuration updates are code and need the same testing. Release every update to a small group first, and test that the software rejects input it doesn't expect.

The patterns behind the list

The same few causes repeat across the 21, and most have a known test.

PatternWhere it appears on this listThe test that catches it
Dates, clocks and timePatriot, Y2K, Zune, Azure, StarlinerDate edge cases, long-running tests, clock checks across systems
Units, numbers and conversionsMars Climate Orbiter, Ariane 5, PatriotInterface tests and boundary values
Unexpected or bad inputHeartbleed, 737 MAX, CrowdStrikeFeed oversized, malformed and wrong input, and check it's handled safely
Reused or dormant codeAriane 5, Knight CapitalRe-test reused code under new conditions; delete dead code
One change pushed everywhereAT&T, Cloudflare, CrowdStrikeStaged rollouts with a quick way back
Deployment and configurationKnight Capital, CloudflareChecks that every server runs the intended version and settings
Peak loadNasdaq, FlipkartLoad tests sized for your biggest day
Migrations and infrastructureTSB, HDFC BankRehearsed migrations; failover and recovery tests
Timing and concurrencyTherac-25Race-condition and stress tests, plus a hardware backstop
HardwarePentium, Toyota PriusExhaustive arithmetic checks; heat and sustained-load tests
Trusting the system's outputPost Office HorizonIndependent testing and a way to challenge results

Numbers that get repeated wrong

These figures appear on many lists of software failures. Here's what the sources support.

Often quotedWhat the sources support
Therac-25 caused six deathsSix accidents; three patients died from overdose complications
Heartbleed affected 66% of web serversAbout 17% of secure servers with trusted certificates (Netcraft). The 66% was the combined market share of the Apache and nginx web servers
Mars Climate Orbiter cost $327.6 millionThat total covers the orbiter and Mars Polar Lander together. The orbiter was reported at $125 million
Knight Capital lost $440 millionThat was Knight's first estimate. The SEC later put the loss at more than $460 million
CrowdStrike cost the world $5.4 billion$5.4 billion is Parametrix's estimate for US Fortune 500 companies only, excluding Microsoft
The AT&T outage blocked 50–70 million callsNo contemporary source confirms a count. AT&T said about half of calls failed during the nine-hour outage
Ariane 5 cost $500 millionESA published no loss figure. "More than $370 million" is the most widely cited estimate
Y2K cost $600 billionThat was the top of a 1997 Gartner forecast. Estimates of actual spending are about $100 billion in the US and $200 billion worldwide

What this means for an ordinary app

Most failures on this list needed specialist testing: flight software, trading systems, chip design. But the patterns repeat in everyday apps: a date that breaks at the end of the month, a sale that overwhelms checkout, an update that works on the developer's phone and crashes on a budget Android.

99tests doesn't replace load or security testing, but it does cover how your app behaves on the phones and networks your users actually have. Testers across India run timed sessions on real devices, and a separate reviewer verifies every finding before you see it. Packages start at ₹9,999.

Sources

Share

Get new articles by email

No spam. Unsubscribe anytime.