
De klok van computers kan in 2038 stilvallen. Foto: iStock – Dragos Condrea
Een slagboom, meetkast of kassaterminal die na jaren trouwe dienst plots december 1901 aanwijst: het klinkt als een ouderwetse computergrap, maar het kan een reëel gevolg zijn van de manier waarop sommige apparaten tijd bijhouden. De Unix-teller telt seconden vanaf 1 januari 1970 en slaat bij de maximale 32-bitswaarde van 2.147.483.647 om naar een negatief getal. Moderne software met 64-bit time_t heeft die valkuil al achter zich gelaten, maar bij langdurig draaiende apparatuur, van industriële controllers tot routers en auto’s, staat op het spel of de oude tijdrekening tijdig wordt opgespoord en aangepast.
Om 03:14:07 loopt de oude teller over
Het kantelpunt valt precies op 03:14:07 UTC op 19 januari 2038. Een systeem met een 32-bits geheel getal heeft dan 2.147.483.647 seconden opgeslagen, het hoogste positieve getal dat daarin past.
Daarna slaat de waarde om naar -2.147.483.648. Voor zo’n apparaat is de klok dan niet gewoon een paar seconden verder, maar belandt hij in december 1901. Dat kan flink uitmaken als een programma datums gebruikt voor bijvoorbeeld logboeken, betalingen, toegangscontrole of onderhoudsmeldingen.
Juist apparaten die je vergeet, kunnen blijven hangen
Een laptop of recente server wordt vaak vervangen of krijgt geregeld nieuwe software. Ingebouwde apparatuur gaat heel anders mee: een controller in een gebouw, productielijn of voertuig kan jarenlang stilletjes dezelfde code blijven draaien.
- Gebouwautomatisering kan nog op 32-bits hardware draaien, bijvoorbeeld voor verwarming, ventilatie en toegangssystemen.
- Meet- en telemetrieapparatuur verstuurt gegevens vaak langdurig zonder grote software-updates.
- Medische systemen en onderdelen in auto’s kunnen eveneens kwetsbaar blijven als hun tijdrekening niet is aangepast.
Ook kassasystemen, routers en industriële besturingen vallen in die groep als ze nog de oude tijdnotatie gebruiken. Je ziet zo’n apparaat meestal pas als er iets misgaat, terwijl de datum juist diep in de werking kan zitten.
De techniek heeft de uitweg al jaren in huis
De praktische oplossing heet 64-bit time_t: een ruimere manier om tijd op te slaan. De Linux-kernel ondersteunt die al sinds het midden van de jaren 2000 en eist hem inmiddels voor nieuwe code.
Moderne 64-bitsystemen hebben deze specifieke fout al achter zich gelaten; het probleem zit vooral in oude apparaten die nooit zijn bijgewerkt. Het Algemeen Nederlands Woordenboek verwacht dan ook dat tegen 2038 vrijwel alle machines 64-bit of hoger zijn, waardoor de schade beperkt blijft.
Goed om te weten
Een snelle fix met een 32-bits getal zonder minteken lost de fout niet echt op. Die schuift hem alleen door naar 7 februari 2106.
Die variant gebruikt alle beschikbare waarden als positieve getallen. Op 06:28:15 UTC op 7 februari 2106 zit ook die teller aan zijn grens, het zogeheten 2106-probleem.
Een museum vond dat het mis kan gaan vóór 2038
Het British National Museum of Computing stuitte tijdens het restaureren van oude systemen op een onverwacht probleem waardoor de 2038-fout bij sommige machines eerder kan toeslaan. De deadline op de kalender is dus niet automatisch de eerste dag waarop elk oud systeem problemen krijgt.
Dat maakt een inventarisatie lastiger dan alleen zoeken naar apparaten met een bouwjaar van vóór 2038. Ook software, bibliotheken en koppelingen tussen systemen kunnen de oude tijdsindeling nog gebruiken, zelfs als de machine zelf al jaren probleemloos draait.
Voor Nederland begint het met uitzoeken wat er nog staat
In Nederland kunnen vooral sectoren met veel langdurig gebruikte apparatuur hiermee te maken krijgen, zoals industrie, zorg en gebouwbeheer. De logische stap is om na te gaan welke apparaten nog 32-bits tijd gebruiken en of de leverancier een update biedt.
De millenniumbug van 1999 liet al zien dat vroeg beginnen technische schade en hoge noodkosten kan voorkomen. Bij het jaar 2038-probleem is de groep kwetsbare systemen waarschijnlijk kleiner, maar een vergeten controller vervangen terwijl hij nog werkt kost meestal minder gedoe dan ingrijpen nadat de datum al is ontspoord.
Bedrijven die oude apparatuur de komende jaren vervangen, kunnen bij de inkoop expliciet vragen naar 64-bits tijdondersteuning. Daarmee verdwijnt deze digitale tijdbom uit systemen die mogelijk nog ver voorbij 2038 in een kelderkast of fabriekshal staan.