Najbardziej kosztowne błędy komputerowe


Airbus A380

USS Vincennes

Katastrofą można nazwać też przyczynę opóźnień w wejściu do użytku samolotu pasażerskiego Airbus A380. Nikt w niej nie zginął, ale z pewnością "poleciało kilka głów". Okazało się bowiem, że w europejskich biurach koncernu Airbus, zajmujących się konstruowaniem maszyny, korzystano z różnych wersji oprogramowania inżynieryjnego CATIA. Fabryki niemieckie i hiszpańskie używały wersji 4, a francuskie i brytyjskie - 5. Problem w tym, że starszą napisano w Fortranie, a nowszą w C++, co wywołało niekompatybilność formatów zapisu danych (przenoszenie danych między wersją 4 a 5 powodowało częściową ich utratę).

Skala problemu wyszła na jaw na etapie montażu samolotów - w fabrykach zabrakło kabli i przewodów łączących elektronikę A380. Koncern w wyniku opóźnień stracił miliardy euro.

Błąd najkosztowniejszy z możliwych

26 września 1983 r. nad ranem w radzieckiej bazie Serpukow-15 zabrzmiały syreny alarmowe: Amerykanie wystrzelili rakiety z głowicami jądrowymi, skierowane na cele w ZSRR!

W nocy 26 września służbę w bazie Serpukow-15 pełnił 44-letni wówczas podpułkownik Stanisław Pietrow. Jego zadaniem było nadzorowanie pracy operatorów satelitarnych systemów ostrzegania i raportowanie przełożonym o wszelkich incydentach. Informacje te trafiały aż do sztabu generalnego Armii Czerwonej, gdzie konsultowano je z I sekretarzem partii - przywódcą ZSRR (w 1983 r. był nim Jurij Andropow).

Pietrow przed przesłaniem raportów musiał ocenić wartość otrzymanych z systemu danych. Te zaś mówiły o pięciu pociskach balistycznych typu Minuteman lecących w stronę Związku Radzieckiego. Zadziałał zdrowy rozsądek oficera - uderzenie nuklearne powinno być tak potężne, aby uniemożliwić przeciwnikowi odwet. Amerykanie nie mogli rozpocząć III wojny światowej odpalając tylko niewielką część swojego arsenału jądrowego. Poza tym, radary naziemne nie potwierdziły ataku.

Pietrow uznał informacje za błąd systemu i odwołał alarm po pięciu minutach. I chociaż uratował świat przed zagładą, wykazał zarazem niekompetencję radzieckich programistów. A to już było poważnym błędem, mogącym podkopać morale. Pietrowa próbowano potem obaczyć winą za fałszywy alarm, wreszcie zwolniono ze służby. W maju 2004 r. organizacja Association of World Citizens przyznała mu honorowy tytuł obywatela świata oraz nagrodę pieniężną.

Prawdziwym źródłem błędu okazał się radziecki satelita, który zinterpretował refleks promieni słonecznych na powierzchni chmur jako wystrzelenie rakiety, a program komputerowy, który miał takie informacje filtrować, nie zadziałał.

Zimnowojenne stosunki między Zachodem a Wschodem były w 1983 r. bardzo napięte - 1 września tego roku radzieckie myśliwce zestrzeliły samolot pasażerski koreańskich linii lotniczych. Podobny tragiczny wypadek wydarzył się pięć lat później - w 1988 r. amerykański krążownik rakietowy USS Vincennes zestrzelił przelatującego nad Zatoką Perską irańskiego Airbusa Iran Air Flight 655 z 290 osobami na pokładzie. System IFF (identyfikacja przyjaciel-wróg) krążownika uznał samolot za wrogi.

Najbezpieczniej nie chorować

W 1985 i 1986 r. miały miejsce tragiczne wypadki związane z działaniem aparatów Therac-25, wykorzystywanych w radioterapii.

Maszyny te mogły działać w dwóch trybach, różniących się dawką wysyłanego promieniowania. Problem w tym, że jeśli operator urządzenia zbyt szybko przełączył tryby, wysyłane był dwa zestawy instrukcji i inicjalizowany był tryb, za który odpowiadała instrukcja wcześniejsza. Co najmniej w sześciu przypadkach oznaczało to, że pacjenci potrzebujący niewielkich dawek zostali wystawieni - bez żadnych właściwych środków ochronnych - na promieniowanie znacznie większe.

Jak podaje wikipedia, jednorazowe napromieniowanie całego ciała człowieka dawką co najmniej 5 grejów (jednostka ilości energii promieniowania pochłoniętej przez kilogram materii) zwykle prowadzi do śmierci w ciągu 14 dni. Tymczasem pacjenci otrzymali dawki promieniowania liczone w setkach grejów.

W konsekwencji błędu co najmniej pięć osób zmarło.

Aparaty Therac-25 wycofano z użytku w 1987 r. Podobnych błędów nie zaobserwowano we wcześniejszych wersjach maszyn, np. Therac-20, ponieważ zawierały one odpowiednie mechanizmy zabezpieczeń, z których zrezygnowano w wersji 25.

***

Jeśli pominęliśmy kosztowne błędy komputerowe, które waszym zdaniem zasługują na uwagę, napiszcie o tym w komentarzach!

***

Zdjęcia użyte w tekście pochodzą z serwisów Wikimedia Commons i NavyPhotos.co.uk