Last week we showed that YouTube also suffered from the same problem as CTP Teams did a few weeks back when the counter maxed out at 2,147,483,647 and today we will explore the significance of that number a little more.
The problem is actually known as the Y2038 issue because many computers are likely to be affected by this very problem on January 19, 2038 at exactly 3:14:07am GMT.
Basically every computer program which uses a 32-bit signed integer to work out the time using the ‘time()’ function in C/C++, or a similar function in other languages, could be affected.
This is because these programs work out the time by adding up the number of seconds which have passed since January 1, 1970 and 3:14:07am GMT on January 19, 2038 is exactly 2,147,483,647 seconds past that date.
What may happen after this time on non Y2038-compliant systems?
Well like in CTP Teams the counter (clock) may just stop counting or it may begin counting again from the beginning and represent the time as January 1, 1970. It may even take 68 years from the start date and go back to December 1901.
Here is an example of how this may work out in practice:
Y2038 does not affect 64-bit computers running 64-bit operating systems and also does not affect software which does not use time in any way.
However do note that a 64-bit operating system can also run or emulate 32-bit software which may not be Y2038-compliant.
According to the website Y2038.com what is the worst that could happen?
It says: “Electric power plants could go off line. Cars may not start or behave erratically. Global communication could come to a halt. The Internet could entirely or partially stop working. Satellites may cease to function and possibly fall out of orbit. Many embedded devices may malfunction.
“The use of 32-bit time values stored in databases could easily cause a fair amount of confusion until the problems are resolved. Fortunately, there is plenty of time left to mitigate these potential issues.”
Further reading: Y2038.com