Access and Feeds

Coding: Date-Format Bugs Cause Big Headaches

By Dick Weisinger

The days leading up to January 1, 2020 caused many IT teams worry because on that day the two-digit year abbreviation used for storing dates on many computer systems would roll over from 99 to 00. The date rollover was predicted to potentially cause system failures or incorrect calculations on many computer systems. It was called the Y2K bug and it mobilized IT groups around the world to modify software to avoid any problems. After a year of global effort to fix problem software, ultimately, the day came and passed without notable problems.

But that’s not the end to computer overflow problems. For example, in Janauary this year, Microsoft Exchange server was hit with a bug related to system updates. New updates were named using the format of Year-Month-Day-4-digit-number. For example: 2201010001 (22=Year, 01=Month, 01=Date, 0001=unique 4-digit number). This format made it easy to find and sort updates by date. But the number was stored in a 32-bit field so that the maximum number allowed was 2,147,483,648. On January 1st, 2022, the update string overflowed the 32 bits, causing the Exchange server to crash.

Similar to Y2K, there is a bug that could occur on January 19, 2038 on Linux and Unix machines. On those machines, time is stored as a 32-bit integer that represents the number of seconds since January 1, 1970. Critical machine errors could happen on that date and time, although that date is still a number of years away and most new machines being put into service today are 64-bit based and would not suffer from the problem.

Paul Budde, telecommunications consultant, wrote that “people keep cars going for a long time. There may still be routers, wireless access points and IP cameras in use by then, and there is highly likely to be a lot of deeply embedded systems such as building infrastructure. Some of these systems are going to fail in 2038. That is why it is important to get the problem fixed as soon as possible.”

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

Leave a Reply

Your email address will not be published. Required fields are marked *

*