I didn't say there was. But when a rocket falls from the sky we can
safely say there was a bug in something!
Actually, there was, a variable was supposed within reasonable range.
http://sunnyday.mit.edu/accidents/Ariane5accidentreport.html
<quote>
In the failure scenario, the primary technical causes are the Operand
Error when converting the horizontal bias variable BH, and the lack of
protection of this conversion which caused the SRI computer to stop.
</quote>
But the domain of Ariane 4 was small enough that this bug wasn't
triggered.
Nonetheless, there was apparently a lack of validation of the module
for Ariane 5.
<quote>
Testing at equipment level was in the case of the SRI conducted
rigorously with regard to all environmental factors and in fact beyond
what was expected for Ariane 5. However, no test was performed to
verify that the SRI would behave correctly when being subjected to the
count-down and flight time sequence and the trajectory of Ariane 5.
error: the system behaves in manner not expected by a reasonable user
Actually, it did. Upon detection of the error, the politic was to
shutdown the processor although (from the report), another scenario
could have been provided (an estimate from the SRI)
<quote>
Although the source of the Operand Error has been identified, this in
itself did not cause the mission to fail. The specification of the
exception-handling mechanism also contributed to the failure. In the
event of any kind of exception, the system specification stated that:
the failure should be indicated on the databus, the failure context
should be stored in an EEPROM memory (which was recovered and read out
for Ariane 501), and finally, the SRI processor should be shut down.
It was the decision to cease the processor operation which finally
proved fatal. Restart is not feasible since attitude is too difficult
to re-calculate after a processor shutdown; therefore the Inertial
Reference System becomes useless. The reason behind this drastic
action lies in the culture within the Ariane programme of only
addressing random hardware failures. From this point of view exception
- or error - handling mechanisms are designed for a random hardware
failure which can quite rationally be handled by a backup system.
I understood it was destroyed by the range safety officer
Yes but it could have had a different strategy.
<quote>
Although the failure was due to a systematic software design error,
mechanisms can be introduced to mitigate this type of problem. For
example the computers within the SRIs could have continued to provide
their best estimates of the required attitude information. There is
reason for concern that a software exception should be allowed, or
even required, to cause a processor to halt while handling mission-
critical equipment. Indeed, the loss of a proper software function is
hazardous because the same software runs in both SRI units. In the
case of Ariane 501, this resulted in the switch-off of two still
healthy critical units of equipment.
are there many near the Ariane launch site?
No but when you have this much tons of metals at this speed and
accelerating, you may reach inhabited locations quite quickly.
The palms goes to this citation
<quote>
Returning to the software error, the Board wishes to point out that
software is an expression of a highly detailed design and does not
fail in the same sense as a mechanical system. Furthermore software is
flexible and expressive and thus encourages highly demanding
requirements, which in turn lead to complex implementations which are
difficult to assess.
An underlying theme in the development of Ariane 5 is the bias towards
the mitigation of random failure. The supplier of the SRI was only
following the specification given to it, which stipulated that in the
event of any detected exception the processor was to be stopped. The
exception which occurred was not due to random failure but a design
error. The exception was detected, but inappropriately handled because
the view had been taken that software should be considered correct
until it is shown to be at fault. The Board has reason to believe that
this view is also accepted in other areas of Ariane 5 software design.
The Board is in favour of the opposite view, that software should be
assumed to be faulty until applying the currently accepted best
practice methods can demonstrate that it is correct.
This means that critical software - in the sense that failure of the
software puts the mission at risk - must be identified at a very
detailed level, that exceptional behaviour must be confined, and that
a reasonable back-up policy must take software failures into account.
</quote>