Python from Wise Guy's Viewpoint

Fergus Henderson fjh at cs.mu.oz.au
Mon Oct 20 03:38:00 EDT 2003


Kenny Tilton <ktilton at nyc.rr.com> writes:

>Dennis Lee Bieber wrote:
>
>>         Just check the archives for comp.lang.ada and Ariane-5.
>> 
>>         Short version: The software performed correctly, to specification 
>> (including the failure mode) -- ON THE ARIANE 4 FOR WHICH IT WAS 
>> DESIGNED.
>
>Nonsense.

No, that is exactly right.  Like the man said, read the archives for
comp.lang.ada.

>From: http://www.sp.ph.ic.ac.uk/Cluster/report.html
>
>"The internal SRI software exception was caused during execution of a 
>data conversion from 64-bit floating point to 16-bit signed integer 
>value. The floating point number which was converted had a value greater 
>than what could be represented by a 16-bit signed integer. This resulted 
>in an Operand Error. The data conversion instructions (in Ada code) were 
>not protected from causing an Operand Error, although other conversions 
>of comparable variables in the same place in the code were protected. 
>The error occurred in a part of the software that only performs 
>alignment of the strap-down inertial platform. This software module 
>computes meaningful results only before lift-off. As soon as the 
>launcher lifts off, this function serves no purpose."

That's all true, but it is only part of the story, and selectively quoting
just that part is misleading in this context.

For a more detailed answer, see
<http://www.google.com.au/groups?as_umsgid=359BFC60.446B%40lanl.gov>.

>>         LISP wouldn't have helped -- since the A-4 code was supposed to 
>> failure with values that large... And would have done the same thing if 
>> plugged in the A-5. (Or are you proposing that the A-4 code is supposed 
>> to ignore a performance requirement?)
>
>"supposed to" fail? chya. This was nothing more than an unhandled 
>exception crashing the sytem and its identical backup. Other conversions 
>were protected so they could handle things intelligently, this bad boy 
>went unguarded.

The reason that it went unguarded is that the programmers DELIBERATELY
omitted an exception handler for it.  The post at the URL quoted above
explains why.

-- 
Fergus Henderson <fjh at cs.mu.oz.au>  |  "I have always known that the pursuit
The University of Melbourne         |  of excellence is a lethal habit"
WWW: <http://www.cs.mu.oz.au/~fjh>  |     -- the last words of T. S. Garp.




More information about the Python-list mailing list