+− THE DAILY DIFFdev & AI news
NEEDS REVIEW

Błąd trwający jedną milisekundę zatrzymał ruch lotniczy w Wielkiej Brytanii. Sześć godzin.

We wtorek 8 września o godzinie 10:00, rutynowe żądanie kodu squawk w systemie National Airspace System (NAS) firmy NATS zostaje przerwane przez wiadomość o wyższym priorytecie w trakcie aktualizacji wartości.

We wtorek 8 września o godzinie 10:00, rutynowe żądanie kodu squawk w systemie National Airspace System (NAS) firmy NATS zostaje przerwane przez wiadomość o wyższym priorytecie w trakcie aktualizacji wartości. Okno ekspozycji wynosi około jednej milisekundy. Żądanie wznawia się niepoprawnie, dane lotnicze zostają uszkodzone, a do godziny 19:30 ponad 2000 brytyjskich lotów zostaje opóźnionych, odwołanych lub przekierowanych.

Przeczytaj wydanie pisemne (angielski) ↗

Co obejmuje ten film

  • 10:00: jedno żądanie, przerwane w oknie 1 ms
  • Oś czasu: 10:00 squawk → 10:02 blip → 12:45 wstrzymanie odlotów → 13:32 utrata połączenia
  • Lekarstwo: ponowne uruchomienie danych lotniczych całego kraju
  • Mechanizm: wstrzymano w połowie zapisu
  • Dlaczego funkcja bezpieczeństwa zatrzymała ruch lotniczy

Przetłumaczona transkrypcja

Przetłumaczono z oryginalnej narracji angielskiej. Dostępne audio i napisy są kontrolowane przez YouTube.

10:00: jedno żądanie, przerwane w oknie 1 ms

0:00 O dziesiątej rano jedno rutynowe żądanie w brytyjskim systemie danych lotniczych zostaje przerwane dokładnie w niewłaściwej milisekundzie, a do wieczora ponad dwa tysiące lotów jest opóźnionych, odwołanych lub przekierowanych. To z raportu wstępnego Nats, brytyjskiej służby ruchu lotniczego. Brak oznak ataku i nikt nie nacisnął niewłaściwego przycisku. Po prostu wada dziedziczona i jedna bardzo specyficzna milisekunda. Jak to się stało, dlaczego jedna milisekunda wystarczyła i kto faktycznie jest winny. To The Daily Diff, analiza pośmiertna.

0:31 Dziesiąta. Ktoś ręcznie prosi o kod squawk, czterocyfrowy numer, który

Oś czasu: 10:00 squawk → 10:02 blip → 12:45 wstrzymanie odlotów → 13:32 utrata połączenia

0:36 wiąże punkt radarowy z planem lotu. Żądanie jest ważne, podobnie jak plan. Dziesiąta dwie. Połączenie między Kontrolą Obszaru Londynu a systemem podstawowym zostaje zerwane, następnie wraca samo po czterdziestu pięciu sekundach. Zgłoszenie mówi: odzyskane, stabilne, brak wpływu operacyjnego. Dwunasta trzydzieści dwie. Połączenie zaczyna ponownie się zrywać, za każdym razem szybciej, a kontrolerzy tracą część automatyzacji.

0:56 Do dwunastej czterdziestu pięciu, odloty z Wielkiej Brytanii są wstrzymane. O pierwszej trzydzieści dwie połączenie zrywa się i pozostaje zerwane. Lekarstwem jest kontrolowany restart, i to jest najdroższa część,

Lekarstwo: ponowne uruchomienie danych lotniczych całego kraju

1:06 ponieważ ten sam system zasila centra kontroli i lotniska w całym kraju. Błąd znajduje się w przestrzeni powietrznej Londynu. Ograniczenia obejmują całą Wielką Brytanię. Restart trwa od kwadransa po trzeciej do dziesięciu po czwartej, a rozplątywanie zduplikowanych planów lotu zajmuje do dziesięciu do siódmej. Dlaczego więc milisekunda wystarczyła?

Mechanizm: wstrzymano w połowie zapisu

1:23 System żongluje zadaniami według priorytetu, a wstrzymywanie małego zadania dla pilnego jest normalne. Ale to zadanie było w połowie aktualizacji wartości. Pilna wiadomość ląduje w tej milisekundzie, a aktualizacja zatrzymuje się w połowie. Kiedy się wznawia, nie wznawia się poprawnie. Złe dane wyciekają następnie do niektórych późniejszych aktualizacji lotów.

Dlaczego funkcja bezpieczeństwa zatrzymała ruch lotniczy

1:40 Londyn próbuje odczytać jedną, zajmuje to zbyt długo i przekracza limit czasu. Przekroczenie limitu czasu zrywa połączenie, zgodnie z projektem, aby chronić oba systemy. Funkcja bezpieczeństwa działa idealnie. To jest problem. Własne słowa raportu. Gdyby pilna wiadomość dotarła o jedną milisekundę wcześniej lub później, aktualizacja zakończyłaby się normalnie. Na Hacker News jeden programista nazywa milisekundę absolutną wiecznością,

2:02 gwarantowaną, że wydarzy się do wtorku w tym tygodniu. To był wtorek.

git blame — kod dziedziczony 50 · plan restartu 30 · alarm o 10:02 15 · 1 ms 5

2:05 git blame. Kod dziedziczony, pięćdziesiąt procent, za aktualizację, którą można wstrzymać w połowie i która wraca źle. Plan restartu, trzydzieści, ponieważ jeden zły rekord w Londynie oznacza restart danych lotniczych całego kraju. Alarm o dziesiątej drugiej, piętnaście, za samoistne uzdrowienie i zgłoszenie jako brak wpływu. Pięć procent na milisekundę, za jej synchronizację. Promień rażenia. Nats zaplanował na ten dzień około ośmiu tysięcy lotów i obsłużył

Promień rażenia: 8000 zaplanowanych, 6094 obsłużonych, trzecia awaria w trzy lata

2:27 około sześciu tysięcy. Odloty z Wielkiej Brytanii zostały wstrzymane na około cztery i pół godziny, a zaległości zajęły ponad dwa dni na usunięcie. To trzecia awaria ruchu lotniczego w Wielkiej Brytanii w ciągu trzech lat, a dyrektor generalny nazywa ten błąd bardzo, bardzo niejasnym.

Werdykt + linia poniedziałkowa: zapisy atomowe, głośne alarmy

2:41 Werdykt, analiza pośmiertna: NEEDS REVIEW. Raport jest szybki i konkretny, a poprawka jest napisana i w trakcie testowania. Ale plan to szybszy restart, a nie mniejszy. Linia poniedziałkowa: jeśli zadanie może być wstrzymane, uczyń jego zapis atomowym, i traktuj alarm, który sam się uzdrawia, jako alarm. Wyślij mi incydent, o którym nadal nie wolno ci rozmawiać, w komentarzach lub na thedailydiff.dev. I to jest DIFF na dziś.

3:02 Jestem Niko z Axrisi. SHIP IT odpowiedzialnie.

Źródła

  1. NATS, Major Incident Preliminary Investigation Report, NAS incident 08 September 2026 (report date Sep 16)www.nats.aero
  2. NATS press release, "NATS publishes preliminary report on technical incident of 8 September" (Sep 18, 2026)www.nats.aero
  3. NATS on X, 8 Sepx.com
  4. BBC, "Flight chaos caused by 'millisecond' software defect, report says"www.bbc.co.uk
  5. The Guardian (Sep 18, 2026)www.theguardian.com
  6. Hacker News thread on the reportnews.ycombinator.com

Powiązane filmy