We herinneren ons allemaal de millennium-bug (Y2K), die eind jaren ‘90 paniek veroorzaakte omdat men vreesde dat computersystemen op 1 januari 2000 in de war zouden raken. Gelukkig viel de schade mee, mede dankzij grootschalige inspanningen van ontwikkelaars en bedrijven om het probleem op tijd op te lossen. Maar nu doemt een nieuw gevaar op: het 2038-probleem. Dit kan potentieel nog grotere gevolgen hebben, vooral voor oudere systemen die niet zijn geüpdatet.
Veel computers en software maken gebruik van de Unix-tijd om datums en tijden bij te houden. Dit is een systeem waarbij de tijd wordt opgeslagen als het aantal seconden dat is verstreken sinds 1 januari 1970, 00:00:00 UTC. Het probleem? Oudere systemen gebruiken een 32-bits signed integer om dit getal op te slaan.
Op 19 januari 2038 om 03:14:07 UTC bereikt dit getal de maximale waarde: 2.147.483.647 seconden. Een seconde later treedt een integer overflow op, waardoor de tijd wordt gereset naar 13 december 1901 om 20:45:52 UTC.
Dit kan leiden tot ernstige systeemfouten, vergelijkbaar met wat men bij Y2K vreesde:
Het 2038-probleem treft voornamelijk oudere systemen en embedded devices, zoals:
Veel moderne apparaten en software gebruiken inmiddels 64-bits tijdsregistratie, waardoor ze het probleem niet hebben. Maar in legacy-systemen – vooral die in kritieke infrastructuren – kan dit probleem nog steeds aanwezig zijn.
De technologie-industrie werkt al jaren aan oplossingen voor het 2038-probleem. Sommige besturingssystemen en programmeertalen hebben al updates gekregen:
Toch zijn er nog veel oudere systemen die kwetsbaar blijven. Bedrijven moeten hun legacy-systemen controleren en updaten om problemen in 2038 te voorkomen.
De Y2K-bug zorgde destijds voor veel paniek, maar uiteindelijk viel de impact mee omdat er op tijd maatregelen werden genomen. Het 2038-probleem heeft dezelfde potentie om ernstige storingen te veroorzaken, maar het grote verschil is dat het niet op één dag gebeurt. Sommige systemen kunnen al jaren vóór 2038 problemen ondervinden, bijvoorbeeld als ze berekeningen maken met datums ver in de toekomst.
De tijd dringt. Het is cruciaal dat bedrijven en ontwikkelaars nu al actie ondernemen om het probleem aan te pakken. Want terwijl 2038 nog ver weg lijkt, kan het voor sommige systemen morgen al te laat zijn.
[Fotocredits – © 2p2play & Mykola – Adobe Stock]