Een bug van één milliseconde stopte het Britse luchtverkeer. Zes uur lang.
Op dinsdag 8 september om 10:00 uur wordt een routine squawk-code aanvraag binnen NATS's National Airspace System (NAS) onderbroken door een hoger-prioriteitsbericht terwijl het bezig is met het bijwerken van een waarde.
Op dinsdag 8 september om 10:00 uur wordt een routine squawk-code aanvraag binnen NATS's National Airspace System (NAS) onderbroken door een hoger-prioriteitsbericht terwijl het bezig is met het bijwerken van een waarde. Het blootstellingsvenster is ongeveer één milliseconde. De aanvraag wordt verkeerd hervat, de vluchtgegevens raken corrupt, en tegen 19:30 uur zijn meer dan 2.000 Britse vluchten vertraagd, geannuleerd of omgeleid.
Lees de geschreven editie (Engels) ↗
Wat deze video behandelt
- 10:00: één verzoek, onderbroken binnen een venster van 1 ms
- Tijdlijn: 10:00 squawk → 10:02 bliep → 12:45 vertrekken stoppen → 13:32 link verloren
- De oplossing: herstart de vluchtgegevens van het hele land
- Mechanisme: gepauzeerd halverwege een schrijfproces
- Waarom een veiligheidsfunctie het luchtruim stopzette
Vertaald transcript
Vertaald vanuit de originele Engelse gesproken tekst. Beschikbare audio en ondertiteling worden beheerd door YouTube.
10:00: één verzoek, onderbroken binnen een venster van 1 ms
0:00 Om tien uur 's ochtends, één routinematige aanvraag binnen het Britse vluchtgegevenssysteem wordt onderbroken op precies de verkeerde milliseconde, en tegen de avond zijn meer dan twee duizend vluchten vertraagd, geannuleerd of omgeleid. Dat is van het voorlopige rapport van Nats, de Britse luchtverkeersdienst. Geen teken van een aanval, en niemand heeft op de verkeerde knop gedrukt. Gewoon een oud defect, en één heel specifieke milliseconde. Hoe het gebeurde, waarom één milliseconde genoeg was, en wie eigenlijk de schuld krijgt. Dit is The Daily Diff, postmortem.
0:31 Tien uur. Iemand vraagt handmatig om een squawk-code, het viercijferige nummer dat
Tijdlijn: 10:00 squawk → 10:02 bliep → 12:45 vertrekken stoppen → 13:32 link verloren
0:36 een radarbliep koppelt aan het vluchtplan. Het verzoek is geldig, en het plan ook. Tien over twee. De verbinding tussen London Area Control en het kernsysteem valt weg, komt dan vanzelf terug na vijfenveertig seconden. Het ticket zegt hersteld, stabiel, geen operationele impact. Twaalf tweeëndertig. De verbinding begint opnieuw weg te vallen, elke keer sneller, en controleurs verliezen wat automatisering.
0:56 Tegen kwart voor één zijn Britse vertrekken gestopt. Om half twee valt de verbinding weg en blijft weg. De oplossing is een gecontroleerde herstart, en dat is het dure deel,
De oplossing: herstart de vluchtgegevens van het hele land
1:06 omdat hetzelfde systeem controlecentra en luchthavens door het hele land voedt. De bug leeft in het Londense luchtruim. De beperkingen gelden voor heel het VK. De herstart loopt van kwart over drie tot tien over vier, en het ontwarren van de dubbele vluchtplannen duurt tot tien voor zeven. Dus waarom was een milliseconde genoeg?
Mechanisme: gepauzeerd halverwege een schrijfproces
1:23 Het systeem schuift taken door prioriteit, en het pauzeren van een kleine taak voor een dringende is normaal. Maar deze taak was halverwege het bijwerken van een waarde. Het dringende bericht landt binnen die milliseconde, en de update stopt halverwege. Wanneer het hervat, hervat het niet correct. De slechte gegevens lekken vervolgens door naar enkele van de latere vluchtupdates.
Waarom een veiligheidsfunctie het luchtruim stopzette
1:40 Londen probeert er een te lezen, doet er te lang over en timed out. Een timeout verbreekt de verbinding, zoals ontworpen, om beide systemen te beschermen. De veiligheidsfunctie werkt perfect. Dat is het probleem. De eigen woorden van het rapport. Had het dringende bericht één milliseconde eerder of later aangekomen, dan zou de update normaal zijn voltooid. Op Hacker News noemt één programmeur een milliseconde een absolute eeuwigheid,
2:02 gegarandeerd dat het deze week dinsdag zou gebeuren. Het was een dinsdag.
git blame — legacy code 50 · herstartplan 30 · het 10:02 alarm 15 · 1 ms 5
2:05 git blame. De oude code, vijftig procent, voor een update die gepauzeerd kan worden halverwege en verkeerd terugkomt. Het herstartplan, dertig, omdat één slechte record in Londen betekent dat de vluchtgegevens van het hele land opnieuw moeten worden gestart. Het tien over twee alarm, vijftien, voor het zelf herstellen en als geen impact archiveren. Vijf procent voor de milliseconde, voor de timing ervan. Gevolgen. Nats plande die dag ongeveer achtduizend vluchten en behandelde
Gevolgen: 8.000 gepland, 6.094 afgehandeld, derde storing in drie jaar
2:27 ongeveer zesduizend. Britse vertrekken stopten ongeveer vierenhalf uur, en het achterstallige werk duurde meer dan twee dagen om op te ruimen. Het is Groot-Brittannië's derde luchtverkeersstoring in drie jaar, en de algemeen directeur noemt deze bug zeer, zeer obscuur.
Oordeel + de maandaglijn: atomaire schrijfbewerkingen, luide alarmen
2:41 Oordeel, postmortem: NEEDS REVIEW. Het rapport is snel en specifiek, en de oplossing is geschreven en in testfase. Maar het plan is een snellere herstart, geen kleinere. Maandaglijn: als een taak gepauzeerd kan worden, maak de schrijfbewerking ervan dan atomair, en behandel een alarm dat zichzelf herstelt als een alarm. Stuur me het incident waar je nog steeds niet over mag praten, in de comments, of op thedailydiff.dev. En dat is de diff voor vandaag.
3:02 Ik ben Niko van Axrisi. Merge responsibly.
Bronnen
- 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



