Software Bug Triggered Airplane Dive Emergency

When an airplane system monitoring Airbus jet's altitude and position output incorrect data, flight computers failed to compensate.

Investigators have released their final report into a 2008 Qantas flight QF72 from Singapore to Perth, Australia, in which 110 people were injured after a computer component failed. Interestingly, investigators have now found that a programming error was partly to blame for the incident.

Here's what happened: On October 7, 2008, aircraft-monitoring systems in the Airbus A330-303--flying at 37,000 feet--failed, causing the autopilot to automatically disconnect. But pilots were still at the mercy of a flight computer that was receiving incorrect data.


More Security Insights

Webcasts

More >>

White Papers

More >>

Reports

More >>

Roughly two minutes after the failure of the computer component, the flight computer initiated two deep dives, the first for 20 seconds, the second for 16 seconds. Each dive slammed passengers into ceilings and walls. Dozens of alarms, most of them false, also began sounding in the cockpit. Luckily, pilots were able to switch to fully manual controls and execute an emergency landing at a nearby Australian military base.

[ Software bugs can cause serious problems. See Iran Hacked GPS Signals To Capture U.S. Drone. ]

After the incident, investigators quickly traced the problem to a failure involving one of the plane's three Northrop Grumman LTN-101 air data inertial reference units (ADIRUs), which measure the airplane's altitude, position, as well as angle of attack--meaning the degree to which the plane's nose is up or down.

But according to the final report on the incident from the Australian Transport Safety Bureau (ATSB), released Monday, the problem wasn't just a faulty ADIRU, but also a programming error involving the flight computers. In particular, the airplane software wasn't written to handle an event in which an ADIRU began outputting erroneous data at regular intervals.

Notably, the flight computers averaged the angle of attack data from two of the ADIRUs to compute the airplane's true angle of attack. If the data from the two ADIRUs significantly differed, however, then the flight computers discarded the values and used the one they'd computed 1.2 seconds prior. But investigators said that the algorithm couldn't handle an episode in which an ADIRU began feeding erroneous information at 1.2-second intervals. That led to the flight computers computing an incorrect angle-of-attack reading, causing it to execute the two dives, one of which subjected passengers to forces of 0.8 G.

To be sure, it was an extremely unlikely failure scenario, and while dangerous, investigators said it was very unlikely that the failure would have caused the plane to crash. All told, in over 28 million hours of flight time involving A330 and A340 aircraft, investigators said that there have been only three known cases of the aircraft systems failing in this manner and causing flight computers to incorrectly adjust the plane's angle of attack (AOA). Interestingly, one of those other failures involved an ADIRU in the same aircraft.

Investigators said that Airbus "subsequently redesigned the AOA algorithm to prevent the same type of accident from occurring again."

Another issue identified by investigators was that "at least 60 of the aircraft's passengers were seated without their seat belts fastened at the time of the first pitch-down." Notably, those passengers were injured with greater frequency--and severity--than passengers who had been wearing their seatbelts.

IT's spending as much as ever on disaster recovery, despite advances in virtualization and cloud techniques. It's time to break free. Download our Disaster Recovery Disaster supplement now. (Free registration required.)


Related Reading




Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

InformationWeek encourages readers to engage in spirited, healthy debate, including taking us to task. However, InformationWeek moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing/SPAM. InformationWeek further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.
Subscribe to RSS

Resource Links