Back to blog
    Engineering Strategy

    Ariane 501 Shows Redundancy Without Diversity Fails Together

    Written by:OperateOperate TeamUpdated 8 min read

    Both Ariane 501 inertial units failed 0.05 seconds apart because they were identical. What the Lions report says about redundancy, dead code and diversity.

    Ariane 501 Shows Redundancy Without Diversity Fails Together

    Quick Answer

    Both inertial reference units on Ariane 501 stopped within about 0.05 seconds of each other, because they ran identical software on identical hardware and hit the same exception. Replication protects against independent hardware failure, not against a shared logic error. The Lions inquiry also found code running that had no purpose in flight, and a failed unit that sent diagnostic data as if it were guidance.

    At about H0 plus 36.7 seconds, the Inquiry Board report says, the inertial reference systems on Ariane 501 "ceased to function almost simultaneously". The back-up unit stopped first and the active unit followed about 0.05 seconds later, for the same reason. The launcher began to disintegrate at about H0 plus 39 seconds.

    Wikipedia's article on Ariane flight V88 records the same sequence, including the loss of the four Cluster research satellites. Retellings often call this the most expensive integer overflow in history. We think the overflow is the least interesting fact, and the 0.05 seconds is the most important one. The failure was one deterministic logic error executed twice.

    What the Inquiry Board Found About Ariane 501

    The Board, chaired by Professor J. L. Lions, wrote a report that we consider a masterclass in forensic engineering. Debris from the launch fell over roughly 12 square kilometres of mangrove swamp and savanna, yet investigators recovered both inertial reference units and read the failure context from their memory.

    The chain of events was logical against the specification. The software hit an operand error in a conversion from a 64-bit floating point value to a 16-bit signed integer. The specification said that any exception should shut the processor down, so both units did. That decision, the report says, "finally proved fatal."

    Redundancy Is Not the Same as Diversity

    The launcher carried two inertial reference units with identical hardware and software. One was active and the other was in hot standby. When the standby unit failed, the active one was still running and then failed in the same way. The on-board computer then had nothing healthy to switch to.

    The report says plainly why this matters. "Indeed, the loss of a proper software function is hazardous because the same software runs in both SRI units." The Lions report does not use the word diversity, and we draw that conclusion ourselves from its finding.

    Key Takeaway. Replication defends against independent hardware failures, and it offers no protection against a deterministic logic error where the same input produces the same failure in every copy.

    Modern systems repeat the pattern in familiar ways.

    • Three identical pods behind a load balancer can all crash on one poison request.
    • Regions running the same container image can fail together on a time-triggered bug.
    • Database replicas on the same planner version can all stall on one execution plan.

    The Function That Had No Reason to Be Running

    The failing code was part of an alignment routine. It matters before launch, and it kept running for about 40 seconds into flight. The report explains that the feature served a quick restart of the countdown on Ariane 4, and that it was used once, in 1989 on flight 33. The same requirement did not apply to Ariane 5, yet it was maintained.

    The Board's first recommendation is blunt. "Switch off the alignment function of the inertial reference system immediately after lift-off. More generally, no software function should run during flight unless it is needed." We see the same thing in production, in a sidecar nobody owns, a migration flag still evaluated years later, or a scheduled job whose output nobody reads.

    The Margin Argument That Was True Until It Was Not

    We find the most instructive detail is that leaving the conversion unprotected was a deliberate choice. The report says seven variables were analysed for operand errors, protection was added to four of them, and three were left unprotected. The reasoning was that they were physically limited or had a large margin of safety, which in the case of the horizontal bias variable turned out to be faulty.

    Ariane 5 was a different machine. The report says its trajectory builds horizontal velocity five times more rapidly than Ariane 4. The assumption was agreed, in the report's words, but "essentially obscured, though not deliberately, from any external review." Assumptions recorded in a document and not enforced in code survive into environments where they stop being true, and the Board asked for implicit assumptions to be identified and checked against the restrictions on use of the equipment.

    Failing Loudly in the Wrong Direction

    When the unit failed, it did what the specification said. It indicated the failure on the databus, stored the context in memory and shut down. The diagnostic bit pattern it sent was interpreted by the on-board computer as flight data, and the computer commanded the nozzles on that basis. The launcher veered sharply, and the self-destruct system ended the flight.

    The third recommendation addresses this directly. "Do not allow any sensor, such as the inertial reference system, to stop sending best effort data." For us, the modern parallel is a component that returns something structurally valid and semantically meaningless, such as a health check returning success while the backend is deadlocked. Our guide to silent failures that return 200 OK covers that class.

    Checking a Model With a Model

    The history gives a design constraint for AI-assisted operations. If a worry about automated root cause analysis is that it can be confidently wrong, then checking its output with a second copy of the same model is one identical unit following the other into the swamp. The same evidence and prompt will likely produce the same mistake.

    That is why the checking agent should differ. Operate's design uses a separate agent on a different model to check each proposed root cause against the evidence, which reduces unsupported conclusions and does not guarantee correctness. Our pieces on verifying AI root cause analysis the way pilots cross-check and the second opinion problem go further.

    Five Questions for Your Next Architecture Review

    We would put these questions to the team that owns the design.

    1. Are our replicas different in any way that matters, or are they just copies?
    2. What code runs in production that provides no value to the current request path?
    3. Which assumptions exist only in a design document and not in a guardrail?
    4. When a component fails, does it go quiet or keep sending plausible nonsense?
    5. What does a downstream consumer believe if the upstream fails?

    What This Essay Does Not Claim About Diversity

    We do not claim that diversity is free or sufficient. Independent implementations cost real money, and they can still share a wrong requirement. Ariane 501 also lacked other defences that the report discusses, including testing that would have exposed the problem.

    The ESA Bulletin article Learning from Flight 501 and Preparing for 502 summarises the loss in one line. "The failure of Ariane-501 was caused by the complete loss of guidance and attitude information 37 s after start." Our reading is narrow, that identical replicas cannot cover for each other against a shared defect, and the report supports the facts underneath it.

    Make Your Replicas Differ Where It Matters

    The Ariane 501 inquiry is a case study in correlated failure. Make replicas differ in the dimension that can fail, remove code with no purpose, enforce assumptions in code and make failed components stay quiet instead of sending guesses.

    We would start with question one in your next review. If you want agents to help investigate with a check from a different model, Operate runs dedicated AI agents that investigate production problems with cited evidence and propose fixes for your team to review.

    Frequently Asked Questions

    The Lions report traces it to a software exception in both inertial reference units, caused by converting a large 64-bit floating point value to a 16-bit integer. We add that the units ran identical software, so the back-up could not take over, and the flight was lost.

    We use redundancy for having multiple copies and diversity for making those copies differ, in software, hardware or design. Copies protect against independent random failures, and diversity protects against a shared defect that would otherwise hit every copy at once.

    They had identical hardware and software and received the same input. The back-up failed first and the active unit followed about 0.05 seconds later for the same reason, which we read as a deterministic fault executed twice and not a random failure.

    We would highlight three recommendations. It said no software function should run during flight unless needed, that sensors should not stop sending best-effort data, and that implicit assumptions in code and justification documents should be identified and checked against restrictions on use.

    We make replicas differ where a shared defect could strike, such as versions, implementations or independent checks. We also remove code that has no purpose, enforce assumptions in guardrails and test failure paths, so that copies do not fail together.

    About the author

    Operate

    Operate Team

    The team behind Operate

    Operate Team builds Operate, enterprise AI agents for production operations. Operate answers production questions from Slack and Microsoft Teams, investigates alerts, and reviews performance, security and cost. It finds the root cause with evidence and proposes a fix for an engineer to review, with controlled access to your systems.

    Share: X LinkedIn
    #SRE
    #Engineering Leadership
    #Platform Engineering
    #Incident Response

    Keep reading