Drobne bugi – wielkie katastrofy. Najsłynniejsze programistyczne błędy w historii (cz. II)25 lipca 2017

Błąd w pracy

Kolosalne straty finansowe, paraliż systemów informatycznych dotykający milionów użytkowników, utrata zdrowia wielu osób a nawet śmierć – to tylko przykłady tego, do czego doprowadzić mogą niewinne, jak mogłoby się wydawać, potknięcia koderów. Kontynuujemy przegląd najbardziej znanych w historii programistycznych wpadek.

Mariner 1

Błąd ten znany jest pod nazwą „najdroższego myślnika w historii”. O co chodzi? Otóż 22 lipca 1966 z Cape Canaveral na Florydzie wystrzelono rakietę z sondą Mariner mającą dotrzeć na orbitę Wenus. Przedsięwzięcie zostało przygotowane przez NASA, JPL i USAF. Była to jednocześnie pierwsza misja planetarna USA i w związku z tym presja polityczna była ogromna. Niestety cała akcja zakończyła się groteskową katastrofą. Po 5 minutach od startu, rakieta wykonała serię gwałtownych manewrów i zboczyła z kursu, wobec czego wydano polecenie autodestrukcji. W toku dochodzenia wyszło na jaw, że wszystkiemu winien był błąd w oprogramowaniu polegający na… przegapieniu przez programistę kreski podczas przepisywania równania z kartki. Wyglądający jak zwykły myślnik overbar oznacza funkcję wygładzania. Bez niego nawet drobne wahania prędkości stanowiły zagrożenie. Straty w tym wypadku oszacowano na 18.5 mln dolarów.

NASA Mars Climate OrbiterMars

Przypadek Mariner 1 to nie jedyna programistyczna wpadka na koncie NASA. 23 września 1999 roku, po 10 miesiącach lotu, warta 700 mln dolarów sonda dotarła w okolice Marsa. Po rozpoczęciu manewru wchodzenia na czerwoną planetę, nagle łączność została utracona. Jak się okazało, MCO spłonęła w atmosferze Marsa. Powodem katastrofy po raz kolejny okazał się software. Otóż tworzący go programiści pochodzący z różnych krajów korzystali z odmiennych jednostek metrycznych. To niedopatrzenie okazało się na tyle poważne, że spowodowało nieprawidłową pracę dopalaczy lądownika. W rezultacie sonda podeszła zbyt nisko, co doprowadziło do katastrofalnego zakończenia misji.

Blackout 2003Blackout

14 sierpnia 2003 miał miejsce największy w historii Ameryki Północnej kryzys energetyczny obejmujący północno-wschodnie części Stanów Zjednoczonych oraz południowo-wschodnie prowincje Kanady. W wyniku tej awarii wyłączonych zostało 100 elektrowni (w tym 22 nuklearne), w miejscu stanęły pociągi, windy, lotniska a ulice sparaliżował brak sygnalizacji świetlnej. Wielu mieszkańców ucierpiało z powodu braku wody dostarczanej za pomocą pomp elektrycznych. Tylko w Nowym Jorku straż pożarna wyjeżdżała 3 000 razy do pożarów spowodowanych przez nieudolne posługiwanie się świeczkami. Egipskie ciemności trwały dwa dni, dotknęły 55 mln osób i pochłonęły co najmniej 11 ofiar. Jak ustalono, przyczyną blackoutu stulecia była nieprawidłowość w oprogramowaniu sterującym siecią energetyczną zwana błędem wyścigu (race condition). Ma on miejsce, kiedy wynik działania jakiegoś procesu zależy od zgrania z czasem lub innych zdarzeń (procesów). W tym wypadku pomyłkowo wyłączono jedną stację transformatorową i w rezultacie doszło do przeciążenia sieci oraz kolejnych awaryjnych wyłączeń podstacji energetycznych i elektrowni.

To zaledwie kilka przykładów najbardziej spektakularnych w historii katastrof, za którymi stoi złej jakości kod. Konsekwencji programistach błędów, mniej lub bardziej uciążliwych, miliony osób doświadcza każdego dnia. Czy ktoś ma jeszcze wątpliwości co do odpowiedzialności, z jaką wiąże się praca programisty i jak istotną rolę spełniają rzetelnie przeprowadzane testy?

Jeśli nie zapoznałeś/-aś się jeszcze z pierwszą częścią artykułu zapraszamy do jego lektury: Drobne bugi – wielkie katastrofy. Najsłynniejsze programistyczne błędy w historii (cz. I).

Twoja opinia jest dla Nas Ważna

Oceń ten wpis
Prześlij nam swoje CV

Najnowsze oferty pracy:

Polecane wpisy na blogu:

Kontroferta szefa. Przyjąć czy odrzucić?
Kiedy freelancer IT powinien powiedzieć „nie”
Pięć znaków świadczących o tym, że jesteś złym menadżerem
„Skoczek” na rynku pracy
Być idealnym kandydatem

Najnowsze komentarze

Marek Dzimra
2017-08-03 15:17:36
muuu
2017-06-26 13:44:39
muuu
2017-06-26 13:32:22
Marcin Górnicki
2017-06-25 23:29:23
Marcin Górnicki
2017-06-25 23:28:25
Marcin Górnicki
2017-06-25 23:18:44
Marcin Górnicki
2017-06-25 23:13:01
Marcin Górnicki
2017-06-25 23:06:13
Igor Janicki
2017-05-25 22:22:28
White Bird
2017-05-24 19:54:14
Może zainteresuje Cię również:
1 Szukasz specjalistów IT?
Oddzwonimy do Ciebie!