The encyclopedia · Software & IT · Technical decision · 1996
Ariane 5 exploded 37 seconds after launch because of a software overflow error
A 64-bit floating-point number was cast into a 16-bit integer. The result overflowed, the computer crashed, and the $370M rocket self-destructed.
ESA · Arianespace · 1996-06-04
What happened
On June 4, 1996, the maiden flight of Ariane 5 ended 37 seconds after liftoff. A software exception in the inertial reference system fed diagnostic data to the flight computer as if it were flight data; the computer obeyed, swiveling the engine nozzles hard over. The vehicle pitched past 20 degrees of attack, aerodynamic loads tore the boosters loose, and the automatic self-destruct fired — destroying the launcher and its four Cluster science satellites.
The root cause was traced to a piece of software reused from the older Ariane 4 system. During the first phase of flight, the Horizontal Velocity Bias (BV) was significantly higher than on Ariane 4. The code attempted to convert this 64-bit floating-point number into a 16-bit signed integer. Because the value exceeded the maximum limit for a 16-bit integer, an arithmetic overflow occurred.
The cruelest detail: the overflowing routine was an alignment function only needed before liftoff. It had been left running into flight purely because it had always run on Ariane 4 — where the rocket's gentler trajectory kept the value small enough to fit. Both redundant inertial units ran the identical code, so the backup failed the same millisecond as the primary.
Why it happened
- A 64-bit float was converted to a 16-bit int without range checking, causing an arithmetic overflow exception.
- The software module was inherited from Ariane 4 but never validated for Ariane 5's different flight profile.
- Critical redundancy was disabled: both SRI units ran identical code, so they failed simultaneously.
- The alignment routine that overflowed served no purpose after liftoff — dead code, running armed.
The lesson
Reusing code across systems is dangerous if the operational context changes. Verify that every assumption holds in the new environment.
Aftermath
The incident led to a massive overhaul of ESA's software certification processes. It became the definitive case study in software engineering schools, illustrating the catastrophic cost of assuming 'it worked before' and the necessity of rigorous boundary testing.
Sources
spotted an error? The club wants to know.

Comments · 0
Sign in to join the comments.