2 ms·
I was in training brushing up on my embedded programming skills, which thankfully I don't have to use anymore, and the instructor told a story about a bug in a
by kilo_bravo_3 8y ago
I was in training brushing up on my embedded programming skills, which thankfully I don't have to use anymore, and the instructor told a story about a bug in a missile that was on the verge of delaying its deployment due to tests failing.
While on the bench and being subjected to a bunch of tests to validate the seeker components against simulated targets and countermeasures, the flight control surfaces would start spazzing out after a few minutes in the test jig.
The problem had something to do with IR (or something) tracking and attitude control, with the tracker rolling over the odometer and sending spurious data to the flight guidance system which caused the tests to fail and would have lead to an in-flight breakup of the missile real-world.
The onboard hardware was highly resource constrained, and engineers and developers worked for weeks trying to fix the problem, going as far as contemplating a complete redesign of the seeker system.
Then somebody pointed out that between the time of launch and the missile's two end states: impact with the target or fuel exhaustion-- was less than 60 or so seconds.
The only reason the bug was causing problems was that tests were being run back-to-back-to-back in order to speed up things, and the seeker subsystem was being powered on for way longer than it ever would be in the real world.
A missile shouldn't have to be on for more than a couple of minutes, and a Dreamliner shouldn't have to be on for more than 248.55 days so I'm willing to bet they stuck some ancient 8-bit micro in there, reused ancient code that was already tested, and called it a day.
- Nimelrian 8y ago> a story about a bug in a missile that was on the verge of delaying its deployment due to tests failing. A Patriot Missile in Saudi Arabia wasn't launched to intercept a SCUD, which then killed 28 soldiers. The reason was poor handling of rounding errors [1] The maiden flight of the Ariane 5 rocket resulted in a RUD due to an integer overflow [2] [1] http://www-users.math.umn.edu/~arnold/disasters/patriot.html http://www-users.math.umn.edu/~arnold/disasters/patriot.html [2] http://www-users.math.umn.edu/~arnold/disasters/ariane.html http://www-users.math.umn.edu/~arnold/disasters/ariane.html
- SiempreViernes 8y agoTo be fair, there is little public evidence that Patriots ever killed a SCUD (but plenty of public evidence of the Army lying about their effectiveness). http://www.turnerhome.org/jct/patriot.html http://www.turnerhome.org/jct/patriot.html