El 4 de junio de 1996, el primer vuelo del cohete europeo Ariane 5 terminó 37 segundos después del encendido, apenas 30 segundos después de despegar. No falló un motor ni una pieza: falló un número que no cabía donde el programa intentó guardarlo.
El cohete despegó desde la Guayana Francesa con cuatro satélites científicos a bordo. Unos segundos después perdió la información de guía y de orientación, giró de golpe y se autodestruyó.
El software de navegación venía del Ariane 4. Convertía un dato de velocidad horizontal a un entero de 16 bits, un espacio que solo admite números hasta 32 767.
El Ariane 5 era más rápido que su antecesor: el valor no cupo, la conversión se desbordó y la computadora de navegación se apagó. La de respaldo tenía el mismo programa y falló por la misma razón.
Ese cálculo solo servía antes del despegue. En vuelo ya no hacía falta, pero seguía corriendo.
Que el código reutilizado se vuelve a probar con los datos nuevos. Un respaldo idéntico no protege contra un error de diseño, porque falla igual.
No. El cohete no llevaba tripulación; se perdieron el cohete y los satélites.
Ocurre cuando un número es más grande que el espacio reservado para guardarlo; el programa falla o guarda un valor equivocado.


