Java Reference
In-Depth Information
A race condition in a computer program occurs when two or more processes run-
ning concurrently access some shared data. One modifies the data after another
has read it, and they both continue processing under the wrong assumptions. In
this case, three power lines failing simultaneously caused the race condition that
caused the alarm system to fail, which went unnoticed by the operators. Resulting
problems caused the entire system to crash shortly thereafter. The backup system
crashed for the same reasons. After the bug was discovered, GE issued a patch to
correct it.
Lessons Learned
The problems of this event stemmed not from a lack of power but on the inability
to get the power where it was needed. This blackout highlighted the poor infra-
structure of power lines that exist and the danger of relying on voluntary rules for
maintaining the reliability of the power grid.
Regarding the software culpability, race conditions are a known source of failure
in concurrent systems and must be tested for thoroughly. Formal analysis is war-
ranted in situations like this one where so much is at stake.
Sources: CNN.com, WashingtonPost.com
 
Search WWH ::




Custom Search