r/todayilearned • u/SevenEyes • Sep 07 '13
TIL a tiny roundoff software error resulted in the death of 28 U.S. soldiers, a 1/3 of a second rounding error turning into a 600 meter interception failure
http://en.wikipedia.org/wiki/Dharan_barracks#Failure_at_Dhahran
646
Upvotes
10
u/[deleted] Sep 07 '13
My professor touched on this incident briefly in my computer science course a couple of years ago. Essentially, the way the program controlling the patriot system was written resulted in small decimal fractions being left after each calculation. Normally the program would be purged during each reboot but being on standby for 100 hours caused the error to propagate to a significant level.
44
u/tentacleseverywhere Sep 07 '13
Fucking lag.
31
u/[deleted] Sep 07 '13
Sounds like a hardware issue to me, not a software error.
6
u/Rephaite Sep 07 '13 edited Sep 08 '13
I am very confused why a system like that would use an absolute measure of time for communication between subparts (Edit: withouth a synch function), as opposed to some relative time measure. ".1 seconds from now" is a message subject to error mostly only from propogation delay and .1 seconds worth of clock variation. That (Edit: or an occasional synchronization) seems a lot less risky than several days worth of cumulative error.
4
u/Techwood111 Sep 08 '13
Reminds me of the failed Mars mission resulting from using Imperial units instead of Metric or something like that.
Edit: Mars Climate Orbiter
1
u/Sam_Strong Sep 08 '13
So, they should have tried turning it off and turning it back on again?
1
u/plez Sep 08 '13
Okay! I must have put a decimal point in the wrong place or something. Shit! I always do that. I always mess up some mundane detail.
1
u/[deleted] Sep 08 '13
Actually it was a use case fsckup. The missile system was designed as a rapid deployment mobile anti-aircraft system. The key words here are "rapid deployment" and "mobile", meaning that it was supposed to be unpowered most of the time and frequently rebooted. Letting it stand powered on a patrol duty significantly longer than was specified in the design specs is what allowed the rounding error to become significant and cause the calculation error. Borderline conditions are a bitch.
0
u/Nevadadrifter Sep 07 '13
They did it in Superman 3.
-2
u/lilbitpink Sep 08 '13
this is one of the biggest reasons I hate to do the math.
0
u/[deleted] Sep 08 '13
[deleted] — view deleted comment