Monday, 11 December 2006

The Year 2038 Problem

Syed Akbar
Hyderabad, Dec 11: Just follow these few steps. Login to Yahoo Messenger and send instant message to anyone. You find it working. Now change your computer system date to January 19, 2038, 03:14:07 am or above 04:00:00 am. Confirm whether the date is changed.
Again send instant message to anyone. The problem starts now. Your Yahoo Messenger crashes. While trying these steps, close your applications/internet explorer. Chances are more that your explorer will get corrupted and you have to reinstall it. All network based applications will stop functioning.
After the Y2K, the latest problem perplexing computer geeks in city and elsewhere in the world is the year 2038 date trouble. Though the year 2038 is 33 years away, the problem is being felt now by banks and companies entering financial transactions or going in for lease agreements. Computer experts fear that year 2038 problem is real unlike the Y2K which turned out to be just a media hype.
What actually is the year 2038 problem? Computer geeks expert to see lots of systems around the world breaking, starting at GMT 03:14:07, Tuesday, January 19, 2038. Many of the dire predictions for the year 2000 are much more likely to actually occur in the year 2038! Consider the year 2000 just a dry run.
"In case you think we can sit on this issue for another three decades before
addressing it, consider that reports of temporal echoes of the 2038
problem are already starting to appear in future date calculations for mortgages and vital statistics," observes MH Noble, managing director of Zoom Technologies (India) Limited.
In the first month of the year 2038 many computers will encounter a date-related bug in their operating systems and/or in the applications they run. This can result in incorrect and wildly inaccurate dates being reported by the operating system and/or applications. The effect of this bug is hard to predict, because many applications are not prepared for the resulting "skip" in reported time anywhere from 1901 to a "broken record" repeat of the reported time at the second the bug occurs, Noble points out.
This bug will cause serious problems on many platforms, especially Unix and Unix-like platforms, because these systems will "run out of time".
What causes it? Time t is a data type used by C and C++ programs to
represent dates and times internally. Ttime t is actually just an integer (a whole number), that counts the number of seconds since January 1, 1970 at 12:00 am Greenwich Mean Time. A time t value of 0 would be 12:00:00 am (exactly midnight) 1-Jan-1970, a time t value of 1 would be 12:00:01 am (one second after midnight) 1-Jan-1970, etc. By the year 2038, the time t representation for the current time will be over 2 140 000 000.
And that's the problem. A modern 32-bit computer stores a "signed integer" data type, such as time t, in 32 bits. The first of these bits is used for
the positive/negative sign of the integer, while the remaining 31 bits
are used to store the number itself.
The highest number these 31 data bits can store works out to exactly 2147 483 647. A time t value of this exact number, 2 147 483 647, represents January 19,2038, at 7 seconds past 3:14 am GMT. So, at 3:14:07 am GMT on that fateful day, every time t used in a 32-bit C or C++ program will reach its upper limit. One second later, on 19-January-2038 at 3:14:08 am GMT, disaster strikes, explains Murali Krishna of Hutch.
When a signed integer reaches its maximum value and then gets incremented, it wraps around to its lowest possible negative value. This means a 32-bit signed integer, such as a time t, set to its maximum value of 2 147 483 647 and then incremented by 1, will become (minus) -2 147 483 648.
A time t value of (minus) - 147 483 648 would represent December 13, 1901 at 8:45:52 PM GMT. So, if all goes normally, 19-January-2038 will suddenly become 13-December-1901 in every time t across the globe, and every date calculation based on this figure will go haywire. And it gets worse. Most of the support functions that use the time t data type cannot handle negative time t values at all. They simply fail and return an error code.
However, there are computer optimists who feel that the problem could be solved and there's nothing to worry. Says senior mathematician B Moinuddin, "the problem is only a 32-bit problem. Any how 64 bit computers are going to be the norm in just a few years, let alone 34 years from now. We need not go into the panic mode. There is time to resolve this issue in a calm, cool and collected manner. Y2K was definitely blown way out of proportion. This too is going to be that way".

No comments:

Word Of The Day - Improve Your Knowledge

Word of the Day

Article of the Day

This Day in History

Today's Birthday

In the News

Quote of the Day

Spelling Bee
difficulty level:
score: -
please wait...
spell the word:

Match Up
Match each word in the left column with its synonym on the right. When finished, click Answer to see the results. Good luck!



This Day In History

Mother's Care

Mother's Care
Minnu The Cat & Her Kittens Brownie, Goldie & Blackie

Someone with Nature

Someone with Nature
Syed Akbar in an island in river Godavari with Papikonda hills in the background

Recognition by World Vegetable Centre

Recognition by World Vegetable Centre

Under the shade of Baobab tree

Under the shade of Baobab tree
At Agha Khan Akademi in Kenya

Gateway to the Southern Hemisphere

Gateway to the Southern Hemisphere

Convention on Biodiversity

Convention on Biodiversity
Syed Akbar at the 11th Conference of Parties to the United Nations Convention on Biological Diversity