This is how the world ends: not with a whimper, or a bang, or in fire and ice, but because of a signed 32-bit integer.
Here’s the issue: Many bits of software rely on a 32-bit integer to store time. According to Business Insider, engineers developing computer systems in the 1970s decided to start that integer “clock” at midnight on January 1, 1970. The integer can encompass 2,147,483,647 seconds before it hits a limit and resets or “wraps around” to zero, at which point lots of unpatched systems—now thinking the time is several decades earlier—could begin crashing in not-so-hilarious ways; that “wrap around” date is January 19, 2038 at 3:14:07 UTC.
“Most UNIX-based systems use a 32 bit clock that starts at the arbitrary date of 1/1/1970, so adding 68 years gives you a risk of overflow at 2038,” Jonathan Smith, a Computer and Information Science professor at the University of Pennsylvania, told Business Insider. “Timers could stop working, scheduled reminders might not occur (e.g., calendar appointments), scheduled updates or backups might not occur, billing intervals might not be calculated correctly.”
While it might sound like a (huge) problem for the next generation of computer-science managers to handle, it’s actually a pressing concern, as many systems (such as those owned by the federal government or financial institutions) actively deal with events years or decades in the future. And while consumers tend to update their devices on a regular basis—it’s unlikely that anyone will be using anything 32-bit by 2038, if smartphones and PCs are already migrating to 64-bit systems—enterprise systems have a tendency to linger for years past their underlying technology’s ostensible obsolescence date; updating those systems to sidestep the 2038 problem, if the problem must be solved within the next few years in order to deal with far-horizon events, could present some issues.
So maybe it’s a little extreme to say the world will collapse into chaos because of a bug in system time. In fact, given the overblown panic that greeted the Y2K bug, a little bit of calm is probably in order. But that doesn’t negate the fact that lots of developers and programmers could end up, as with Y2K, engaged in fixing a significant issue.
- 4 Tips on Choosing External Software
- Interview Questions for Python/Django Developers
Image: Big Pants Production/Shutterstock.com