You’re probably thinking, another year and here we have yet another doomsday prediction right? It must be getting boring as we’ve survived the millennium bug, the year 2013 and a few more in between. Well this time get ready to weep as what I’m about to tell you is a very serious matter. Ok, maybe not as our lives don’t depend on this problem but it does effect equipment we are dependent on.
Why 2038 brings doomsday for computer software and systems?
Basically around the year 2038 computer software and systems that store system time as a signed 32 bit integer will run into problems. This is due to the fact that signed 32 bit integer cannot output time further than 03:14:07 UTC – Tuesday, 19 January 2038. This means software that currently use and are dependent on signed 32 bit integers will have their system time reset to December 13, 1901 rather than January 19, 2038.
To be technical about this – the problem is caused by an integer overflow. This happens when the counter runs out of bits to increment and starts incrementing the ‘sign’ bit instead.
Why the date reset causes a problem
As this problem causes the counter to increment the sign bits – this results in the computer software to start outputting abnormally large negative numbers instead of what the system is used to. This will most likely cause errors in the computer software itself and of course cause abnormal behavior such as not letting the computer software run.
2038 is far away, we have enough time to fix it don’t we?
The answer to that is yes and no. Some systems which work with dates in the future will have to sort this problem out beforehand. So for example if the program works with dates set 24 years in the future. Then this problem will need to be eliminated before 2014! Only a year away might I add.
Which software and systems are vulnerable to the 2038 bug?
Pretty much any system that uses the 32 bit signed system time. This can range from transportation systems to telecommunication systems. So don’t be too surprised when your router stops working in 2038 that is if your deciding to keep your current one for a very long time.
Jokes aside, a lot of systems which contain databases that handle dates in the format mentioned will also be directly impacted. So bad news for people who use the UNIX_TIMESTAMP() function in MySQL.
So what is the solution to the 2038 bug?
So far there are not any universal solutions, but good news for people with 64bit architecture you won’t be affected! As they use 64 bit signed integers giving them more dates (292 billion years).
The proposals are still ongoing but I believe we shall have to wait and see how this one plays out! There isn’t any point making any harsh moves just yet, the best solution to use will be the one that is universal as then everyone will be in sync when tackling the 2038 bug!
So what are you guys going to miss if the 2038 bug hits your computer systems and software? Let us know in the comments section below!