Cerca nel blog

2007/11/27

Disastri informatici, la compilation (prima parte)

La compilation dei disastri informatici


Zdnet ha pubblicato una simpatica lista, decisamente consolatoria, dei peggiori disastri informatici della storia, escludendo però quelli che hanno causato morti o feriti. Ma così è troppo blanda, per cui mi sono permesso di aggiungere qualche altro disastro. Ecco un assaggio.

1983: il sistema di difesa antimissile sovietico


Il 26 settembre 1983, un baco nel sistema sovietico di avvistamento avanzato dei missili intercontinentali segnalò erroneamente che gli Stati Uniti avevano lanciato contro l'Unione Sovietica cinque missili con testate nucleari.

Per fortuna l'ufficiale in servizio, Stanislav Petrov (nella foto), all'epoca quarantaquattrenne, ebbe la sensazione che ci fosse qualcosa che non quadrava: perché gli USA avrebbero dovuto attaccare usando soltanto cinque missili?

In realtà era un difetto del software che doveva eliminare i falsi rilevamenti dei satelliti di sorveglianza, che rilevano il bagliore del lancio dei missili ma a volte si fanno ingannare dai riflessi del sole sulle nubi.

Petrov non fu mai premiato dai sovietici per la propria iniziativa, ma anzi fu torchiato per la propria insubordinazione; gli andò meglio in occidente, dove ottennne un riconoscimento dalle Nazioni Unite, ed ora è semplicemente un pensionato come tanti. Ne parlano varie fonti, come per esempio il Washington Post, ed è previsto per il 2008 un documentario che racconta la sua storia, secondo il Malta Star.

1990: collassa la rete telefonica USA


Il 15 gennaio 1990, settantacinque milioni di telefonate in tutti gli Stati Uniti cadono nel vuoto perché una singola centrale della AT&T subisce un piccolo guasto. Sessantamila utenti restano senza la possibilità di fare interurbane per ore. Il software di gestione, aggiornato da poco, contiene una sola riga sbagliata che causa un effetto domino che fa collassare tutte le altre centrali. Ne parlano anche Technology Review e Data Reservoir.

1962: sonda spaziale USA distrutta da un trattino


Il 22 luglio 1962, la sonda automatica Mariner 1 decolla da Cape Canaveral, ma invece di dirigersi verso Venere, subito dopo il lancio piega a sinistra e punta verso il basso. La NASA è costretta a farla esplodere in volo per evitare che causi danni precipitando intera.

Il rapporto pubblicato in seguito dalla NASA ammette che la causa dell'errore è un singolo trattino mancante da una riga di codice Fortran del programma di guida automatica della sonda. Secondo il rapporto, "in qualche modo, un trattino era stato eliminato dal programma di guida caricato sul computer, consentendo ai segnali errati di ordinare al razzo vettore di deviare a sinistra e puntare il muso verso terra... Basti dire che il primo tentativo americano di volo interplanetario è fallito per mancanza di un trattino" ["Somehow a hyphen had been dropped from the guidance program loaded aboard the computer, allowing the flawed signals to command the rocket to veer left and nose down...Suffice it to say, the first U.S. attempt at interplanetary flight failed for want of a hyphen."].

Il vettore e la sonda costavano oltre 80 milioni di dollari, inducendo Arthur C. Clarke (grande scrittore di fantascienza, nonché inventore dei satelliti geostazionari) a battezzare questa missione come "il trattino più costoso della storia" ["the most expensive hyphen in history"]. Ne parlano Data Reservoir, Nasa e Risks Digest.

1996: il vettore Ariane 5 esplode al decollo, danni per 1 miliardo di euro


Il 4 giugno 1996 viene lanciato per la prima volta il vettore Ariane 5, punta di diamante del programma spaziale europeo. Dopo 39 secondi di volo interviene il sistema di autodistruzione, trasformando l'Ariane 5 e il suo carico pagante (quattro satelliti scientifici non assicurati, per un valore di 500 milioni di dollari) in quello che è stato definito "il più costoso fuoco d'artificio della storia".

Non ci sono vittime, dato che il missile non ha equipaggio e i frammenti dell'esplosione cadono in una zona disabitata della Guiana francese, ma i danni economici sono ingentissimi (1 miliardo di euro). Il disastro avviene perché un programma del sistema di navigazione tenta di mettere un numero a 64 bit in uno spazio a 16 bit.

Il sistema, progettato per l'Ariane 4 e riciclato perché dimostratosi affidabile, tenta infatti di convertire la velocità laterale del missile dal formato a 64 bit al formato a 16 bit. Tuttavia l'Ariane 5 vola molto più velocemente dell'Ariane 4, per cui il valore della velocità laterale è più elevato di quanto possa essere gestito dalla routine di conversione, che (a differenza di molte altre routine di conversione a bordo) è priva dei normali controlli che evitano problemi di gestione.

Risultato: overflow, spegnimento del sistema di guida, e trasferimento del controllo al secondo sistema di guida, che però essendo progettato allo stesso modo è già andato in tilt nella medesima maniera pochi millisecondi prima. Privo di guida, il vettore si autodistrugge.

Ironia della sorte, la funzione di conversione difettosa che causa lo spegnimento del sistema di guida non ha alcuna utilità pratica una volta che l'Ariane è partito: serve soltanto per allineare il vettore con le coordinate celesti (l'Ariane ha un sistema di navigazione inerziale). Ma i progettisti avevano deciso di lasciarla attiva per i primi 40 secondi di volo in modo da facilitare il riavvio del sistema se si fosse verificata una breve interruzione nel conto alla rovescia.

Da un articolo di Claudio Borgonovi sul Sole 24 Ore di luglio 1996:

"Appena nove secondi dopo il decollo, le due centrali inerziali già non riuscivano ad avere un allineamento corretto. Al 37° secondo le due centrali si dichiaravano contemporaneamente in situazione d'errore irrecuperabile e lanciavano una procedura di reset (...) realizzabile fino a 40 secondi dal via. (...) veniva assunta come base di riferimento la posizione istantanea del vettore, non coincidente con la posizione verticale sulla base di lancio, e il calcolatore ordinava una brusca correzione di rotta, portando a fine corsa gli ugelli sia dei booster che del motore criogenico. L'improvviso aumento degli sforzi aerodinamici portava a instabilità strutturale ("buckling") e il vettore si rompeva poco al di sotto dell'ogiva. Subito dopo si sono attivati i sistemi automatici di autodistruzione"


2006: il software sbaglia i cablaggi dell'Airbus a due piani


L'Airbus A380, il gigantesco aereo di linea noto per la sua fusoliera a due piani, è assemblato in vari moduli in fabbriche differenti. Ma durante l'unione dei vari moduli per completare l'aereo, salta fuori che i cavi di un modulo non sono nella posizione nella quale se li aspetta il cablaggio dell'altro modulo.

Un disastro che comporta ritardi di oltre un anno, riprogettazioni e penali sui contratti di fornitura già stipulati sui quali nessuno, a quanto risulta, vuole dare una cifra precisa.

Il problema è dovuto al fatto che la fabbrica di Amburgo usa una versione vecchia del software di progettazione e assemblaggio CATIA, mentre quella francese della Dassault Aviation usa quella nuova.

La seconda parte della compilation di disastri informatici è pubblicata qui.

Nessun commento: