5 ms·
Bit flips: How cosmic rays grounded a fleet of aircraft
- SwiftyBug 11mo agoI thought planes had insane redundancy exactly so stuff like that don´t happen. How can a bit flip cause the system that controls altitude to malfunction like that?
- bdangubic 11mo agoif (cosmic_ray) { do_not_flip_bits() } else { flip_away() }
- rjp0008 11mo agoWhat if in the time between initialization of cosmic_ray to False, and the time this if statement executes, a legitimate cosmic ray flips the bool bit representing cosmic_ray?
- wavemode 11mo agoah, a classic TORTOF bug (time-of-ray, time-of-flip)
- sunrunner 11mo agoThis is a really good point and a common error in bit flip detection code. To avoid this kind of look-before-you-leap hazard the following is recommended: try { do_action() } catch (BitFlipError e) { logger.critical("Shouldn't get here") } Ask-for-forgiveness as an error detection pattern avoids these kinds of errors entirely.
- terminalshort 11mo agoSimple! Make it an int. int cosmic_ray = 0 if (bool(cosmic_ray)) { throw cosmicRayException() }
- willis936 11mo agoWhy would you ever expect one bit flip? You have a flip rate and you design your system to tolerate a certain bit flip rate. Assumptions made during requirements establishment were wrong and nature eventually let them know they had negative margin.
- p_l 11mo agoPossibility of bit flips from cosmic radiation only really came to fore in 1990s, and some aircraft and parts predate that.
- 15155 11mo agoSmaller semiconductor feature size greatly increases the likelihood of these types of errors.
- p_l 11mo agoFor a long time ECC brought most of effect as hedge against failing silicon, and local EMI. Aviation had benefit of careful EMI designs and appropriately selected chips, so it was seen less of a benefit...
- procflora 11mo agoFrom what I've heard (FWIW), Airbus released a version of the software for one of the flight computers that removed SEU protections (hence grounding affected models until they could be downgraded to the previous version). There was still hardware redundancy though. Operation of the plane's elevator switched to a secondary computer. Presumably it was also running the same vulnerable software, but they diverted and landed early in part to minimize this risk. So not just redundancy but layers of redundancy.
- neko_ranger 11mo agoI swear to god I've been got by cosmic rays modifying a bit before when my boot order changes for random reasons
- jessriedel 11mo agoI thought some combination of error correction and redundant systems was already widespread in airplanes to prevent cosmic-ray induced errors. (GPT agrees.) What am I missing? I've read multiple articles on this, and none of them address the fact that the problem, at the level of detail described in the article, should have been prevented by technology available and widely deployed for decades.
- pengaru 11mo ago> GPT agrees What do you think this adds? These things are sycophant confident idiots; they will agree and agree they're incorrect at the slightest challenge in the same interaction.
- jessriedel 11mo agoI'm quite aware of the limitations. That's why I bothered to post a comment. But it's definitely better to do due diligence by asking first, since many responses can then be checked. Mentioning it in the comment shows the effort, similar to "Google turned up nothing".
- pengaru 11mo ago"my sycophant agrees" simply isn't adding anything of substance
- jessriedel 11mo agoIf that's your honest impression, it's incorrect and I urge you to spend more time working with frontier models.
- RealityVoid 11mo agoYou're missing that the systems were designed in the 90's and they had no edac on them but instead relied on redundancy and a consensus system. The fact bit flips happened is not why they grounded the things and updated sw, they grounded them to address the consensus algorithm in the other CPU that did not get the bit flips.
- RankingMember 11mo agoIt's important to note that this is just Airbus's best guess as to the cause, as there's no smoking gun: they simply exhausted their troubleshooting and were left scratching their heads so this was the "least unlikely" cause they could come up with given the circumstances.
- serial_dev 11mo ago…but if I respond with this to a user’s bug report, I’m “not taking this seriously”…
- RealityVoid 11mo agoI thought the same, but in a deeper dive into the postmortem, I think it's not a cop out from their side. The report is actually really well done ( I personally was impressed). The reasons it probably was a bit flip is that the CPU did not have edac on it in this instance so bit flips are expected. The consensus mechanism failed in this case and that is what they are updating, because even though the module gave wrong data because of presumably bit flips, the consensus should have prevented the dive.
- N19PEDL2 11mo agoDo you happen to have a link to that report?
- RealityVoid 11mo agoSure. https://www.atsb.gov.au/sites/default/files/media/3532398/ao2008070.pdf#%5B%7B%22num%22%3A837%2C%22gen%22%3A0%7D%2C%7B%22name%22%3A%22FitH%22%7D%2C207%5D https://www.atsb.gov.au/sites/default/files/media/3532398/ao... My reaction was initially that it was a cop out, but looking a bit in the report and thinking things through, I think that, yes, it's most likely a bit flip.
- meatmanek 11mo agoThis is for a similar incident that happened in 2008, not the Jetblue incident from October of this year.
- MarkusQ 11mo agoThis is silly. Rapidly refreshing the data that was (presumably) flipped by a cosmic ray last time won't do anything to prevent an error in whatever it hits next time. Unless the theory is that cosmic rays are somehow more likely to hit these particular bits compared to all the millions (billions?) of others in the system...in which case I have a different objection.
- AlotOfReading 11mo agoNot all circuits are equally sensitive. The parts that are known to be sensitive or critical are protected by redundancies and error checking, which are probabilistic protection. You haven't completely eliminated the possibility of corruption, just made it incredibly unlikely. Refreshing your inputs is another form of probabilistic protection focused on mitigating the consequences.
- MarkusQ 11mo agoWhy not ECC though? Unless this is a latched output of a robust system being held for use by another robust system I guess?
- AlotOfReading 11mo agoECC is one of the probabilistic protections I was talking about.
- adrian_b 11mo agoIn another HN thread it was said that since several years there is in production a new model of the affected module that has ECC. Despite that, most of the existing planes have an older model, which has not been upgraded.
- RealityVoid 11mo agoWhat is silly is media coverage of this. The error was in the ADIRU. They are updating the ELAC. The ELAC takes the decision based on multiple data streams from 3 ADIRU units and the issue being fixed is that it took the wrong decision. The ADIRU will probably continue having SEU but it will be fine.
- avazhi 11mo ago“ The increasing reliance of computers in fly-by-wire systems in aircraft, which use electronics rather than mechanical systems to control the plane in the air, also mean the risk posed by bit flips when they do occur is higher.” Bit of an understatement. I don’t think there any active passenger airliners in the first world today that aren’t fly-by-wire. The MD-80 was the last of its kind and it’s been out of passenger operation for what, 10 years now?
- Stevvo 11mo agoAny Boeing other than 777/787 does not use fly-by-wire. However, that doesn't illuminate the possibility of these errors. Whilst the flight-controls are mechanically linked, the autopilot/trim is electric, so is still suspectable to bit-flips.
- drob518 11mo agoStill a lot of software involved in controlling the aircraft. The 737 Max incidents were eventually tracked to software quality issues, IIRC. All those old designs are being upgraded with modern avionics, so even if the airframe and linkages are old-school, the inputs are being driven by digital computers. At least that’s my understanding. I confess to not being a “plane guy,” though I have spent a lot of time traveling in planes, and I have stayed at a few Holiday Inn Express hotels.
- buckle8017 11mo agoThe MAX issues are not software. The plane is fundamentally unstable because of the huge engines (which they have to improve fuel efficiency). The only way to correct that is software with an angle of attack sensor. They only installed one sensor though. Does that sound like a software error or a fundamental physical design flaw?
- dehrmann 11mo ago> The plane is fundamentally unstable because of the huge engines I'll leave the googling to you, but this isn't true. The plane isn't fundamentally unstable, and certainly not like a modern fly-by-wire fighter.
- preommr 11mo agoI had no idea this was a real thing - I always thought that xkcd comic[0] was just a random joke. [0]https://xkcd.com/378/ https://xkcd.com/378/
- aruametello 11mo agoTo dial up the weirdness, sometimes the solar flare activity has spikes (https://www.spaceweatherlive.com/en/solar-activity/solar-flares.html https://www.spaceweatherlive.com/en/solar-activity/solar-fla...) and these have a mild relationship with the odds of having "bitflips" in that timeframe. we had a "historic bad solarweather" a bunch of years ago and i talked with a cyber cafe operator that "you could have more computers bluescreen on this week than usual". to me it got really weird when he said later he really did, but honestly its 50/50 that could had been just incidental. in another note there are some "rather intense" discussions when someone speedrunning a game gets a "unreproducible glitch" in their favor, some claim its a flaw from ageing dram hardware, but some always point that it could be a cosmic ray bitfliping the right bit. (https://tildes.net/~games/1eqq/the_biggest_myth_in_speedrunning_history_a_cosmic_ray_didnt_help_a_mario_64_speedrunner https://tildes.net/~games/1eqq/the_biggest_myth_in_speedrunn...)
- nomel 11mo agoIt's literally one of the reasons ECC RAM exists.
- mikestew 11mo agoI had no idea this was a real thing Oooh, in that case I have another xkcd you might like, involving mint candies and soft drinks…
- chris_va 11mo agoI highly recommend finding a cloud chamber (various science museums have them) to visualize just how much radiation is flying around. Part of my work touches high power switches. I am going to do a bad job relating this story, but one of the power engineers was talking about how electric train switches in EU (Switzerland?) were having triggering issues. These were big MW scale IGBTs, not something you want to false trigger. Anyway, they eventually traced the problem to cosmic rays, and just turned the entire package vertical so the die was end-on to space (the mountains around were shielding the horizontal direction), and the problem went away.
- actionfromafar 11mo agoThat's very P. K. Dick. Or maybe more Heinlein.
- CamperBob2 11mo agoActually it's very "We actually have no idea what's causing this 50 kW load switch to flake out, but turning it on its side seems to help."
- Neywiny 11mo agoAlways good to support the IGBT community
- bloomingeek 11mo agoLMAO!
- SkiFire13 11mo ago> just turned the entire package vertical so the die was end-on to space (the mountains around were shielding the horizontal direction), and the problem went away. That's a pretty cool solution! For some reason I was expecting something a lot more elaborated
- charcircuit 11mo agoI feel like using "Cosmic Rays" as a reason is equivalent to "Aliens". It makes for good clickbait so everyone is fast to point at it as the reason even if there is no reason to actually believe that the bitflip was due to cosmic rays.
- 0manrho 11mo ago> even if there is no reason to actually believe that the bitflip was due to cosmic rays. What if there is reason to consider it as it is actually a known, proven, observable phenomenon, especially one with greater likelihood/intensity as you climb in altitude, like planes do, and that likelihood/intensity also scales with solar cycle intensity, which we are currently experiencing the peak of? Or perhaps you think the Aurora Borealis are because of Aliens too?
- charcircuit 11mo ago>also scales with solar cycle intensity The article rebuked that claim, saying that day was average. There other things that can cause bitflips ti be more likely like heat.
- 0manrho 11mo ago> The article rebuked that claim It did not. The article itself acknowledged that there is certainly reason to consider it a possibility, predicated on the fact that the people that make the thing stated as such and that experts in the field agree it's also a risk in general, but wasn't particularly high that day. Average activity is not no activity. Average risk is not No risk. And even if it wasn't the issue in that instance, it's not hard to reason why it's worth hardening against such a possibility in the absence of any other explanation given just days later "sensors mounted on UK weather balloons at 40,000ft (12km) measured one of the largest radiation events to hit Earth in roughly two decades." Airbus didn't ground these plains because there was "No reason to believe" a known proven and observed phenomenon might have been the culprit and/or that it is on the level with something we as yet have no proof of to be generous in characterizing your comparing it to aliens.
- who-shot-jr 11mo agoThe Universe is Hostile to Computers - https://www.youtube.com/watch?v=AaZ_RSt0KP8 https://www.youtube.com/watch?v=AaZ_RSt0KP8
- Borrible 11mo agoThat reminds me of how the manufacturer's customer service department for my car some thirty years ago tried to convince me that the problems with the ignition electronics could also be caused by solar flares. Which could have been the case, of course, but then it would surely have affected other vehicle owners as well. Though, maybe the sun did shine just for me back then, you can never be sure, can't you. I briefly considered consulting an astronomer.
- djmips 11mo agoThere was a funny story about how sun shining on a UV sensitive electronic component was the root cause of a mysterious failure that was time and day dependent.
- air7 11mo agoNaive question, but can't this be solved with device-level error correction?
- djmips 11mo agoIt could be like ECC RAM but you'd have to make new hardware.
- burnt-resistor 11mo agoPSA: 0. Always use a) SECDED hardware ECC and b) checksums on network links and I/O everywhere. 1. When unable to 1.a), add (72,64) 8-bits Hamming code per 64-bits (or) N>2 redundancy copies on physically-separate silicon for critical data and code. This is a significant performance hit, but safety is more important in some uses. (Don't neglect the integrity and reliability of code storage, loading, and execution paths either.) 2. Consider using Space Shuttle high-availability, high-reliability "voting" of N identically-designed behavior, possibly different manufacturer system control elements.