Programmierfehler 20.02.2018, 05:50 Uhr

Die schlimmsten Bugs der Geschichte

Programmierfehler, sogenannte Software-Bugs, sind fester Bestandteil der Computergeschichte. Einige von ihnen sind legendär. Wir präsentieren die fünf gröbsten Schnitzer.
(Quelle: Pixabay)
Auch Programmierer sind vor Fehlern nicht gefeit.  Schliesslich sind sie nur Menschen und diese können nun mal irren. Ein Programm ohne Bug und ohne nachträglicher Fehlerbehebung ist nicht leicht zu finden. Zum Glück verursachen Software-Fehler meistens ja nur Unannehmlichkeiten. Und oft findet der gewiefte Anwender sogar einen Workaround. Doch Bugs können auch gewaltige Schäden verursachen, Panik verbreiten oder sonst wie spektakuläre Auswirkungen haben. Wir haben ein paar der gröbsten Programmierschnitzer der Computer­geschichte zusammengetragen.

1. Therac-25: Wenn Bugs töten

Von Harmlosigkeit kann bei den Therac-25-Vorfällen zwischen 1985 und 1987 kaum die Rede sein. Vielmehr führte hier ein Programmierfehler zum Tod von drei Menschen und zu schwerwiegenden Schädigungen bei drei weiteren Personen. Beim Therac-25 handelte es sich um einen Teilchenbeschleuniger, welcher der Strahlentherapie bei Krebs­patienten diente. Das Gerät wurde von der kanadischen Firma Atomic Energy of Canada Limited (AECL) hergestellt und in nordamamerikanische Spitäler geliefert.
Eine Kombination aus Software-Fehlern und mangelnder Qualitätskontrolle endete fatal. So schrieb ein einziger Programmierer den Code für das Gerät basierend auf den Programmen, die in Vorgängermodellen verwendet wurden. Er ging davon aus, dass Software nicht «altern» könne. Tatsächlich führte das überarbeitete Betriebsprogramm dazu, dass die Strahlendosen des Therac-25 zu hoch waren und bei den sechs aktenkundigen Patienten zu schweren Schäden führte, die bei dreien tödlich endeten.

2. Millennium-Bug: Jahreszahlen laufen amok

Der wohl bedeutendste und folgenschwerste Bug der Computergeschichte war bislang der Millennium-Fehler oder das Jahr-2000-Problem. Dieses entstand dabei durch die Verwendung eines Datumsformats, das für die Jahreszahl nur zwei Stellen vorsah. Das Jahrhundert wurde dadurch schlicht ignoriert. Die Praxis stammte aus den Anfangszeiten der «EDV» in den 1950er- und 1960er-Jahren, als Speicherplatz teuer war und niemand sich vorstellen konnte, dass die auf den Datensätzen basierenden Programme die Jahrtausendwende erleben würden.
Nicht überall konnte der Jahr-2000-Fehler ausgemerzt werden, wie diese Aufnahme von Anfang Januar 2000 aus der französischen Stadt Nantes zeigt.
Quelle: Wikimedia
Die Computerpioniere aus der Cobol-Ära trifft aber nur einen Teil der Schuld. Vielmehr «verschleppten» nachfolgende Generationen von Entwicklern das Problem, indem sie ihrerseits Programme schrieben, welche die bestehende zweiziffrige Jahreszahl weiterverwendeten.
Das ging so lange gut, bis Ende der 1990er-Jahre der Branche bewusst wurde, dass viele Operationen im Jahr 2000 und danach nicht oder nur fehlerhaft ausgeführt würden. Plötzlich herrschte Panik. Horrorszenarien machten die Runde. Würden am 1. 1. 2000 Bankomaten kein Geld mehr ausgeben, Steuerungen in Zügen und Gleisanlagen versagen, Stromnetze kollabieren, Atomkraftwerke in die Luft fliegen oder gar Nuklearwaffen sich verselbstständigen?
Die Horrorszenarien – selbst wenn vereinzelt übertrieben –führten einerseits zur grössten Bug-Fixing-Aktion der Computergeschichte, andererseits zu einem riesigen Neu­anschaffungs-Boom von Programmen und Geräten, die den Millennium-Bug nicht aufwiesen. Die vielen Jahr-2000-Projekte bescherten daher der ICT-Branche fette Jahre. Gemäss Schätzungen von Gartner wurden weltweit bis zu 600 Milliarden US-Dollar zur Behebung des Fehlers ausgegeben. In der Schweiz belief sich der Aufwand auf einen «zweistelligen Milliardenbetrag», wie in der letzten Computerworld-Ausgabe des Jahres 1999 zu lesen ist. Der Boom führte in den Folgejahren – verschärft noch durch das Platzen der Internetblase – zu einer mindestens vier Jahre andauernden Rezession in der ICT-Branche.

3. Pentium-Bug: Fliesskomma-Schwierigkeiten

Der abgebildete Pentium 66 (SX837) wies den FDIV-Bug auf
Quelle: Konstantin Lanzet/Wikimedia
Wie sich ein eigentlich kleiner Bug zum PR-Fiasko wenden kann, wenn falsch reagiert wird, hat der sogenannte Pentium-FDIV-Bug gezeigt. Der Hardware-Fehler steckte in Pentium-Prozessoren von Intel und kam im November 1994, gut anderthalb Jahre nach der Markteinführung des Computer-Chips, ans Tageslicht. Der Fehler führte bei gewissen, eher seltenen Gleitkomma-Berechnungen zu ungenauen Ergebnissen.
Spürbare Auswirkungen des Fehlers waren im Grunde nur bei sehr komplexen Berechnungen zu erwarten, die zudem eine hohe Genauigkeit erforderten, etwa bei astronomischen Prognosen. Wie sehr der Pentium-Bug den Otto-Normal-PC-Anwender betraf, war zunächst umstritten. Bei vielen Standardanwendungen wurden Gleitkomma-Ein­heiten ignoriert, da viele CPUs damals gar keine besassen. Intel ging daher davon aus, dass der Fehler statistisch gesehen bei Normalanwendern nur einmal alle 27 000 Jahre auftreten könne. Diese Angabe wurde allerdings von diversen Experten infrage gestellt. Zudem sah IBM eine Chance, die hauseigenen PowerPC-CPUs zu propagieren, und kündigte medienwirksam den Auslieferungsstopp von Rechnern mit Pentium-Prozessor an.
Um das PR-Fiasko zu vervollständigen, gab Intel zunächst zu verstehen, die fehlerhafte CPUs nur bei jenen Anwendern auszutauschen, die nachweisen konnten, dass sie tatsächlich von fehlerhaften Gleitkomma-Berechnungen betroffen seien. Erst nach massivem öffentlichem Druck und nachdem Pentium-Witze wie «2,0000000000 + 2,0000000000 ist nicht gleich 3,999998456?» kursierten, lenkte Intel ein und lancierte ein umfassendes Umtauschprogramm. Insgesamt musste der Chipriese fast eine halbe Milliarde Dollar für die Fehlerbehebung aufwenden, den Imageschaden nicht mit eingerechnet.

4. Mariner 1: Der teuerste Bindestrich

Start der Mariner 1 am 22. Juli 1962. Kurz darauf fand die Mission ein jähes Ende
Quelle: Nasa
1962, als die USA und ihre Raumfahrtbehörde Nasa durch den Erfolg der Sowjetunion mit ihrem ersten Satelliten Sputnik schon unter massivem Erfolgsdruck standen, musste das Weltraumprogramm eine weitere Niederlage einstecken: Der Start der Raumsonde Mariner 1, die den Planeten Venus erkunden sollte, missglückte. Schon Minuten nach dem Abheben der Trägerrakete konnte diese den vorgegebenen Kurs nicht halten. Auch fieberhaft gefunkte Korrekturprogramme nützten nichts. Als die Rakete Schiffe im Atlantik bedrohte, zogen die Mitarbeiter im Kontroll­zentrum die einzig richtige Konsequenz und sprengten die Mariner 1 samt Trägerrakete in die Luft.
Die Untersuchung nach dem Desaster ergab, dass bei der Eingabe des im Original handgeschriebenen Steuerprogramms für den Antrieb ein Tippfehler passierte. Ein Bindestrich wurde übersehen und führte dazu, dass das Steuer­programm mit falschen Messwerten gefüttert wurde. Wie Science-Fiction-Autor Arthur C. Clarke in seinem Sachbuch «Unsere Zukunft im Weltall» treffend formulierte, hatte die Mission so «durch den teuersten Bindestrich der Geschichte Schiffbruch erlitten».

5. Postomaten: Benutzer werden Milliardäre

Wer glaubt, Software-Fehler seien ein ausländisches Phänomen, irrt gewaltig. Auch hierzulande führen Bugs gelegentlich zu unschönen Vorkommnissen. Dass hin und wieder bei PostFinance das eine oder andere System nicht wunschgemäss funktioniert, daran haben sich die Kunden des gelben Riesen mittlerweile schon fast gewöhnt.
Bankkunden staunten nicht schlecht, als Postomaten sie zu Multimilliardären erklärten
Quelle: Rama/Wikimedia
Im März 2011 staunten einzelne Postomatbenutzer nicht schlecht, als sie vor dem Geldabheben ihren Kontostand wissen wollten. Über Nacht waren sie zu Multimilliardären geworden. Grund für diese magische Vermögensvermehrung war allerdings ein Software-Bug. Bei einem Update der Bankomaten-Software in der Nacht zuvor hatte ein Fehler dazu geführt, dass die Zahlenformate falsch interpretiert wurden. Dies spe­ziell dann, wenn Kunden mit Karten von anderen Geld­instituten auf die Automaten der Post zugriffen.
Geschichte
Der erste «Bug» war tatsächlich ein «Käfer»
Eine Motte wurde  zum ersten dokumentierten «Bug» der Geschichte
Programmier-, Software-, aber auch Hardware-Fehler werden bekanntlich sowohl auf englisch als auch auf neudeutsch «Bug» genannt. Und tatsächlich war der erste Computer-«Bug» ein Insekt. Konkret hatte die Computerpionierin Grace Hopper 1947 bei Arbeiten am «Mark II»-Rechner in einem Relais ein Motte gefunden, ins Logbuch geklebt und mit dem Hinweis versehen, dass dies wohl «der erste eigentliche Fall eines gefundenen Bugs» sei. Der war im Vergleich zu heutigen Bugs aber harmlos...


Das könnte Sie auch interessieren