Sounds more like a bug rather than a lack of memory to me ...
The flight plan did not contain an altitude for the flight, one of the sources said. While a controller entered the usual altitude for a U-2 plane - about 60,000 feet - the system began to consider all altitudes between ground level and infinity.
The conflict generated error messages and caused the system to begin cycling through restarts.
A perfect example of why embedded or safety-critical systems should never dynamically allocate memory from a common pool.
Such systems should always preallocate fixed-size heapsfor each subsystem, each of which can then dynamically parcel out pieces of their own heaps if necessary. This helps limits the damage of any memory leaks in the system.
So much talk about Snowden, and then a newspaper reveals how to trigger a software bug than can shut down the entire air traffic control system for a large segment of the US. This is a genuinely damaging revelation, even if some critical details are lacking. Curious that the government is not up in arms about it.
Having worked on ATC, this really does sound like a software bug. Fixing such a bug on a delivered system would require an immense amount of costly testing. Adding memory is the cheap option.
The other thing to consider is that some of these systems are rather old and could easily have less than a gig of ram.
That sounds very worrying. The fact that this issue occurs shows that they didn't prepare for OOM conditions, and another issue could easily cause a different OOM condition they didn't prepare for. It's not inconceivable that there could be an issue which gobbles up an amount of memory you throw at it. It is a tragic irony that the fact that testing is costly may be the very reason this condition was not tested for.
Only in the sense of having a broken system, putting in place some procedural constraints and then praying that everyone follows the rules.
As you say, it's a software bug. Until it's been 100% characterised and tested this leaves a huge question mark hanging over the system. Adding memory is a band aid solution.
said Dan Kaminsky, co-founder of the White Ops security firm and an expert in attacks based on over-filling areas of computer memory.
That sounds more like buffer overrun than OOM. One is a Heartbleed-class vulnerability, the other is a pretty straightforward DoS situation. But of course why would we expect Reuters to be able to distinguish between the two...
I would guess that it was some form of an numeric overflow, signed/unsigned issue or out of bound array access, because the only abnormal thing here is U2's altitude.
It's not the most stealthy plane on earth, in fact it has been shot down over the Soviet Union and China in historical cases, because of being tracked by radar. Moreover it was flying over American airspace, it makes sense to register it.
A good idea when you consider that it could be mistaken for some bad guys plane, shot down and probably cause WWIII (not that long shot - the US and USSR were at a few times very close to annihilation due to glitches in their own software)
[+] [-] sehugg|12 years ago|reply
(The AAS often appears in software engineering classes as an example of a classic "train wreck" project)
[+] [-] damian2000|12 years ago|reply
The flight plan did not contain an altitude for the flight, one of the sources said. While a controller entered the usual altitude for a U-2 plane - about 60,000 feet - the system began to consider all altitudes between ground level and infinity.
The conflict generated error messages and caused the system to begin cycling through restarts.
[+] [-] hudibras|12 years ago|reply
Obviously a hardware problem...
[+] [-] tomp|12 years ago|reply
[+] [-] ape4|12 years ago|reply
[+] [-] vince_refiti|12 years ago|reply
[+] [-] MattHeard|12 years ago|reply
[+] [-] colanderman|12 years ago|reply
Such systems should always preallocate fixed-size heapsfor each subsystem, each of which can then dynamically parcel out pieces of their own heaps if necessary. This helps limits the damage of any memory leaks in the system.
[+] [-] atlantic|12 years ago|reply
[+] [-] awjr|12 years ago|reply
The other thing to consider is that some of these systems are rather old and could easily have less than a gig of ram.
[+] [-] andreasvc|12 years ago|reply
[+] [-] lyndonh|12 years ago|reply
Only in the sense of having a broken system, putting in place some procedural constraints and then praying that everyone follows the rules.
As you say, it's a software bug. Until it's been 100% characterised and tested this leaves a huge question mark hanging over the system. Adding memory is a band aid solution.
[+] [-] strictfp|12 years ago|reply
[+] [-] kijin|12 years ago|reply
That sounds more like buffer overrun than OOM. One is a Heartbleed-class vulnerability, the other is a pretty straightforward DoS situation. But of course why would we expect Reuters to be able to distinguish between the two...
[+] [-] andreasvc|12 years ago|reply
[+] [-] huhtenberg|12 years ago|reply
[+] [-] andreasvc|12 years ago|reply
[+] [-] jmnicolas|12 years ago|reply
I thought such a plane would be 100% autonomous and be able to "see" and avoid other planes.
[+] [-] ars|12 years ago|reply
A U2 is not at all stealthy. You must be thinking of some other plane.
> if you have to register a flight plan
It's not a military operation in a foreign country, it's a routine flight in the home country.
> I thought such a plane would be 100% autonomous
The U2 was made long before such computers existed. They do have drones now.
> and be able to "see" and avoid other planes.
It wasn't the plane with the problem, it was ground control.
This must be a world record: A faulty assumption in every single sentence!
[+] [-] prof_hobart|12 years ago|reply
[+] [-] andreasvc|12 years ago|reply
[+] [-] venomsnake|12 years ago|reply