In automotive systems, this may include anti-lock braking system (ABS), electronic stability control (ESC/ESP), traction control (TCS) and automatic four-wheel drive aircraft may use inertial guidance systems and GPS receivers. Many transportation systems from flight to automobiles use embedded systems extensively. Players of games or apps which are programmed to impose waiting periods are running into this problem when the players try to bypass the waiting period by setting the date on their devices to a date past 19 January 2038, but are unable to do so, since a 32-bit Unix time format is being used.Įmbedded systems that use dates for either computation or diagnostic logging are most likely to be affected by the 2038 problem. When the problem was discovered, AOLServer operators had to edit the configuration file and set the time-out to a lower value.
#4 absolute units of the apocalypse software#
Thus, after this time, the time-out calculation overflowed and returned a date that was actually in the past, causing the software to crash. One billion seconds (approximately 32 years) after 01:27:28 UTC on is beyond the 2038 cutoff date. The default configuration for the server specified that the request should time out after one billion seconds. Rather than specifically handling this special case, the initial design simply specified an arbitrary time-out date in the future. The software was designed with a kludge to handle a database request that should "never" time out.
In May 2006, reports surfaced of an early manifestation of the Y2038 problem in the AOLserver software. Resulting erroneous calculations on such systems are likely to cause problems for users and other reliant parties. This reports a maximally negative number, and continues to count up, towards zero, and then up through the positive integers again. This is caused by integer overflow, during which the counter runs out of usable binary digits or bits, and flips the sign bit instead.
Programs that attempt to increment the time beyond this date will cause the value to be stored internally as a negative number, which these systems will interpret as having occurred at 20:45:52 on Friday, 13 December 1901 (2,147,483,648 seconds before 1 January 1970) rather than 19 January 2038. The latest time since 1 January 1970 that can be stored using a signed 32-bit integer is 03:14:07 on Tuesday, 19 January 2038 (2 31−1 = 2,147,483,647 seconds after 1 January 1970).