Not yet been terrified by the Year 2038 problem? Somehow you must have missed reports claiming it poses a threat, as exposed by Gangnam style (yes, you read that correctly), to our computerised future.
In fact, it is claimed, Y2038 is so bad it could be worse than Y2k. Well that’s absolutely true. Just like Y2K, if left unchecked, Y2038 could cause major issues for any computer systems. But just like Y2k, any prediction of planes falling out of the sky and the banking system melting down are likely to be a long long way from coming true.
So should you worry? No. But here’s what you need to know …
What is Y2038?
The year 2038 problem is caused by 32-bit processors and the limitations of the 32-bit systems they power. The processor is the central component that drives all computers and computing devices. It crunches the numbers and performs calculations that allow programs to run.
Essentially, when the year 2038 strikes 03:14:07 UTC on 19 March, computers still using 32-bit systems to store and process the date and time won’t be able to cope with the date and time change. Like the Y2K bug, the computers won’t be able to tell the difference between the year 2038 and 1970 – the year after which all current computer systems measure time.
What does 32-bit mean?
Processors come in many difference sizes and capabilities designed for different applications, but most of them operate and crunch numbers in a similar manner.
The first desktop computer processors were 16-bit and ran 16-bit software, which meant they could store and access values up to 216 or 65,536 distinct values within 64KB of memory. Other notable 16-bit systems include the 1990’s gaming consoles the Super Nintendo and Sega MegaDrive, which took over from 1980’s 8-bit systems.
Later, 32-bit processors were developed that ran 32-bit software and increased the number of values a system could handle 232 different values or 4,294,967,295 different numbers within 4GB of memory. The systems stored dates and times in 32-bit chucks. In reality that large number of different values is halved for time keeping and other data storage applications as they range from -2,147,483,648 through 2,147,483,647 leaving only 2,147,483,647 positive values from zero.
Modern processors that power almost every computer bought today, and are starting to make their way into smartphones and tablets too, are based on a 64-bit system and 64-bit software. They also have a maximum number of different values they can address but at 264 or 18 quintillion values within 16 Exabytes of memory, the ceiling is considerably higher at a date that is over twenty times greater than the estimated age of the universe or 292bn years from now.
What’s the problem with 32-bit systems?
The basic problem is about a computer’s capacity to count the time in seconds past a certain date. As computers measure time in seconds from 1 January 1970, 03:14:07 UTC on 19 January 2038 is equal to 2,147,483,647 seconds after 1 January 1970. As 32-bit date and time systems can only count up to 2,147,483,647 separate positive values the system cannot continue counting the seconds past that time.
To continue to count the seconds the values will start to be stored in negative counting up from -2,147,483,647 to zero. But most systems will not be able to cope with this change and will likely fail.
A similar issue happened with YouTube, where the number of views of Psy’s Gangnam Style passed 2bn and broke the 2,147,483,647 limit of the 32-bit counter Google supposedly used.
What will happen?
How computer systems will fail is unknown. Some may continue to work fine just with the date wrong. Others that rely on precise date and time may simply stop working.
The biggest issue, like the Y2K bug, is that computer systems that control crucial infrastructure stop working all at the same time. Planes crashing out of the sky was the common scaremongering example from the Y2K.
Is it really going to happen?
The simple answer is no, not if the computer systems are upgraded in time. The problem is likely to rear its head before the year 2038 for any system that counts years in to the future.
A calendar system that counts and stores appointments for 20 years into the future will start seeing issues in 2018, for instance.
However, almost all modern processors in desktop computers are now made and sold as 64-bit systems running 64-bit software. Microsoft’s Windows has offered a 64-bit version since Windows XP Professional 64-bit released in 2005.
Apple’s OS X desktop software has been exclusively 64-bit since the release of Mac OS X 10.7 “Lion” in 2011.
Many Unix systems that are used to power web servers and other backend hardware may still use 32-bit date systems, but most should be replaceable over time.
The computers that have the potential to cause the biggest issues are those embedded systems that cannot be upgraded. They are used in many transportation systems and other long-living devices, equipment such as stability control systems in cars or other isolated computer-based systems.
Not all embedded systems rely on precise dates, however, and so will be unaffected often just tracking the difference between times, not absolute dates.
Those embedded systems that are effected are likely to have to be completely replaced as the software can’t simply be upgraded.
What’s going to be done?
The reality of Y2038 being a problem is that many 32-bit systems will naturally wear out or be replaced in the next 23 years. Those systems that might not will need changing ahead of time.
Infrastructure is likely to be the biggest headache to fix – devices in power stations for instance – but planning the change far enough in advance should remove most big problems.
• Y2K bug triggers army conscription notices sent to 14,000 dead men
• Leap second hits Qantas air bookings, while Reddit and Mozilla stutter
View all comments >