Een luie oplossing 20 jaar geleden betekent dat de Y2K-bug computers nu uitschakelt
Door Chris Stokel-Walker
Parkeermeters, kassa’s en een professionele worstelvideogame zijn het slachtoffer geworden van een computerglitch die verband houdt met de Y2K-bug.
De Y2020-bug, die veel betalings- en computersystemen offline heeft gehaald , is een lang aanslepende bijwerking van pogingen om de Y2K- of millenniumbug op te lossen.
Beide komen voort uit de manier waarop computers datums opslaan. Veel oudere systemen drukken jaren uit met behulp van twee getallen – 98, bijvoorbeeld voor 1998 – in een poging geheugen te besparen. De Y2K-bug was een angst dat computers 00 zouden behandelen als 1900 in plaats van 2000.
Advertentie
Programmeurs die dat willen de Y2K-bug vermijden had twee brede opties: hun code volledig herschrijven, of een snelle oplossing genaamd “windowing” toepassen, die alle datums van 00 tot 20 zou behandelen, vanaf de jaren 2000, in plaats van de jaren 1900. Naar schatting 80 procent van computers die in 1999 zijn gerepareerd, gebruikten de snellere, goedkopere optie.
“Windowing, zelfs tijdens Y2K, was de slechtste van alle mogelijke oplossingen, omdat het het probleem op de weg deed”, zegt Dylan Mulvin van de London School of Economie.
Lees meer: Binary babel: Fixing computing’s coding bugs
Coders kozen 1920 tot 2020 als het standaardvenster vanwege de betekenis van het middelpunt, 1970. “Veel programmeertalen en systemen hanteren datums en tijden als seconden vanaf 1970/01/01, ook wel Unix-tijd genoemd”, zegt Tatsuhiko Miyagawa, een ingenieur bij cloudplatformprovider Fastly.
Unix is een veelgebruikt besturingssysteem in verschillende bedrijfstakken, en deze “epoch-tijd” wordt gezien als een standaard.
De theorie was dat deze venstersystemen tegen de tijd dat 2020 arriveerde verouderd zouden zijn, maar veel hangt nog steeds aan en in sommige gevallen was het probleem vergeten.
“Het oplossen van bugs in oude legacy-systemen is een nachtmerrie: het is spaghetti en niemand die het heeft geschreven is er nog,” zegt Paul Lomax, die de Y2K-bug voor Vodafone heeft afgehandeld. “Ze gingen er duidelijk van uit dat hun systemen in 2020 al lang niet meer zouden worden gebruikt. Net zoals degenen in de jaren 60 niet dachten dat hun code in het jaar 2000 nog steeds zou bestaan.”
Die systemen die de snelle fix hebben nu het einde van die periode bereikt en zijn teruggedraaid naar 1920. Facturen van nutsbedrijven zijn naar verluidt geproduceerd met de verkeerde datum 1920, terwijl tienduizenden parkeermeters in New York City creditcardtransacties hebben geweigerd vanwege de datum glitch.
Lees meer: hoe tech-bugs duizenden doden zouden kunnen veroorzaken in onze ziekenhuizen
Duizenden kassa’s vervaardigd door de Poolse firma Novitus zijn niet in staat geweest om te printen ontvangsten vanwege een storing in de klok van het register. Het bedrijf probeert de machines te repareren.
WWE 2K20, een professionele worstelvideogame, stopte ook om middernacht op 1 januari 2020. Binnen 24 uur game-ontwikkelaars, 2K, hebben een downloadbare oplossing uitgegeven.
Een ander stuk software, Splunk, dat ironisch is lly zoekt naar fouten in computersystemen, bleek kwetsbaar te zijn voor de Y2020-bug in november. Het bedrijf introduceerde dezelfde week een oplossing voor gebruikers – waaronder 92 van de Fortune 100, de 100 beste bedrijven in de VS.
Sommige hardware- en softwareproblemen zijn ten onrechte aan de bug toegeschreven. Een zorgverlener beweerde dat Y2020 een systeem trof dat was ontwikkeld door McKesson, dat software voor ziekenhuizen produceert. Een woordvoerder van McKesson vertelde New Scientist dat het bedrijf niet op de hoogte was van een storing die verband houdt met Y2020.
Hoe lang deze Y2020-fixes precies zullen duren, is onbekend, aangezien bedrijven geen details over hen hebben bekendgemaakt. Als het venster gewoon weer is teruggeduwd, kunnen we verwachten dat dezelfde fout zich voordoet.
Een ander datumopslagprobleem staat ons ook voor in het jaar 2038. Het probleem komt opnieuw voort uit de tijd van Unix: de gegevens worden opgeslagen als een 32-bits geheel getal, dat op 19 januari 2038 om 3.14 uur opraakt.
Meer over deze onderwerpen:
- computergebruik