News for hackers. Stuff that matters.
Re:UK Air traffic control system was taken down by an ambigu... by Closi on Friday September 08, 2023 @03:09AM (#37430475)
All the articles I read on this state that the issue was that a flight plan had ambiguous data.

The real issue is that a single erroneous flight plan should not stop the full system.

Re:UK Air traffic control system was taken down by an ambigu... by beardyw on Friday September 08, 2023 @04:04AM (#37430872)
Yes,but we've all been there.

> two separate waypoints which – although geographically distant – had identical designators.

Re:UK Air traffic control system was taken down by an ambigu... by adhvaryu on Friday September 08, 2023 @04:26AM (#37431024)
Imagine the dread if they find out who wrote the code.

Also to be honest, shouldn't this have been better unit tested? Considering aviation is a ~ £60 billion industry for the UK.

Re:UK Air traffic control system was taken down by an ambigu... by monooso on Friday September 08, 2023 @05:36AM (#37431520)
In their defence, they did manage to process 15 million flight paths before encountering this problem. Some bugs are just really difficult to predict.
Re:UK Air traffic control system was taken down by an ambigu... by krisoft on Friday September 08, 2023 @05:55AM (#37431641)
> Also to be honest, shouldn't this have been better unit tested?

We don't know how well it was tested. (unit or otherwise)

What we know that it has processed 15 millions of flight plans previously without revealing this flaw. So they must have got some things right.

Re:UK Air traffic control system was taken down by an ambigu... by throwaway154 on Friday September 08, 2023 @06:21AM (#37431802)
Not a unit test problem.

Relying on it's unit tested strong systems does not make. There's a lot more to testing.

Re:UK Air traffic control system was taken down by an ambigu... by petesergeant on Friday September 08, 2023 @06:40AM (#37431923)
> shouldn't this have been better unit tested

Entirely possible there was a unit test that confirmed the system would error out in this particular condition. This sounds more like a requirements issue.

Re:UK Air traffic control system was taken down by an ambigu... by throwbadubadu on Friday September 08, 2023 @05:11AM (#37431332)
Depends.. yes, why was the flight plan not rejected individually or before (and where is at least the proper logging which allows to find the root cause and restart quicker)? But the system is likely more complex and distributed, and I can also see that defensively programmed safety critical systems can and should do that at a certain point where certain input or output is just unexpected and wrong. To recover in some way or silently go on with eventually unexpected (even if not undefined) behaviour then is no option.
Re:UK Air traffic control system was taken down by an ambigu... by blitzar on Friday September 08, 2023 @05:48AM (#37431595)
A defensively programmed safety critical system should reject (loudly) the offending flight plan (and its permission to fly in the airspace) rather than shut itself off and leave all the planes flying (currently and in the foreseable future) to figure things out for themselves.
Re:UK Air traffic control system was taken down by an ambigu... by throwbadubadu on Friday September 08, 2023 @06:21AM (#37431800)
Said that and yes is always an easy and apparent statement to make as an armchair outsider.. read the full report? ;)

(Hint again: Something certainly could have been done much better there in this system, but the limited component itself that all caused this maybe even just had no other option at that point. Been there once in those many component systems talking with each other across with too many interfaces, people, etc involved, part of them safety critical and also subject to endless requirements and certifications? Can recommend..)

Re:UK Air traffic control system was taken down by an ambigu... by atcalan on Friday September 08, 2023 @07:46AM (#37432313)
Our flight plan validator still gives me nightmares.
Re:UK Air traffic control system was taken down by an ambigu... by blitzar on Monday September 11, 2023 @03:37AM (#37464118)
All the more reason that a single flight plan that fails path validation doesnt (by design) shut down the entire air space of a nation for 24-48 hours.
Re:UK Air traffic control system was taken down by an ambigu... by zimpenfish on Friday September 08, 2023 @05:52AM (#37431625)
> The real issue is that a single erroneous flight plan should not stop the full system.

But the flight plan wasn't erroneous - it was perfectly valid. It just happened to have a weird coincidence of two identically tagged airports spanning the UK. If someone had put an extra waypoint in between the two, nothing would have broken (AIUI).

Re:UK Air traffic control system was taken down by an ambigu... by krisoft on Friday September 08, 2023 @06:06AM (#37431700)
> But the flight plan wasn't erroneous - it was perfectly valid.

Well. Then the real issue is that a single flight plan, erroneous or not, should not stop the full system. It should flag that flight plan for problem resolution and keep on working with the rest of the flight plans.

Would result in a slightly inconvenienced flight dispatcher, or worst case an inconvenienced flight, instead of a nationwide shutdown.

Re:UK Air traffic control system was taken down by an ambigu... by ChrisRR on Friday September 08, 2023 @07:15AM (#37432090)
We know. That's clear to everyone here. But clearly in their design of the system they hadn't considered it.

I'm sure no doubt they will now fix the issue, but you can only aim to handle faults that you predict during development, plan for unexpected faults, and hope that something super unexpected doesn't cause cascading faults

Re:UK Air traffic control system was taken down by an ambigu... by zimpenfish on Friday September 08, 2023 @10:42AM (#37434127)
> But clearly in their design of the system they hadn't considered it.

They might well have considered it the possibility of duplicate tags in the same flight plan but since identical tags are supposed to geographically distinct, they probably didn't further consider a flight plan where the entry and exit points from the UK (which is a relatively small airspace, I think) are the same tag (since it sounds from the report they did that this was an extremely weird flight plan.)

Re:UK Air traffic control system was taken down by an ambigu... by krisoft on Friday September 08, 2023 @01:58PM (#37437055)
> That's clear to everyone here.

Are you sure? Have you also consulted with zimpenfish? From their comment it seems they disagree.

> hope that something super unexpected doesn't cause cascading faults

But that is the thing. Processing failing isn’t and shouldn’t be “unexpected”. Here the individual processing items are flight plans, but the concept is more general. They could be “requests” to a web server, they could be “tasks” in an async worker node, they could be “transactions” in a database, if you do any compute with a work item it can fail. You need to put a big “try-catch” around it and add a field in your database or queue or remote procedure call system to mark them as failed.

One work item failing shouldn’t be “super unexpected”. Even if you can’t name the exact conditions under witch it might fail.

Re:UK Air traffic control system was taken down by an ambigu... by zimpenfish on Friday September 08, 2023 @07:30AM (#37432184)
> Then the real issue is that a single flight plan, erroneous or not, should not stop the full system.

Sure but "flight data is safety critical information that is passed to ATCOs the system must be sure it is correct and could not do so in this case" is a reasonably valid stance in a super-critical system that must absolutely defer to safe operations in the case of error.

Re:UK Air traffic control system was taken down by an ambigu... by krisoft on Friday September 08, 2023 @08:54AM (#37432866)
So what are you saying? Are you saying that it is reasonable to bring down the whole system in a hard to debug way for one item being out of order?

That is not reasonable. And it won't become reasonable by alluding to how "super-critical" or "safety-critical" the system is.

Re:UK Air traffic control system was taken down by an ambigu... by zimpenfish on Friday September 08, 2023 @10:37AM (#37434065)
It's not "one item being out of order" though - it's "the system cannot verify this flight plan as being correct".

Stopping in the face of being unable to verify that safety critical information is correct is a perfectly good choice, especially when the good consequences are fairly light like "some people are a bit late with their flights" and the bad consequences may be 10s or 100s of people dying.

Re:UK Air traffic control system was taken down by an ambigu... by krisoft on Friday September 08, 2023 @01:46PM (#37436895)
> consequences are fairly light like "some people are a bit late with their flights" and the bad consequences may be 10s or 100s of people dying

I think this might be the root of the misunderstanding between us. The consequences of an airplane not having a flight plan is not “10s or 100s of people dying”. The consequences of rejecting a flight plan are:

- if caught on the ground:the one flight is delayed. They don’t take off until they manage to file a fligtplan the system accepts.

- if caught at the airspace boundary when they arrive without a flight plan in the system there are two options: if ATC want to be hard-ass they will be refused entry and have to land at an alternate airport. If ATC is acomodating they will be asked at every new controller “<flightnumber> state your intentions”.

Either way the system is fine and dandy. This is not what keeps airplanes from coliding with each other or the ground.

Obviously the first option, catching the problem on the ground, is better because it is not increasing the workload of the ATC personel.

Here is the thing, you are talking about “the system cannot verify this flight plan as being correct". And you are right! It cannot. So it shouldn’t try. It should give up. On that flight plan. I totally agree with that. But there were lots of other flight plans it could and should have verified.

Have you done web development? What would you think of a server where a single weird edge case request would stop the whole service for hours? Would you say it is well engineered?

Re:UK Air traffic control system was taken down by an ambigu... by zimpenfish on Sunday September 10, 2023 @04:36AM (#37454001)
> The consequences of an airplane not having a flight plan is not “10s or 100s of people dying”

The consequence of not being able to route a flight through reasonably congested airspace safely may well be "10s or 100s of people dying".

> when they arrive without a flight plan in the system

They had a flight plan but the system could not verify that it had correct data. i.e. the system believe it had internal corruption and should shut down.

> What would you think of a server where a single weird edge case request would stop the whole service for hours?

What would you think of a service where internal checks suggested corruption and it kept on serving potential corrupt data to customers and writing it to databases? I would consider that a failure in extremis.

Re:UK Air traffic control system was taken down by an ambigu... by krisoft on Monday September 11, 2023 @01:08PM (#37470260)
> I would consider that a failure in extremis.

And I would agree. So stop serving the potentially corrupted data to costumers. Mark it as potentially corrupt and let an operator handle that potentially corrupt data manually while the system keeps processing the the rest of the not corrupt data.

Is this such a hard concept to understand? Because it feels like it is not getting through.

Re:UK Air traffic control system was taken down by an ambigu... by SideburnsOfDoom on Friday September 08, 2023 @06:20AM (#37431794)
> If someone had put an extra waypoint in between the two, nothing would have broken (AIUI).

I don't see it said anywhere that the two same-named waypoints were consecutive, with no other points between them. Just that they were "approximately 4000 nautical miles apart". Or that being consecutive duplicates rather than just duplicates was the cause.

Since they don't name the waypoints, it is very vague.

Re:UK Air traffic control system was taken down by an ambigu... by zimpenfish on Friday September 08, 2023 @07:27AM (#37432166)
As best I understand page 9 of [0], it sounds like the search for UK entry and exit points led to the A and B being found with no specified entry/exit/waypoints between them, and therefore "the software could not extract a valid UK portion of flight plan between these two points".

[0] https://publicapps.caa.co.uk/docs/33/NERL%20Major%20Incident...

Re:UK Air traffic control system was taken down by an ambigu... by SideburnsOfDoom on Friday September 08, 2023 @07:58AM (#37432400)
> the A and B being found with no specified entry/exit/waypoints between them

No waypoints that enter UK airspace between them, since "In this specific event, both of the waypoints were located outside of the UK". (1)

So there could be any number from zero up, of international waters waypoints between them?

1) https://publicapps.caa.co.uk/docs/33/NERL%20Major%20Incident...

Re:UK Air traffic control system was taken down by an ambigu... by zimpenfish on Friday September 08, 2023 @10:46AM (#37434171)
> So there could be any number from zero up, of international waters waypoints between them?

For me, it read like "there was no route between Aa and Ab because there were no waypoints available between them". But yeah, without a more detailed breakdown, information, and/or a better understanding of the precise format of the files and procedures, it is going to be a bit of assumption and guesswork.

Re:UK Air traffic control system was taken down by an ambigu... by atcalan on Friday September 08, 2023 @07:47AM (#37432319)
To a human. To a computer, it was degenerate.
Re:UK Air traffic control system was taken down by an ambigu... by gnfargbl on Friday September 08, 2023 @05:53AM (#37431632)
I don't know anything about ATC systems. Why should it be possible to continue when a single flight plan is wrong? Naïvely it sounds like having even a single plane in an unknown position would make safe automated control impossible. Is that wrong?
Re:UK Air traffic control system was taken down by an ambigu... by traceroute66 on Friday September 08, 2023 @06:23AM (#37431809)
> make safe automated control impossible

First, you don't understand the purpose of a flight plan. The purpose of the flightplan safety.

You, the captain, are saying "My intention going from A to Z via K,J and X". You then "activate" your flightplan over the radio upon departure.

The purpose of the flightplan is so people on the ground broadly have an idea of where you are and when you'll arrive. The former is to assist with co-ordination between control zones. The latter is so that if the destination airport doesn't see you X hours after your ETA, then they can start searching along the filed route until they find the debris of your crashed aircraft.

Second, you need to take "automation" out of your thinking. Flight crew don't just punch the plan into the nav and sit there twiddling their thumbs.

Shit happens and the crew might need to deviate from the plan. It happens all day every day. There might be some horrible weather ahead that you want to route around. There might be something happening in the airspace around you that ground might want to route you around.

Therefore flight plan merely describes your INTENTION.

Re:UK Air traffic control system was taken down by an ambigu... by krisoft on Friday September 08, 2023 @06:03AM (#37431691)
> Why should it be possible to continue when a single flight plan is wrong?

To make the system resilient.

Note: When the error happened the flight was not in the air yet. The system in question received the flight plan 4 hours before departure time. If the system would have flagged the flight plan as bad they could have called them and told them that they can't fly. If not that they could have refused them when they were entering the airspace. Can happen any time for any reason.

> Naïvely it sounds like having even a single plane in an unknown position would make safe automated control impossible.

Flight plans are not for knowing the position of the plane.

> Is that wrong?

Slightly.

Re:UK Air traffic control system was taken down by an ambigu... by gnfargbl on Friday September 08, 2023 @06:12AM (#37431742)
OK, that makes sense. And understood on route vs position. But wouldn't your design still require additional complexity in the system? It would need to keep track of all bad flight plans, and also keep a database of the status of those plans. The controllers would need to update the status to tell the system that they had phoned and cancelled the bad plan. That (small) additional complexity would cost money and add risk.

It sounds to me like the engineers made a design decision between "add handling mechanisms for valid-but-unexpected flight plans" and "ensure we can handle absolutely every valid flight plan"? If so, this is a rare case where I sympathise with the engineering team behind a major IT failure.

Re:UK Air traffic control system was taken down by an ambigu... by krisoft on Friday September 08, 2023 @06:35AM (#37431892)
Yes, absolutely. And that is the tricky issue. Because the plan was filed with the Eurocontrol’s IFPS system which handed it over to the UK's system.

Flight crew and dispatchers report that flight plans are regularly rejected, and then they need to file a new one. But it sounds like this rejection happens in a layer before the one which failed in this case.

So this is basically a system which is not meant to be able to reject a flight plan, since the plans it receives were already checked and validated.

Re:UK Air traffic control system was taken down by an ambigu... by gnfargbl on Friday September 08, 2023 @06:43AM (#37431955)
Thank you for this. It all makes a lot more sense now.
Re:UK Air traffic control system was taken down by an ambigu... by Closi on Monday September 11, 2023 @03:34AM (#37464100)
"We won't need to reject a flight plan as the data we receive will always be perfect!" sounds like an approach to error handling that will lead to these sort of situations.

The issue should have been caught in one of the higher systems, and then the error should have also been handled in a more appropriate way.

Re:UK Air traffic control system was taken down by an ambigu... by trollied on Friday September 08, 2023 @06:10AM (#37431730)
> The system in question received the flight plan 4 hours before departure time.

This is not true. The plan is transferred 4 hours before it is due to enter UK airspace. Big difference. Flights can already be in the air when the plan is transferred.

Re:UK Air traffic control system was taken down by an ambigu... by krisoft on Friday September 08, 2023 @06:27AM (#37431832)
> The plan is transferred 4 hours before it is due to enter UK airspace.

You are correct.

Re:UK Air traffic control system was taken down by an ambigu... by jleahy on Friday September 08, 2023 @06:02AM (#37431683)
Well they can reject the bad flight plan and the plane will not be allowed to follow it.
Re:UK Air traffic control system was taken down by an ambigu... by nirse on Friday September 08, 2023 @06:17AM (#37431777)
Do you know what the consequences of that would be?
Re:UK Air traffic control system was taken down by an ambigu... by jleahy on Saturday September 09, 2023 @05:51AM (#37443700)
Yes, it happens to people every day for all kinds of boring reasons. Normally because they made a mistake in their flight plan.

Remember anyone flying IFR needs a flight plan, lots of private pilots etc. Plenty of people make mistakes.

Re:UK Air traffic control system was taken down by an ambigu... by atcalan on Friday September 08, 2023 @07:45AM (#37432298)
Airspace Adaptation, or the catalog of different items in the old ATC system, is nightmarishly complex. It allows for insane FPs that are just not suited for straight forward computation. Canada and Mexico also share fix names with US. From a math and physics perspective, the language of flight plans is degenerate and, I think, doesn't even hold group structure. It's the reason that humans are still required even though MIT's JEDI did a bang up job of conflict resolution, or keeping planes from giving each other hugs. on the nose. At 300 miles per hour.
Re:UK Air traffic control system was taken down by an ambigu... by ChrisRR on Friday September 08, 2023 @07:12AM (#37432077)
From reading these comments I can see a huge number of people have never had to conduct risk analysis in developing a product.

Sure, the unexpected identical naming should not cause an issue, but when you're developing software like this you conduct multiple risk analyses and FMEAs to attempt to design a system that can handle faults that you can predict

You can have failovers, safe states, recovery procedures up to the eyeballs, but if a situation occurs that you had not predicted then you're in unknown territory. Your system may handle the fault and fail safely, or it may cause an unexpected chain of events.

TLDR: You can plan for faults all you want, but you can never guarantee it's 100% bombproof