Year 2038 problem

An animated visual of the bug in action. The overflow error will occur at 03:14:08 UTC on 19 January 2038.

The year 2038 problem (also known as Y2038,[1] Y2K38, Y2K38 superbug or the Epochalypse[2][3]) is a time computing problem that leaves some computer systems unable to represent times after 03:14:07 UTC on 19 January 2038.

The problem exists in systems which measure Unix time—the number of seconds elapsed since the Unix epoch (00:00:00 UTC on 1 January 1970)—and store it in a signed 32-bit integer. The data type is only capable of representing integers between −(231) and 231 − 1, meaning the latest time that can be properly encoded is 231 − 1 seconds after epoch (03:14:07 UTC on 19 January 2038). Attempting to increment to the following second (03:14:08) will cause the integer to overflow, setting its value to −(231) which systems will interpret as 231 seconds before epoch (20:45:52 UTC on 13 December 1901). The problem is similar in nature to the year 2000 problem. Analogous storage constraints for unsigned 32-bit integers will be reached in 2106.

Computer systems that use time for critical computations may encounter fatal errors if the year 2038 problem is not addressed. Some applications that use future dates have already encountered the bug.[4][5] The most vulnerable systems are those which are infrequently or never updated, such as legacy and embedded systems. To address the problem, many modern systems have been upgraded to measure Unix time with signed 64-bit integers instead, which will take 292 billion years to overflow—approximately 21 times the estimated age of the universe.

  1. ^ Cite error: The named reference :0 was invoked but never defined (see the help page).
  2. ^ Bergmann, Arnd (6 February 2020). "The end of an Era". Linaro.
  3. ^ Wagenseil, Paul (28 July 2017). "Digital 'Epochalypse' Could Bring World to Grinding Halt". Tom's Guide.
  4. ^ Cite error: The named reference :1 was invoked but never defined (see the help page).
  5. ^ Cite error: The named reference :2 was invoked but never defined (see the help page).

© MMXXIII Rich X Search. We shall prevail. All rights reserved. Rich X Search