+− THE DAILY DIFFdev & AI news
NEEDS REVIEW

Една милисекунда бъг спря въздушния трафик в Обединеното кралство. За шест часа.

В 10:00 ч.

В 10:00 ч. във вторник, 8 септември, едно рутинно искане за squawk-код в Националната система за въздушно пространство (NAS) на NATS е прекъснато от съобщение с по-висок приоритет, докато е в процес на актуализиране на стойност. Прозорецът на експозиция е около една милисекунда. Искането се възобновява неправилно, данните за полетите излизат повредени и до 19:30 ч. над 2000 полета в Обединеното кралство са забавени, отменени или отклонени.

Прочетете писменото издание (английски) ↗

Какво обхваща този видеоклип

  • 10:00: едно искане, прекъснато в прозорец от 1 ms
  • Хронология: 10:00 squawk → 10:02 blip → 12:45 спират излитанията → 13:32 връзката е изгубена
  • Лечението: рестартиране на данните за полетите на цялата страна
  • Механизъм: пауза по средата на запис
  • Защо функция за безопасност спря небето

Преведен препис

Преведено от оригиналния английски разказ. Наличните аудио и субтитри се контролират от YouTube.

10:00: едно искане, прекъснато в прозорец от 1 ms

0:00 В десет сутринта, едно рутинно искане в британската система за данни за полети бива прекъснато точно в грешната милисекунда и до вечерта над две хиляди полета са забавени, отменени или отклонени. Това е от предварителния доклад на Nats, британската служба за въздушен трафик. Няма признаци за атака и никой не е натиснал грешен бутон. Просто стар дефект и една много специфична милисекунда. Как се случи, защо една милисекунда беше достатъчна и кой всъщност носи вината. Това е The Daily Diff, аутопсия.

0:31 Десет часа. Някой ръчно иска squawk код, четирицифреното число, което

Хронология: 10:00 squawk → 10:02 blip → 12:45 спират излитанията → 13:32 връзката е изгубена

0:36 свързва радарния отблясък с плана на полета му. Искането е валидно, както и планът. Десет и две. Връзката между Лондонското зонално управление и основната система прекъсва, след което се възстановява сама след четиридесет и пет секунди. В билета пише възстановена, стабилна, без оперативно въздействие. Дванадесет тридесет и две. Връзката отново започва да прекъсва, всеки път по-бързо, и контрольорите губят част от автоматизацията.

0:56 До дванадесет четиридесет и пет, излитанията от Обединеното кралство са спрени. В един тридесет и две, връзката прекъсва и остава изключена. Лечението е контролирано рестартиране, и това е скъпата част,

Лечението: рестартиране на данните за полетите на цялата страна

1:06 защото същата система захранва контролни центрове и летища в цялата страна. Грешката е в лондонското въздушно пространство. Ограниченията обхващат цялото Обединено кралство. Рестартирането продължава от три и петнадесет до четири и десет, и разплитането на дублираните полетни планове отнема до седем без десет. И така, защо една милисекунда беше достатъчна?

Механизъм: пауза по средата на запис

1:23 Системата жонглира със задачи по приоритет и пауза на малка задача за спешна такава е нормално. Но тази задача беше по средата на актуализиране на стойност. Спешното съобщение пристига в рамките на тази милисекунда и актуализацията спира по средата. Когато се възобнови, не се възобновява правилно. Лошите данни след това изтичат в някои от по-късните актуализации на полети.

Защо функция за безопасност спря небето

1:40 Лондон се опитва да прочете едно, отнема твърде дълго и изтича времето. Изтичането на времето прекъсва връзката, както е проектирано, за да защити и двете системи. Функцията за безопасност работи перфектно. Това е проблемът. Собствените думи на доклада. Ако спешното съобщение беше пристигнало една милисекунда по-рано или по-късно, актуализацията щеше да приключи нормално. В Hacker News един програмист нарича милисекундата абсолютна вечност,

2:02 гарантирано да се случи до вторник тази седмица. Беше вторник.

git blame — старинен код 50 · план за рестартиране 30 · алармата от 10:02 15 · 1 ms 5

2:05 git blame. Старият код, петдесет процента, за актуализация, която може да бъде паузирана по средата и да се върне грешна. Планът за рестартиране, тридесет, защото един лош запис в Лондон означава рестартиране на данните за полетите на цялата страна. Алармата от десет и две, петнадесет, за това, че се е оправила сама и е била отчетена като без въздействие. Пет процента на милисекундата, за нейния тайминг. Радиус на взрива. Nats е планирал около осем хиляди полета този ден и е обработил

Радиус на взрива: 8000 планирани, 6094 обработени, трета грешка за три години

2:27 около шест хиляди. Излитанията от Обединеното кралство са спрени за около четири и половина часа, и натрупаните закъснения отнемат над два дни за изчистване. Това е третият отказ на въздушния трафик във Великобритания за три години, и главният изпълнителен директор нарича този бъг много, много неясен.

Присъда + линията от понеделник: атомарни записи, силни аларми

2:41 Присъда, аутопсия: NEEDS REVIEW. Докладът е бърз и конкретен, а поправката е написана и тествана. Но планът е по-бързо рестартиране, а не по-малко. Линия от понеделник: ако една задача може да бъде паузирана, направете записа й атомарен, и третирайте аларма, която се оправя сама, като аларма. Изпратете ми инцидента, за който все още не ви е позволено да говорите, в коментарите или на thedailydiff.dev. И това е разликата за днес.

3:02 Аз съм Нико от Axrisi. SHIP IT.

Източници

  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

Свързани видеоклипове