The Y2k38 bug was detected a few months ago, but there was no actual testing done to prove that this will affect our current computers. Now this bug can actually start to cause some damage. To test this we can try using any chatting client either AOL Messenger , MSN Messenger, Yahoo Messenger, Trillian, or Gaim will do. As for my testing this bug affected all of these applications (windows). To test these for yourself do the following: First double click on the time in the bottom right-hand corner. Change the date to something after January 19, 2038 (2039 is fine!). Now start up any of the chatting clients mentioned above. Try sending a message to someone else (or to yourself if it supports it). As soon as you do this, the entire program should crash within a few seconds and will display some sort of error message. It will then bring up a message asking to send an error report or debug. From the actual technical problem, apparently as soon as the year 2038 strikes, all certain computers will immediately get confused and switch the date to December 13, 1901 from January 2038
WHAT HAPPENS IN YEAR 2038?
Most programs written in the C programming language are relatively immune to the Y2K problem, but suffer instead from the Year 2038 problem. This problem arises because most C programs use a library of routines called the standard time library (time.h). This library establishes a standard 4-byte format for the storage of time values, and also provides a number of functions for converting, displaying and calculating time values.
The standard 4-byte format assumes that the beginning of time is January 1, 1970, at 12:00:00 a.m. This value is 0. Any time/date value is expressed as the number of seconds following that zero value. So the value 919642718 is 919,642,718 seconds past 12:00:00 a.m. on January 1, 1970, which is Sunday, February 21, 1999, at 16:18:38 Pacific time (U.S.). This is a convenient format because if you subtract any two values, what you get is a number of seconds that is the time difference between them. Then you can use other functions in the library to determine how many minutes/hours/days/months/years have passed between the two times.
The maximum value of time before it rolls over to a negative (and invalid) value is 2,147,483,647, which translates into January 19, 2038. On this date, any C programs that use the standard time library will start to have problems with date calculations.
This problem is somewhat easier to fix than the Y2K problem on mainframes, fortunately. Well-written programs can simply be recompiled with a new version of the library that uses, for example, 8-byte values for the storage format. This is possible because the library encapsulates the whole time activity with its own time types and functions (unlike most mainframe programs, which did not standardize their date formats or calculations). So the Year 2038 problem should not be nearly as hard to fix as the Y2K problem was.
The cause of the Y2K problem is pretty simple. Until recently, computer programmers have been in the habit of using two digit placeholders for the year portion of the date in their software.
You do not have the required permissions to download the files attached to this post. You must LOGIN or REGISTER to download these files.