more bugs?
Know a bigger better nastier bug than these? Tell us about it... Real contenders will be added for public scrutiny!
bugs
XHTML with CSS & a sprinkle of AJAX

INGREDIENTS: < 2kb javascript, 20kb html, FLAVOURING (3kb css, 5kb .PNG, 36kb .JPG).
May contain nuts. Suitable for all.

Made in Wales.welsh flag
www.bochgoch.com

Software goes wrong, we all know that, but just how wrong can it go?

Read my list of bugs and vote for which you think is the worst!

Currently, the top 5 worst bugs are...

60 votes Toyota recalls 160,000 Prius hybrid vehicles
27 votes Overdoses from the National Cancer Institute, Panama City
25 votes Mars Rover overload
9 votes Ariane 5: Flight 501
8 votes Y2K

Place your vote and have your say.

Chronological bug list

vote

Toyota recalls 160,000 Prius hybrid vehicles

October 2005

Amid reports of vehicle warning lights illuminating for no reason and of gasoline engines stalling it emerges that the root of the issue isn't a hardware problem, it's a software programming error. 160,000 cars are recalled across the world a software patches applied.

The Toyota Prius is the world's first production hybrid (with a battery storage system and a fueled engine) vehicle. bugRead More

vote

Mars Rover overload

January 21, 2004

Whilst operating on the surface of MARS, the NASA Mars Rover freezes due to too many files being open in its flash memory. bugRead More

vote

Overdoses from the National Cancer Institute, Panama City

November 2000

Therapy planning software created by the U.S. firm Multidata Systems International, allows the therapist to interactively 'draw' on a computer screen and decide upon the placement of metal shields designed to protect healthy tissue from radiation when being treated with a Cobalt-60 radiotherapy machine. A problem arises in that the software will only allow the placement of four shields and the doctors want to use five. To get around this they discover that they can draw only one block with a hole it in to get (what they believe) will be the same shielding effect. However, due to a bug in the software, if the hole is drawn in one way, the correct dose of radiotherapy is calculated, but if drawn in another way, a double dose is calculated and delivered. According to the International Atomic Energy Agency (IAEA) in 2001, at least five patients die and another 15 developed serious health problems as a direct consequence of the bug. The three doctors, who failed to double check the software calculations are charged with second-degree murder!

vote

Y2K

2000

Whilst costing the world economy an estimated $300 billionbugRead More, to code around the lazy / economical (depending on your point-of-view) programming practice of storing the year portion of dates as two (99) rather than four (1999) digits, the most significant Y2K related failure was not the end of the western world as we know it, but rather the failure of the United States spy satellite system.

US Deputy Defense Secretary John Hamre said the satellites had continued to operate normally but that for two to three hours "we were not able to process information from that system."

Hamre had earlier stated: "The Y2K problem is the electronic equivalent of the El Nino and there will be nasty surprises around the globe."

bugRead More
vote

Ariane 5: Flight 501

June 4, 1996

Software code that was used for the Ariane 4 rocket is reused in Ariane 5. Ariane 5 has faster engines than Ariane 4 and this triggers a bug in the arithmetic routine of the flight computer. The error is in an algorithm that converts a 64-bit floating-point number into a 16-bit signed integer. The Ariane 5 engines cause the 64-bit numbers to be larger than previously seen in the Ariane 4, causing an arithmetic overflow bugRead More that leads to the flight computer crashing. The backup computer crashes and half a second later so does the primary flight computer. Without the flight computers the rocket's primary processor overpowers the engines which disintegrate 40 seconds after launch. BANG!

vote

Ping and die!

1995 - 1996

Bugs in the IP fragmentation reassembly code make many operating systems crash when a malformed ping packet is sent to the machine. The most obviously effected are computers running Windows based operation systems, which freeze with the blue screen of death, however, the bug also affects Macintosh and Unix based systems so we can't blame it all on Bill.

vote

Wrong Division

1993

An error in the silicon of the new Intel Pentium chip causes software errors when dividing floating-point numbers within a specific range. For example,

4195835.0/3145727.0 = 1.33374
NOT the correct answer 1.33382, an error of 0.006%.

In reality, the bug affects few users, but is a PR disaster. With up to 5 million defective chips sold, understandably, Intel is reluctant to replace faulty chips and offers to replace them for consumers who can prove that they need highly accurate output. Under public pressure, Intel eventually relents and replaces chips for anyone who complains. The eventual cost is $475 million.

vote

Patriot-Scud tracking rounding error

February 25, 1991

On February 25, 1991 an Iraqi Scud missile evaded Patriot anti-missile defences and hit the Dhahran American Army barracks. The incoming missile was not detected because of a software flaw that prevented real-time tracking. At the root of the bug lay an inaccurate calculation of the current time, which had drifted some 0.36 seconds since booting, due to arithmetic errors. The missile was too fast and the system had been in use for too long (over a hundred hours instead of the planned for fourteen). The software was patched and recommissioned a day later. The missile strike left 28 dead and around 100 wounded.

vote

AT&T Network Crashes

January 1990

A new version of the AT&T long distance switch control software contains a bug that causes the switches to crash when they receive a specific crash recovery message from neighbouring machines. One of the switches in New York crashes and reboots, invoking the bug and causing a domino effect across the network. Eventually 100+ switches are crashing and rebooting every 6 seconds. 60,000+ people have no long distance service for up-to nine hours (a relief to those of us with verbose spouses). This is fixed by reverting to the original version of the software.

vote

Kerberos Random(?) Number Generator

1988-1996

The Kerberos security system random number generator is improperly seeded and therefore the random numbers generated as part of the security algorithm are not truely random. For eight years it is possible to easily break into any computer that relies on Kerberos for authentication. The extent to which this bug was exploited is unknown.

vote

The First Worm

November 2, 1988

1988 sees the 'birth' of the first internet worm (now know as the Morris WormbugRead More) which infects an unknown number of computers (best guess is 6,000) in less than a day. Its method of attack (although its author Robert Tappan Morris claims it was written to seek out the size of the internet not damage it) is buffer overflow bugRead More. The worm replicated itself, through know security weaknesses and quickly spawned multiple processes on machines, thus slowing them in some cases to a stand-still. The specific code is the gets() function in the standard C language IO library where it still remains to this day.

vote

Therac-25 medical accelerator

1985-1987

The Therac-25 Medical Accelerator, a radiation therapy device, delivers lethal radiation doses at several medical facilities. Due to a software bug (a race condition bugRead More) in the Therac's operating system a quick-fingered typist could accidentally fire the machine in high-power mode with the metal X-ray target out of position, thus delivering lethal doses of radiation. Five patients die soon after treatment and others are seriously injured. Ironically, the faulty software sub-system was a replacement for the older Therac-20's electromechanical safety locks, a redesign made because software was seen as a more reliable solution.

vote

Soviet gas pipeline

1982

Central Intelligence Agency (CIA) operatives allegedly engineer a bug into a Canadian sourced computer system that was purchased to control the trans-Siberian gas pipeline. Allegedly, the Soviets had obtained the system under their cold-war efforts to steal sensitive U.S. technology. The CIA reportedly discovered the subterfuge and decided to sabotage the equipment to fail once in operation. The CIA suceeded in their sabotage - the resulting event is reportedly the largest non-nuclear explosion in history.

vote

Mount Erebus disaster

November 28, 1979

Operated by Air New Zealand, Antarctic sight seeing flights provided a unique opportunity to experience the icy wilderness of Antarctica from the air. The ill-fated flight of November 28, 1979 crashed into the side of an the active volcano, Mount Erebus killing the 257 passengers and crew on board. The cause of the crash eventually transpired to be a combination of flying in a white-out at just 445 metres and the fact that the Air New Zealand Flight Operations Centre had changed co-ordinates on the plane's navigation computer without telling the crew. bugRead More

vote

Mission control destroys Mariner 1

July 28, 1962

A bug in the flight software of the Mariner 1 rocket causes it to divert from its launch path. Mission control is forced to destroy the rocket over the Atlantic. The subsequent investigation reveals that a formula written on paper in pencil was improperly converted into computer code, causing the computer to miscalculate the rocket's trajectory and the course deviation is large enough to cause alarm. A wrong character in a line of code leads to the destruction of a $18,500,000 vehicle.

To quote Arthur C. Clarke - "The most expensive hyphen in history."
bugRead More

vote

The original BUG!

1945

A moth in panel F, relay 70 of the Harvard Mark II system claims it's place in history as the first computer bug. The computer was running a test of its arithmetic unit when the engineers noticed something was wrong. The moth was removed and taped into the computer's logbook with the words: "first actual case of a bug being found".

Types of bugs

They're out there so make sure you know how to recognise, name and shame them...
A race condition / race hazard
A error in a process whereby the output has an unexpected dependence on the timing of inputs.
bugRead More
Buffer Overflow
A process writes to storage beyond the boundaries of that allocated to it. Adjacent storage is overwritten with unpredictable effects.
bugRead More
Arithmetic Overflow
The result of a process is greater than the storage allocated to it.
bugRead More
Other software bugs
Got the software bug bug?
bugRead More
WhereWhenWhy