Jump to Navigation

What is the Year 2038 Problem and could it result in a similar panic to the Y2K Bug?


Submitted by James Broom on Tue, 08/12/2015 - 13:51
What is the Year 2038 Problem and could it result in a similar panic to the Y2K Bug?

Around this time, sixteen years ago, there was worldwide panic at the risk of an impending digital disaster of epic proportions - all because of a computer bug.

Once Big Ben struck midnight on January 1st 2000, all computer programs and applications around the world would cause interruptions in operations or cease to exist. Tech analysts predicted planes would fall out the sky, nuclear plants would go into melt down and civilization would come to an end as we know it.

That's what everyone thought anyway. All because someone didn’t have the foresight to make the system date in computers hold four digits instead of just two digits.

When computer engineers in the 1960s were writing computer programs, they had to save space (and money) by only using two digits to represent the year instead of using all four digits, so instead of 1988 it was just '88'. As we approached the year 2000, computer programmers believed that computer systems may not interpret 2000 as '00' and instead would revert the date to January 1, 1900 which would cause widespread problems for software systems, data storage solutions and many other digital platforms due to the invalid date.

This issue was known by many names including the Y2K bug, the millennium bug or Year 2000 problem. This was a computer flaw that could have caused problems when dealing with any date beyond December 31, 1999. Whilst the idea of nuclear meltdown's and planes falling from the sky were only speculation, there were concerns for important systems such as banking accounts, radar systems and medical equipment that could have ceased to function because of it. Basically, if a computer programme believed the data it received 5 seconds ago was from 100 years in the future, the system would likely crash and issues such as people not having access to their money, interest calculations fluctuating and signals becoming scrambled may have occurred.

Fortunately, steps were taken to prevent this and it turned out not to be a massive problem to fix but still required a lot of manpower. IT companies hired several programmers, developers and data analysts to reconfigure systems to make them all Y2K compliant. With billions being spent to re-programme and upgrade systems, the digital transition into 2000 ended up being an uneventful one. Though there were some reports of documented errors including disruptions in travel services and date errors in certain systems, the problems were regarded as minor. It's actually quite difficult to understand what could have happened if this wasn't caught early and if systems really would have been affected in such a catastrophic way.

Could something like that happen again in 2038?

According to computer experts, yes. It's been reported that it could happen as soon as 19th January 2038 which could cause any computer, program or server running on a 32-bit system to malfunction. This is being referred to as the Year 2038 Problem and whilst that still appears a long way off from now, it could still cause issues today for any system that deals with future forward dates leading up to 2038.

The problem will affect all software and systems that store system time and other values as a signed 32-bit integer. Any time beyond 03:14:07 UTC on Tuesday, 19 January 2038 will essentially 'wrap around' and be internally stored as a negative number, which systems will interpret as a time in December 13, 1901 rather than 2038. This is because the number of seconds since the UNIX epoch started will have exceeded the computer's maximum value for a 32-bit signed integer. The animated GIF illustrates how the binary code, the decimal number and date will be interpreted when we reach that moment in time.

Even if that date is a long way off, there has already been evidence of 32-bit systems failing to keep up with demands of big amounts of data today. In 2012, the ridiculously popular 'Gangnam Style' song by South Korean popstar, PSY exceeded the demands of YouTube’s servers and broke the views counter because it was only on a 32-bit system and could only handle 2,147,483,647 views. Since then Google has upgraded it's system to 64-bit which can handle a whopping 9 quintillion views, which is a very unlikely feat for a video to achieve but you're never really surprised when it comes to the internet these days.

"We never thought a video would be watched in numbers greater than a 32-bit integer (=2,147,483,647 views), but that was before we met PSY. Gangnam Style has been viewed so many times we have to upgrade!" A Google Spokesperson said.

Like the Y2K bug, the impending issues of the 2038 bug could actually provide many IT opportunities for developers and programmers alike in the years to come. By 2038, the majority of systems are likely to be 64-bit anyway but this can still remain an issue for existing applications today that have databases that look into future dates and uses TIMESTAMP as a MySQL value. TIMESTAMP is a value that stores dates but only has a range of 1970 to 2038 which can be an issue for systems storing future forward dates, birthdates etc.  The solution is to replace TIMESTAMP with DATETIME, a value that has a range of 1000-9999. Don't be surprised if this was to come up in a job interview for a SQL related job.

We probably won't see job placements for roles that involve 'future proofing' SQL database systems for a few years but it's likely many companies are already planning ahead. Since Google has already experienced the limitations of 32-bit systems it may not be long before we start seeing large tech companies putting plans into place to tackle the situation leading up to 2038. As we get closer to 2038, will we see widespread panic, speculation and disruption like we did with the Y2K bug or will we have everything in place by then? Who knows, but if it weren't for catching the potential threats of the Y2K bug early, the world of IT could have been very different at the turn of the century.

Do you want to get into programming and development? Technojobs has a list of the top programming skills to learn in 2016.