Synon wrote:
This reminded me of a European Space Agency rocket called the Ariane 5, which had some code to correct the rocket's angle of trajectory. 40 seconds into the flight that code decides to convert a 64-bit float into a 16-bit signed integer, which, as integers are wont to do when you try to put too much data in them, overflowed. The rocket decided it was facing the wrong direction, so it aimed itself at the ground. Thankfully it was unmanned, and they had had the forethought to put a self-destruct system onboard, so they just blew it up. But if that had actually reached the ground it could have been catastrophic -- I read somewhere that if a fully-fuelled Saturn V rocket had exploded it would have been like a small nuclear bomb. Obviously the Ariane 5 is not the same size as a Saturn V but it's still basically a big tube filled with explosive chemicals.
Not exactly, nobody wanted to blew the rocket up. What truly happened is this: after the overflow, on board system core dumped the memory and sent it back to the main control centre on the ground. The computer there examined the input and said, hey what's that? the confirmation code for self-destruct? fine...