ESA's Schiaparelli Mars probe crashed because of integer overflow

Patrick Schluter via Digitalmars-d digitalmars-d at puremagic.com
Fri Nov 25 09:06:14 PST 2016


On Friday, 25 November 2016 at 09:19:26 UTC, Alix Pexton wrote:
> On 25/11/2016 07:14, Patrick Schluter wrote:
>> On Thursday, 24 November 2016 at 20:22:00 UTC, Timon Gehr 
>> wrote:
>>> On 24.11.2016 20:49, qznc wrote:
>>>> Although, the article [0] does not say that literally, it 
>>>> sounds like an
>>>> integer overflow:
>>>>
>>>>> After trawling through mountains of data, the European 
>>>>> Space Agency
>>>>> said Wednesday that while much of the mission went 
>>>>> according to plan,
>>>>> a computer that measured the rotation of the lander hit a 
>>>>> maximum
>>>>> reading, knocking other calculations off track.
>>>>
>>>>> That led the navigation system to think the lander was much 
>>>>> lower than
>>>>> it was, causing its parachute and braking thrusters to be 
>>>>> deployed
>>>>> prematurely.
>>>>
>>>>> "The erroneous information generated an estimated altitude 
>>>>> that was
>>>>> negative—that is, below ground level," the ESA said in a 
>>>>> statement.
>>>>
>>>> That is why we need CheckedInt, folks. Reminder End. ;)
>>>>
>>>>
>>>> [0] 
>>>> http://phys.org/news/2016-11-glitch-blamed-european-mars-lander.html
>>>
>>> I don't think overflow is what happened. Rather, the 
>>> statistical model
>>> they used to filter the sensor data didn't match reality. It 
>>> put too
>>> much trust into a malfunctioning sensor -- I assume the sensor
>>> readings were extremely implausible.
>>
>> Hey, sounds suspicously similar to Ariane 5 explosion. Does 
>> ESA not
>> learn from its errors or am I only reading too much in it 
>> (probably)?
>
> I thought Ariane was caused by errorcodes from one module being 
> sent on the same bus as telemetry and interpreted as 
> instructions by another module?
>
> A...

Nope it was an oveflowing down cast
https://around.com/ariane.html
The irony was that the specific module that had made the wrong 
calculation was even formally proved to be correct.
This accident also gave Bertrand Meyer (Eiffel) a lot of wind for 
his sails about design by contract
https://archive.eiffel.com/doc/manuals/technology/contract/ariane/
in that context it might be even interesting for the D language, 
as it is one of the few languages that have (inbuilt) contracts.


More information about the Digitalmars-d mailing list