Една милисекунда бъг спря въздушния трафик в Обединеното кралство. За шест часа.
В 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.
Източници
- NATS, Major Incident Preliminary Investigation Report, NAS incident 08 September 2026 (report date Sep 16)www.nats.aero
- NATS press release, "NATS publishes preliminary report on technical incident of 8 September" (Sep 18, 2026)www.nats.aero
- NATS on X, 8 Sepx.com
- BBC, "Flight chaos caused by 'millisecond' software defect, report says"www.bbc.co.uk
- The Guardian (Sep 18, 2026)www.theguardian.com
- Hacker News thread on the reportnews.ycombinator.com



