F-35 radar system has bug that requires hard reboot in flight
arstechnica.com
arstechnica.com
It was the first number that shocked me the most.
EDIT: I found it:
http://breakingdefense.com/2016/02/bogdan-predicts-f-35s-for...
The toughest problem the program is having is matching the timing of the aircraft’s fusion software with its sensors’ software. “As we add different radar modes and as we add different and capabilities to the DAS system and to the EOTS system, the timing is misaligned,” and then you have to reboot it. Bogdan said he’s aiming for eight to nine hours between such software failures when a radar or DAS or EOTS needs to be rebooted, which is what legacy aircraft boast. Right now they are at four to five hours between such events. “That’s not a good metric.”
I don't understand a lot of that, but I think the fusion softwre refers to a unified UI for the pilot that merges information from the plane's very many sensors and presents it in a comprehensible way on one screen. Apparently pilots in older planes suffer from data overload and from watching many different screens at once - all while trying to fly a plane in combat. UI is reported to be a highly consequential improvement for the new plane.
(2 + 2 + 2 + 2 + 12) / 5 = 4.
And so on. This whole statement is meaningless without more information about the distribution of lengths of flights.
According to references, 13.5 hours [0] is the record for the F-16 combat mission, and this was actually a SEAD (Suppression of Enemy Air Defenses) mission in a single-seat F-16CJ. Similar missions in the EA-18G extended to 13+ hours with a single pilot, along with a WSO/EWO in the back seat.
Various unofficial reports indicate F-16s do fly 14 hour ferry flights, but that is highly unusual.
At the Evergreen Air & Space museum (home of the Spruce Goose), they have an old SR-71 on display. Part of the exhibit has a TV playing a video loop with pilots and crew talking about their experiences. One of the pilots recalls how they'd have a "high-protein, low-residue" breakfast like steak & eggs before a long mission. The idea was to provide long lasting energy without having to go "number two" in the suit. He says that some of the crew who would help them out of the flight suit at the end of a mission were female, so it'd be especially embarrassing if you'd pooped yourself. I got the impression that, while rare, it did happen sometimes. :-\
I don't know much about Navy / Air Force ops, but it's possible that a sortie may consist of taking off and returning to rearm / refuel without shutting down, which could easily span more than four hours. In addition, lots of fighter planes do refuel in mid-air, so the requirement is still very prevalent for the subsystem to remain functional.
Edit: It is mentioned elsewhere in this thread that it is a timing issue, see: http://breakingdefense.com/2016/02/bogdan-predicts-f-35s-for...
With the F-35 and other jets, its possible to swap crew and perform minor maintenance with the jet electrically powered up and cooled with auxiliary air supply, although the engine is shutdown and then restarted. This actually saves significant time on the pre-takeoff procedures. I would think the Lockheed Martin engineers could also perform diagnostics after a failure, without interrupting power or restarting the sub-system.
A 4-hour MTBF window (even for a subsystem) is terrifying considering modern vehicles like this are likely all fly-by-wire.
This article should clarify what the radar reset that they are referring to is. Integer, origin, and timing resets are a function of radar tech, and are not specifically related to something like a system reboot. This would be something like restarting a process due to bad data getting into your process from a sensor and potentially leading to a bad result from a range or trajectory.
[0] http://abcnews.go.com/US/jet-skier-broke-jfk-airports-securi...
I don't know if I'm interpreting that correctly but what I'm getting out of it is clock skew between sensors and the fusion system, which I assume to be referring to sensor fusion.
That makes sense, analogous to a typical distributed systems issue. I would imagine the skew needed for the type of sensing they do is quite small. I doubt they can just toss an atomic clock on the plane :)
I don't think a single atomic clock would do it -- sounds like they'd need a high accuracy clock for each separate subsystem.
But unlike distributed systems, it seems like an aircraft is small enough to have one clock that everyone uses - any idea why they don't do that? Single (or too much of a) point of failure? Disparate vendors can't agree on a standard? Too much extra wiring or other complexity?
They totally could. Some atomic clocks are quite small. The one pictured on the below wiki page doesn't look that much bigger than a 3.5" hard drive.
Are they mil spec? In other words do they operate correctly over a very large temperature range, with large input voltage variance, under high G-forces, in high vibration environments, etc?
I don't know anything about atomic clocks past what I can read on wikipedia but, I can say there is generally a large difference between mil spec ICs and commercial or industrial grade ICs, I would assume this would extend to atomic clock scale devices as well, but just a guess.
Problem is you need a reference time clock. On monolithic arch, is easy : the backbone bus timestamp the paquets it sees. On networked arch you need a time server a la NTP, otherwise you have time skew and loopbacks.
Even with a accurate time clock, you may also need to correct for timing issues due to cable length.
And to clarify, we're talking about PHY level protocol clocks here, not time clocks.
As I understand it, an early variant of the TCAS system for collision avoidance did just that. Every aircraft would have a Cs or Rb standard that was synchronized to a master clock, and they'd broadcast their position and altitude at an assigned time slot.
This would have been very expensive at the time (late 60s-early 70s?) they were proposing it, and it would only have worked if everyone had the necessary equipment. So it didn't fly. But in later decades it was no big deal to put a high-quality atomic time/frequency standard onboard an aircraft, and I wouldn't be surprised if most large airplanes actually do carry a Rb standard for one reason or another.
Edit: the proposed system was called EROS: http://www.allstar.fiu.edu/aero/tcas.htm
Where one of the tricky parts comes in, is in distributing this clock signal to all portions of the avionics system that need it. But that's beside the point.
It doesn't really sound like a timing skew problem (as in, a problem with making all systems recognize the same time simultaneously) but rather with making sure that all relevant information needed to construct a coherent 'picture' from all sensors reaches the core processors in a timely manner.
You can't provide a real time display if, say, your radar data is delayed for a significant period of time due to problems or instabilities with the radar's onboard processor.
These are warplanes - you don't want critical systems reliant on satellites that could be jammed, or downed, during wartime, which I suspect is why they don't do this already.
But...
>>> Just make the plane use GPS.
...implies you would make them absolutely depend on it. Military aircraft use GPS daily, because it's cheaper and better. However, they also have accurate inertial navigation systems as a backup, so they can still operate effectively if the enemy makes GPS unavailable.
Yes, I can understand the problem is complicated, but come on.
I firmly believe that military procurement is a mess but the discussion reminds me of the political discussion where Republicans jump on anything that goes wrong under Democrats and vice versa.
The Concorde was similar. Only a few were ever made, and they were never expected to be the ubiquitous aircraft of their time or even their type (reconnaissance and passenger transport).
The F-35 is intended to replace several aircraft models which currently satisfy more specialized roles. It was intended to be the ubiquitous (in various configurations) fighter aircraft for the US military (and some allies). This problem may not be the worst of its issues, it may not even be a major issue or really (from the pilots' perspective) an issue at all since similar reboots (but less frequent) are the norm for them in other aircraft.
But many other issues are demonstrating, and the reduced production numbers and increased production and development costs reveal, that there are numerous problems with this project in particular. It shows failings within the US political structure (that's essentially forced this project to continue), DoD procurement (that allowed many of these issues to occur initially), defense contractor procedures (LM, IIRC, doubling or tripling the number of engineers on the software side to "speed things up").
Really, it's going to be a classic for future engineers, computer scientists, MBAs and others to study. So I guess that's a good thing.
Haven't read it all, but started reading it. At least this is more "from the horse's mouth" rather than outside commentary like the Ars article.
Naturally, this was all done automatically, but the electronics weren't perfect. Sometimes they'd get too far out of adjustment, and the shock wave would blow out. This was apparently a pretty violent event, with a loud bang from the engine, often accompanied by another loud bang as the crew's helmets were slammed against the side of the cockpit.
I believe that the SR-71's control systems were eventually upgraded to where this didn't happen anymore, or was very rare, but it was apparently somewhat common for a while.
Some discussion here, along with bonus discussion of the F-35's inlet:
http://www.airspacemag.com/military-aviation/how-things-work...
None of this affects your overall point, I just thought it was a fun thing to elaborate on a bit.
I think you're on to something with this. It sure seems like the F-35 is not a particularly good airplane, but that's mainly because of cost and capabilities. Stuff like this does sound like piling on, rather than any substantive criticism.
[0] https://www.reddit.com/r/technology/comments/49iegx/radar_gl...
A reset event would be more worrying if it was a FCS (Flight Control System) computer reset in flight. Air Asia 8501 did something similar and the jet crashed into the sea. An F-22 pilot failed to properly reset his FCS before takeoff, and destroyed a $150m+ aircraft at Nellis AFB.
This is not a bad general-purpose failure strategy: It's been believed for decades that most software faults encountered in production are Heisenbugs[1], and disappear rather than reproduce.
[1] http://research.microsoft.com/en-us/um/people/gray/papers/Ta...
Crashing doesn't have to be crashing.
No.
Here's a timeline of the plane so far [0] and a page that includes some details from 2014 including a master schedule and a production status [1]. The 2050 comment was presumably an exaggeration referencing the frequent problems and delays with the development.
[0] http://aviationweek.com/F-35Milestones [1] http://intercepts.defensenews.com/2014/09/the-current-status...
https://stackoverflow.com/questions/9827176/what-is-the-pred...
I'm not sure there is anything I'd build with such insecure languages in 2016, let alone an aircraft or flight system.
I think it's a gross oversimplification to state that the avionics software is developed in C/C++: the avionics software is using a subset of C and/or C++, along with support tools, system engineering models, code reviews, V&V, etc. As I see it, there isn't that much difference on this sort of project if one were to use Ada or Java instead of C or C++: the support tools may be somewhat simpler, but the overwhelming majority of the SDLC activity remains unchanged.
I'm not clear what causes this radar system defect, I didn't see it described in the source article, but a defect in design (for example) would seem likely to occur regardless of the programming language selected.
Also, I'm curious to hear what your proposed alternative would be and why?
There isn't just one CPU in this aircraft. There are probably dozens or hundreds. Not all of them can be powerful without undesirable tradeoffs.
That being the case, I wish I wasn't too late to edit my comment to be a tad less snarky.
That said, I understand a bit of the trade-offs involved (though far from an expert). I think there's room for discussion somewhere in the middle. The parent took one extreme ("you had it coming using C/C++"), and at first reading your comment stated the opposite ("C/C++ is just what you use on embedded").
Knowing very little on the subject at hand (embedded avionics SW), I'd still argue that maybe there at least be a discussion around using something like Ada for critical systems? (Yeah, I know what a big hit Ada is with embedded folk, at least the ones I hang around.)
Question: Languages used to develop software in previous project (multiple answer)
Ada = 28.9%, C = 48.9%
Question: Languages used to develop software in current project
Ada = 12.2%, C = 53.3%
Since then, in other jobs in the same general field (avionics or related), the answer has been the same at most offices.
Go ahead and actually support why C/C++ produces more verifiable and secure code than Ada?
The US military doesn't develop software. They also have very little choice over who does. The entire system is a convoluted mess of lowest bidders and inept contractors.
So it is ultimately up to the lowest bidder what they want to develop in. There just isn't enough incentive to develop high quality, low in bugs, software for them.
It's a painful and expensive process, but it can work, as demonstrated by the handful of teams that have reached the ~1 bug per 1e6 opportunities defect rate _all_ using variations of the above (tho some of them use Ada).
Let's check ourselves a bit and realize developing flight software is a different world from web services and mobile apps.
> Let's check ourselves a bit and realize developing flight software is a different world from web services and mobile apps.
I agree, it is far more important in avionics to be provably correct and to eliminate as many bugs as possible. It is exactly BECAUSE these aren't web services or mobile apps that C/C++ shouldn't even be a candidate.
You've made exactly zero arguments to support C/C++ here. Just acted smug and condescending to all of us lowly other developers. Do you yourself work in avionics?
I doesn't matter much what language you're using if the HUD blurs during high G forces, clocks run out of sync or you forgot to design a feature or designed the prioritization of events wrongly.
You are correct. But the Ariane crash was the result of improper testing when reusing (valid and correct) code in a new situation that resulted in the crash.
Better testing and development procedures would have, potentially, prevented this. And it could have occurred regardless of the languages involved.
What Ada does bring to the table, however, over C, C++ and Fortran (the other 3 primary languages used in the embedded avionics world) is a much better type system and concurrency system that gives greater confidence when developing the system. Much as the ML worlds type system reduces or eliminates certain categories of errors, or moves them to compile time rather than runtime. Where they are still detected in runtime, Ada also offers, particularly during test and development, much greater ability to determine the earliest location of the error if the type system is being exercised properly.
The F-35's avionics are mostly in C++. The F-22 was the last fighter program to use Ada heavily AFAIK.
Voting is about the readers, not the commenters. Personally, other than for determining specific capabilities such as downvoting, I think tracking karma per user does little good. Karma per comment - a bit of feedback on your comment - is useful.
If the poster didn't want to be downvoted, they should read and think about the topic before posting.
In general, HN is pretty good at not downvoting for dissenting opinions, but the group does downvote heavily for wrong info or posts that are inflammatory based on the wrong facts.
If the radar's bug required to reboot the entire plane, how would you write it without being redondant? "F-35 radar system has bug that requires hard reboot of the F-35 in flight"?
There's no question that the radar needs a reboot, but to say it's a 4-hour reboot is factually wrong and inflammatory based on an incorrect assumption.
Though I gotta say this damn jet has been a nightmare. Since they'll never stop working towards newer and newer jets I'm curious if lessons learned here will apply to the next one. After doing government contracting for many years where we don't get the "lessons learned" from the previous contractors or much of anything (I've had to FIGHT to get source code for a product we were supposed to update; ended up having to rewrite the damn thing) I'm curious how it works when they contract out to have a jet built.
Instead "bash it with a hammer and maybe reset it" seems widely accepted. Weird.
Not that I expect it, but this could be a minor issue, if this 'radar system' is as good as stateless (and not, for example, a component that tracks friends and foes over time) and if it reboots in milliseconds.
http://www.airspacemag.com/military-aviation/how-things-work...
"During some Blackbird flights, however, the harmonious working of the spike and the forward and aft bypass doors broke down, and all too quickly the inlet was filled with more air than it could handle. When the air pressure inside the inlet became too great, the normal shock wave was suddenly belched out of the inlet in an unstart, accompanied by an instantaneous loss of air flow to the engine, an enormous increase in drag, and a significant yaw to the side with the affected inlet. Unstarts occurred 'when you least expected them—all relaxed and taking in the magnificent view from 75,000 feet,' wrote Graham in SR-71 Revealed. If the crew’s attempts to restart the inlet’s supersonic flow failed, they would have to slow their aircraft to subsonic speeds."
https://en.wikipedia.org/wiki/Lockheed_SR-71_Blackbird#Air_i...
> Lockheed later installed an electronic control to detect unstart conditions and perform this reset action without pilot intervention. Beginning in 1980, the analog inlet control system was replaced by a digital system, which reduced unstart instances.
Much ado about nothing.
How many bugs have any of you introduced and fixed in the past week?
Edit: "standard for safety-critical embedded flight" was a bad word choice and wasn't what I meant. s/standard/goal
Quoting from Boeing: The F-35 has the most robust communications suite of any fighter aircraft built, to date. Components include the AESA radar, EOTS targeting system, Distributed Aperture System (DAS), Helmet Mounted Display (HMD), and the Communications, Navigation and Identification (CNI) Avionics.
If by robust they mean "you can go 8 hours instead of 4 hours between hard reboots", I think that's worth talking about.
This is going to be a very impressive plane and one China, Iran, and Russia absolutely do not want to see in the air.
Every time Russian technology, in the hands of competent people, is put on display, it does very well (witness the performance of Indian Su-30s in various wargames, and modern Russian planes in Georgia/Syria).
And of course, being in tech, I'd have thought you'd have come across a few Russian programmers/engineers - for the most part they're all pretty damn awesome.
https://www.youtube.com/watch?v=1e3Fu2zeido
Anything more modern would probably have led to WWIII.
I think the rest of your comment is confirmation bias: this ethnic group/nationality is good/bad depending on where you sit on the old racism spectrum.
Its also worth mentioning that a lot of the advances of the SU were due to subjugating 15 independent states, usually via military means, and suddenly having a lot of more talent on tap. Often, non-Russian slavs didn't get credit for Soviet innovations due to horrific politics of communism and the Soviets system in general. So crediting "Russians" for many of these innovations is ahistoric and propagandist.
The constant applause surrounding the SU is fairly amusing. If they were so great, why aren't they around today? If Russia is so chock full of greatness why is it running a falling apart economy and have degenerated into a kleptocratic petrostate that makes most middle east dictatorships look progressive and economically sound? I get it, you don't like the US and the EU, but you'd have to be crazy to appreciate the SU and Russia if your complaints are focused on the US not being "Bernie Sanders" enough for you.
>Every time Russian technology, in the hands of competent people, is put on display, it does very well
Well, when your targets are Ukranian women and children, yes, the casualty rate is impressive, but that's far from a real military engagement against another nation state. We have yet to see these arms tested against a proper western foe, and for good reason.
https://en.wikipedia.org/wiki/Casualties_of_the_Ukrainian_cr...
Did the Libyan MiGs fire a single shot? Of course I know the answer, so not sure how this can be considered any sort of indicator of the gross inferiority of Russian tech. In fact, based on the engagement itself, and subsequent after-math, a reasonable assumption would be that they goaded the US into the confrontation, as an attempt to gain international support...
> I think the rest of your comment is confirmation bias: this ethnic group/nationality is good/bad depending on where you sit on the old racism spectrum.
Interesting that you equate my pointing out that Russians are generally well educated and that they produce good engineers with racism. Next if I say Russia produces plenty of good chess players you'll also call me racist? Fact is, their culture encourages people to pursue these activities, and they have fairly high educational standards.
Same can be said for many countries who have a strong focus on education, who produce good engineers; witness the recent Indian space program, which is on a relatively modest budget, definitely 'punching above it's weight class'.
> The constant applause surrounding the SU is fairly amusing
What does my post have to do with the SU, and any economic or political elements of the SU? It's purely about technology.
> If Russia is so chock full of greatness why is it running a falling apart economy and have degenerated into a kleptocratic petrostate that makes most middle east dictatorships look progressive and economically sound? I get it, you don't like the US and the EU, but you'd have to be crazy to appreciate the SU and Russia if your complaints are focused on the US not being "Bernie Sanders" enough for you.
Again, where are you getting this? Pointing out that they produce relatively advanced technology for their current economic state? And it's the truth, from Sputnik to Mir to their current space program, their defence programs, etc... You're right, Russia's economic output is behind the US, and they somehow still have the ability to put people into space.
The rest of it is off-topic, is not related to anything I said, and it's obvious you're trying to offend.
> Well, when your targets are Ukranian women and children, yes, the casualty rate is impressive, but that's far from a real military engagement against another nation state. We have yet to see these arms tested against a proper western foe, and for good reason.
First of all, the verdict is still out on the exact amount of Russian involvement in Ukraine (especially since the next Ukrainian Prime Minister used to work for the US State Dept, reinforcing the view that the US was involved in the overthrow of the previous government). Second, from a purely objective standpoint, they didn't use air power vs. Ukraine.
Anyhow, Russia hasn't gone up against the west, nor vice versa. Russia did rout the Georgian military in a week. And they are the only effective power in Syria right now. Take that for what it is. US analysts have admitted Russian tech is more advanced than they thought, especially in the realm of electronic warfare.
BTW, forgive me for having a nuanced view of the world. For not bringing political beliefs into a discussion about TECHNOLOGY. I have Russian friends too, and I'm of Ukrainian background. My wife is black (and an immigrant from a region where the inhabitants were once slaves from both Africa and India), I live in the west, and speak multiple languages. I know people from every corner of the world. Shoot me for not believing in a world where everything is black and white, where it's us vs. them.
Really? And you still believe that MH-17 was shot by Ukraine, right?
I don't know how much you know concerning Ukrainian politics, or how closely you followed the whole 'revolution', let's just say it's all far from clear cut.
And maybe my wording is too nuanced, but I said "the exact amount of Russian involvement". Obviously there weren't Russian Sukhoi bombers wreaking havoc on Kyiv...
We can be sure that Russia invaded and annexed Crimea and keeping proxy war alive on Donbass, by sending troops and equipment.
That amount of involvement is pretty clear.
... which is then followed by the rest of your comment saying "this nationality is bad".
And strangely, you seem to think that criticism of military aircraft is fundamentally tied to a person's desires for a sociopolitical system.
Why did the SU fail? Simple: the things that make a society good at producing leading physicists aren't necessarily the same things that result in a robust economy. Worse, spending most of your GNP on your military tends not to result in a strong economy either; just look at North Korea. The US spends a lot on its military too, but nothing like what the Soviet Union did, as a percentage of national output.
They did, in Desert Storm operation. And you know what?
MiG-29s and Su-25s were shot down without any retaliation.
Yugoslavian Mig-29s were also an easy target.
https://en.wikipedia.org/wiki/Mikoyan_MiG-29#Operational_his...
The MIG-25 didn't, IIRC. The US over-estimated its capabilities, and thus built a far more capable aircraft in response (the F-15).
this was for a java position
just because I don't use node js, ruby, or perl in my work doesnt mean i have an excuse to not know that they even exist. how can you choose the best tool for a job if you only know C++ and Ada?
The majority of defense contractors I know don't spend time in the "programming community" in their off hours, both because it's contractually too cumbersome to do so, and because they're doing other things in their spare time. They may spend time in the "defense community". It's very different culturally from SV.
> just because I don't use node js, ruby, or perl in my work doesnt mean i have an excuse to not know that they even exist. how can you choose the best tool for a job if you only know C++ and Ada?
node.js, ruby, and perl are not acceptable for use on real-time systems nor safety-critical systems.
Having worked in that world for almost 10 years, I can tell you that this choice is not up to you. You are told what tools you will be using, typically driven by government customer "experts" and inter-company politics.
But I'd hire him over nearly anyone else for embedded work. He did absolutely no programming or engineering work after hours. He played his guitar, went to music festivals, and ran a club (a couple different times in his life, don't know what he's doing these days or if he's still alive, he'd be past 70 now). C# doesn't enter into the discussion when developing embedded software, and his lack of knowledge of it indicates nothing about his character or ability.
C# is a mostly Windows centric, managed language which frankly, will likely never enter a discussion about embedded, real-time systems. I'd expect them to know about Rust before they know about C#.
Also, how many 'competent' engineers know about the newest Fortran and Ada standards? Or have even written a single line of either?
But on our target hardware platforms, and given our target performance constraints, the initial listed languages are pretty much the only options. This is the industry trend.
If leaders in an organization haven't at least heard of a language that's in the top 5 of TIOBE (http://www.tiobe.com/tiobe_index), I'd have some serious concerns when considering whether or not to work with them. These days I'm mostly hanging out in embedded land, but I at a minimum spend enough keeping in touch with what's happening in other industries, just so that I can at least understand what other people are talking about and what they're up to.