Collection of Software Bugs
Prof. Thomas Huckle
Institut für Informatik
TU München
huckle@in.tum.de
Last modified: May/3/2019
"If you look at a big enough population long enough, then almost any damn thing will happen" (Persi Diaconis)
Failure of Phobos Grunt:
Wikipedia,
1,
2.
ISS: Cygnus - antares Absturz, ORBITAL ATK
Cygnus explosion,
NASA.
Spaceship Two - Virgin Galactic Crash
Spacehip Two.
Mars Rover Curiosity bug
NASA,
Wrong counting at elections because of use of different software:
Election in Fürth, 2013,
also here, see also
Voting.
0. Heisenberg effects in Software and Computer Science
1. Ariane 5, Explosion
(data conversion of a too large number, 1996)
2. Pentium Processor, Division Algorithm
(incomplete entries in a
look-up-table, 1994)
3. Patriot-Scud
(rounding error, 1991)
4. Mars Climate Orbiter, Loss
(Mixture of pounds and kilograms, 1999)
5. Green Party Convent fails
(By error and erronous use of Excel
the wrong number of delegates is computed, 2002)
6. NASA Mariner 1 , Venus probe
(period instead of comma in FORTRAN
DO-Loop, 1962)
Horror Nr.
25 with reference to
G.J.Myers: Software Reliability: Principles &
Practice, p. 25
FORTRAN-Code
NASA,
Additional
Information on code bugs
7. AT&T long distance service fails for nine hours
(Wrong BREAK
statement in C-Code, 1990)
8. Phobos 1, Russian Mars Probe
(Wrong command leads to rotation,
1988)
9. Euro Conversion
(Rounding errors)
10. Airbus downing during Iran-conflict
(Pattern recognition software,
1988)
11. False alarm in Soviet early-warning monitoring system
(Pattern
recognition, 1983)
12. USS Yorktown
(Input and Division by '0', 1998)
13. Radio Telescope VLA, calibration
(rounding error, 1990-1995)
14. ROSAT-Bug
(Rounding/processing error in ROSAT observations,
1998)
15. Sleipner Offshore Platform
(Sinking caused by the wrong use of
FE-code NASTRAN, 1991)
16. London Millenium Bridge, wobbling (compare Tacoma Bridge)
(Simulation fails because of wrong estimates for
pedestrian forces, 2000)
17. Thunderstorm "Lothar" in South Germany, Dec./26/99
(Weather
Prediction fails because of ignored outlier data)
18. Vancouver Stock Exchange Index
(Rounding Error, 1983)
General discussion of financial risks:
19. Cloud data blown away for sidekick users (Oct 11 09):
Other Mobile Phone Bugs:
20. Voyager 2
(Wrong Starting Estimate of Uranus mass in Iteration, Data
Compression, 1986)
Probleme der Datenverarbeitung: Voyager 2,
Spektrum der Wissenschaft 1/1987S. 67, R.Laeser, W. MacLaughlin, D. Wolff, Fernsteuerung und Fehlerkontrolle von Voyager 2
(in German)
General information on Voyager:
Bruce Murray and Voyager
Charlie Kohlhase and Voyager, and
here
Book: Bruce Murray: Journey into Space: The first three decades of Space Exploration.
Leitenberger on Voyager
Computer in der Raumfahrt
NASA fixes bug and
Data system
catless.ncl.ac.uk/Risks/9.12.html#subj3.1
Usure et pannes
Sequencing Voyager II for the Unranus encounter
MORRIS, R. B., California Institute of Technology, Jet Propulsion Laboratory,
Pasadena AIAA-1986-2111
IN: Astrodynamics Conference, Williamsburg, VA, August 18-20, 1986,
Technical Papers (A86-47901 23-13). New York , American Institute of
Aeronautics and Astronautics, 1986, p. 168-177. NASA-supported research
21. Shut down of Nuclear Reactors
(Use of wrong norm in CAD system, 1979)
22. 180 Degree Bugs:
23. Falkland Exocet
(Argentinian (French-friendly) Exocet sinks British
H.M.S.Sheffield, 1982)
Horror Nr. 8
Risk Digest
See also
Wikipedia and
BBC video,
Board of Inquiry
BBC News,
The Guardian.
New Scientist 10 February 1983: HMS Sheffiled thought Exocet was friendly.
New Scientist 24 February 1983: This sinking feeling.
24. Mars Sojourner, Pathfinder
(Unwanted Restart, 'Priority Inversion', 1997)
25. Railway Signal Box Altona, Germany
(not enough memory, 1995)
26. Denver Airport
(Computerised Baggage Handling fails, 1995)
27. Distributed denial-of-service attacks (2000)
28. Airbus 380 wiring matching problems:
29. Clementine Space Mission (NASA + Strategic Defense Initiative
Organization, funded and operated by the Ballistic Missile Defense Organization
'Starwars')
(malfunction of computer, firing of control thruster,
1994)
30. ISS International Space Station
(Computer bugs)
31. Voting Technique and Elections Machines
(Florida Voting Chaos)
32. Therac-25, X-ray
(Overdosing patients during radiation,
1975-1987)
33. Sound System German 'Bundestag', December 1992:
34. Wall Street Crash, October 1987
(Acceleration of the crash)
35. ATM gives any amount of Euro for arbitrarily PINcode
(Programming
glitch on the occasion of the switch-over from DM to Euro, 2002)
36. Reverse Thrust: Unknown reason!
(Avoid Crash by Reverse Thrust
--> Lufthansa crash in Warsaw 1993)
37. Friendly Fire
38. Sibirian pipeline sabotage, 1982
39. Ozone Hole ignored until 1985
(Software had to set aside data points that deviated greatly from expected
measurements)
40. Sinking of the Zenobia
(Failure
of the computerized ballasting system, 1980)
41. Swedish fighter plane Gripen
(Flight control software causes crash, 1989)
42. Software bugs related to cars
43. Toll Collect: Problems with toll billing system for trucks based on GPS and GSM
44. Power blackout NY 2003 (Northeast blackout):
45. Airplane disasters:
46. Railway disasters:
47. Space Disasters:
48. Great Concert Disasters:
49. Tacoma Bridge (not a computer bug)
(collapse, 1940)
50. Railway Bug (not a computer bug, 1992?)
After reunification the
originally double-tracked line
between Eichenberg - Arenshausen (near Kassel
and Erfurt)
should be restored with only one track.
Two building sites
start in Hessen and in Thüringen.
Both groups built the'right' track!
Newsgroup: de.etc.bahn.eisenbahn, October 1999
Additional
Stories
51. Y2K
52. Software Testing:
53. Rounding Errors
54. NSA, Snowden, Privacy
Paper, talks, and books on reliable Software:
Further Keywords:
2. Pentium Processor:
A bug in the floating point unit
(FPU) of the Pentium II and the Pentium Pro processors, also known as the
Pentium II and Pentium Pro FPU bug or the flag erratum (as it is referenced by
Intel). This bug occurs with operations that convert floating point numbers into
integers (compare also Ariane-5 explosion).
2. Pentium Processor:
Calculator applet in Windows gives
wrong answers (1991), see Don't use the calculator
.
4. Mars Climate Orbiter
'The recent crash of the Mars
Orbiter was the direct consequence of unbelievably bad numerics done by the
contractor who supplied a navigational instrument to NASA for the spacecraft.
That instrument computed its output, using Imperial units!!! And nobody at NASA
noticed that there was anything odd about the output of that instrument, until
the inquest which followed the crash.' (Garry J. Tee)
'Actually, it was
a mixture of pounds and kilograms. Lockheed was sending small-force events to
JPL in pound-second units, but the contract had specified Newton-second units,
and that was what the JPL software expected.
It wasn't really a software
error in the classical sense -- both programs performed according to their
specifications. It was a validation error: Lockheed had built the wrong program
correctly.' (Van Snyder)
SDI laser experiment 1985 failed because
computer data was in nautical miles instead of feet, see 31.
Gemini
V missed landing point, because program ignored motion of the earth around the
sun, see 27.
The battle of Austerlitz between Napoleon and the Austrian-Russian coalition was lost
because Austrians used the Gregorian calender and Russians the Julian; so the Russian
started too late to unite with the Austrian forces. Hence General Mack von Leiberich
forfeited the first battle near Ulm on september 25th 1805
loosing 70.000 soldiers. At the battle of Austerlitz there were only 85.400 soldiers
(16.000 Austrians left) of the coalition against 73.000 men fighting for Napoleon, see
here in German or
here in English.
6. NASA Mariner 1
Mariner 18 lost due to missing NOT
in program, see 5/2
14. ROSAT-Bug
In 1991 a group in Mancester working in
Radio Astronomy anounced the first discovery of a planet outside of our solar
system. One year later it turned out that they had an error in the formula of
the motion of the earth around the sun.
15. Sleipner Offshore Platform
A new ferry named
Sleipner sank in autumn '99; Norwegians should avoid the name
'Sleipner'.
Sleipner is a name from Viking mythology, namely the eight legged
horse of Odin, see Wikipedia on Sleipnir.
17. Thunderstorm "Lothar", Berliner Morgenpost,
27.1.2000
Kaum ein Lueftchen regte sich am zweiten Weihnachtsfeiertag des
Jahres 1999 am Bodensee. Nur das Barometer an der Wand deutete Ungewoehnliches
an: Der Luftdruck sackte in den Keller, als waere das Geraet hoffnungslos
defekt. Genau so hatte auch das Prognoseprogramm des deutschen Wetterdienstes
reagiert, als in der Nacht zuvor automatische Messgeraete meldeten, der
Luftdruck ueber der Biskaya sei innerhalb von drei Stunden um zwanzig
Hektopascal gesunken. Ein solch rascher Abfall aber war in dieser Weltgegend
noch nie registriert worden. Deshalb tat das Programm etwas sehr Logisches: Es
interpretierte den extremen Luftdruckabfall als Messfehler - und ignorierte ihn.
Die Wettervorhersage fuer den 26. Dezember warnte dann nur vor
Windgeschwindigkeiten bis zu 90 Kilometern in der Stunde. ......
22. 180 Degree Bugs:
Torpedos, that deviate more than
90 degree, explode to avoid self destruction of the ship. Once upon a time a
ship fired a torpedo but the torpedo was jammed in the tube. Then the captain
gave the command: Let's turn around and return to the harbour!
44. Railway Bug
Inverse Story: One track of the
line Rostock - Schwaan had to be pulled down and brought to Russia after World
War II as reparation; on both sides they pull down the right track!
Shifted
Story: Building a railway line from Austria to Germany in the last century; at
the meeting point there is a difference in altitude of 0.8 m, because Germany
refers to the North Sea and Austria to the Mediterranean Sea.
9. Euro Conversion
1 EURO = 1.95583 DM --> 0.01 DM =
0.01 Euro and 0.01 EURO = 0.02 DM
35. ATM, Sueddeutsche Zeitung, 09.01.2002:
Glückspilz
mit Geldsegen ohne Geheimzahl
Manche Zeitgenossen ohne Zahlengedächtnis
mögen sich in den vergangenen ersten Tagen des neuen Jahres als Glückspilze
gefühlt haben: Ganz ohne Geheimzahl konnten Postbank-Kunden mit ihrer Sparcard
bis Montagabend unbegrenzt Geld abheben. Das bestätigte Unternehmenssprecher
Hartmut Schlegel: «Aufgrund eines Softwareproblems konnten bei allen anderen
Geldinstituten außer der Postbank selbst mit beliebigen Pincodes Euro abgehoben
werden, ohne dass das Sparkonto mit der abgehobenen Summe belastet wurde.»
Zwar habe die Postbank bereits in den ersten Tagen des Jahres den Fehler bei
der Ende Dezember neu installierten Software bemerkt. «Da das Schadensrisiko aus
unserer Sicht minimal war, haben wir den Fehler korrigiert, ohne das System für
unsere Kunden zu sperren. Gegenwärtig wissen wir nur von einem einzigen Fall in
Hamburg, wo der Softwarefehler zufällig entdeckt wurde. Der Betroffene muss das
abgehobene Geld zurückgeben», so Schlegel weiter. ....
5. Green Party Convent fails, Stuttgarter Zeitung,
25.2.2002:
Parteitag platzt wegen eines Computerfehlers .....
Die
Auszählung dauerte lange. 201 Delegierte hatten ihre Stimme abgegeben. Die
Satzung begrenzt die Zahl der Vertreter der Basis aber auf 200....
Bei
genauer Betrachtung ist zwei plus zwei eben drei, Stuttgarter Zeitung,
26.6.2002:
Von Rainer Klüting und Renate Allgöwer
... Was bei der
Einladung zur Wahlversammlung der Grünen passiert ist, hätten die grünen Rechner
im Anfängerkurs an der Volkshochschule lernen können. Excel, so lernt man dort,
kann krumme Zahlen auf dem Bildschirm gerundet anzeigen. Beim Runden wird aus
der Zahl 1,5 eine 2. Die 2 erscheint am Bildschirm, aber intern merkt sich Excel
die krumme Zahl. Addiert man nun zwei solcher Zahlen, dann macht Excel aus 1,5
plus 1,5 korrekterweise 3. Am Bildschirm aber ist zu lesen: 2 plus 2 ist 3.
So oder ähnlich muss es passiert sein. Die Grünen hatten 200
Delegiertenplätze zu vergeben. Um die 47 Wahlkreise möglichst gerecht zu
berücksichtigen, wird deshalb die Mitgliederzahl eines Wahlkreises durch die
Gesamtzahl der Mitglieder im Land geteilt und dann mit 200 malgenommen. Dabei
kann herauskommen, dass Wahlkreis A 1,5 Delegierte schicken darf, Wahlkreis B
7,3 und Wahlkreis C 3,9 Delegierte.
Wahlkreis A bekommt zwei Delegierte,
denn diese Mindestzahl wird jedem Kreis zugestanden. Gibt es zehn solcher
kleinen Wahlkreise, sind damit bereits zwanzig Delegiertenplätze vergeben.
Wahlkreis B bekommt nun zunächst sieben, Wahlkreis C drei Delegierte,
entsprechend den Ziffern vor dem Komma. Sind auf diese Weise alle Wahlkreise
berücksichtigt, bleiben in der Regel noch freie Plätze übrig. Die werden nach
den Zahlen hinter dem Komma vergeben. Wahlkreis C hat, wegen der Neun hinter dem
Komma, gute Chancen auf einen weiteren Platz, Wahlkreis B nicht so gute.
So
wird auf möglichst gerechte Weise gewährleistet, dass keinem Wahlkreis ein
halber oder ein Vierteldelegierter bewilligt wird. Doch Excel rechnet nicht mit
Delegierten, sondern mit Zahlen, und die dürfen krumm sein. Selbstverständlich
kann Excel auch mit ganzen oder gerundeten Zahlen rechnen. Dem Grünen-Büro sei
an dieser Stelle die Tabellenfunktion "Runden" empfohlen, die eine krumme Zahl
auf eine beliebige Anzahl von Stellen rundet.
Oder, noch einfacher: In den
Einstell-Optionen gibt es einen Schalter mit der zugegeben rätselhaften
Beschriftung "Genauigkeit wie angezeigt". Klickt man diesen Schalter an, rechnet
Excel exakt mit den Zahlen, die auf dem Bildschirm angezeigt sind. Dieser kleine
Trick hätte den Grünen vermutlich einen zweiten Anlauf zum Wahlparteitag
erspart. Dann nämlich hätte am Ende der Delegiertenliste als Summe die Zahl 202
gestanden. Und das sind zwei zu viel. ...
See also
Seminar
NASA management: Berliner Morgenpost, 12.Mai 2002:
NASA is buying replacement parts for Space Shuttle computer chips at ebay
NASA kauft Ersatzteile für Spaceshuttle bei eBay und Yahoo Houston. Das Raumfahrtprogramm der USA ist abhängig von Ersatzteilen, die nicht mehr produziert werden. Wie die New York Times berichtet, sucht die NASA für ihre Spaceshuttles Computerchips, die nicht mehr ...