Charles Arthur: In 30 years’ time, the internet will stop working. Or at least, the bits of it that run on Unix
In other words, if the words “Unix epoch” and “2038 bug” leave you cold, then you could try looking at what I’ve written…
So let’s quickly examine another doomsday lurking in our not-so-distant future: that in 30 years’ time, the internet will stop working. Or at least, the bits of it that run on Unix. (For once, this is a tale where Microsoft comes out looking well-prepared.)
This is down to what’s being called the “2038 bug”. It arises because Unix-based systems store the time as a signed 32-bit integer, in seconds, from midnight on January 1 1970. And the latest time that can be represented in that format, by the Posix standard, is 3.14am on January 19, 2038. (It’s a Tuesday. Better make sure your desk is clean on the Monday night.)
After that? “Times beyond this moment will ‘wrap around’ and be represented internally as a negative number, and cause programs to fail, since they will see these times not as being in 2038 but rather in 1901”, to quote Wikipedia.
Early examples of problems have surfaced. The AOLserver web server software tries to ensure that database requests will never time out, not by assigning “0” to the timeout (which would have been sensible, programatically speaking) but by setting the timeout 1bn seconds (about 31 years) in the future. It crashed on May 13 2006.