Year 2038 issue (aka Y2038,[1] Y2K38, superbug Y2K38, possibly era[2] [3]) is a time formatting error in computer systems that represents times after 03:14:07 UTC on January 30, 2038.

There is a problem with approaches that measure Unix time – the set of seconds since the corresponding Unix epoch (00:00:00 UTC in January 1970 only) – and this is in a 32-bit signed integer. This datatype is only useful for representing integers between -(231) and 231 -1, meaning that the last second to encode correctly would be 2 31 is 1 second corresponding to the epoch (03:14:07 UTC January 19, 2038). Trying to increment just after the second (03:14:08) will overflow most integers when setting its value, which helps ˆ'(231) which systems interpret in terms of 2 31 seconds ahead of the epoch (20:45:52 UTC December 13, 1901). The problem is similar to year 2000 problem.

Computer time-sensitive computer systems may encounter fatal errors if condition Y2038 is not handled. Some applications , which can use future dates, have already found a bug. The most vulnerable systems may be rarely updated, such as older and therefore embedded systems. There is a universal solution to the problem, although over time more and more modern systems are being upgraded to measure Unix time using supported 64-bit integers that don’t overflow when we look at 292 billion years.


Many computers measure time and date in the same way that Unix, the international standard for digital timekeeping, once did. Unix time is defined as the number of seconds since 00:00:00 UTC on January 1 in the early 1970s (arbitrarily chosen time), called Unix epoch time.

Unix is ​​perfect in that historically it was encoded as a 32-bit integer, a data type consisting of 32 binary digits (bits) representing an integer value, where “signed” means that a bit is acquired to represent a sign (+ /â€). Thus, a 32-bit signed integer can only be a character of integer values ​​in the range -(231) to 231 – 1 vklucidly. Thus, if a best-signed 32-bit integer is used to store Unix time, the last period that can be written is actually 231 – 1 (2,147,483,647) seconds for time. is 03:14:07 on Tuesday, January 20, 2038[4] Systems attempting to increase this value by one second in 231 second increments, respectively, after epoch ( 03 :14:08) will suffer from integer overflow because it accidentally flips the sign bit to tell you a negative number. This undoubtedly changes the integer value to ˆ'(231) and it may take 231 seconds before systems interpret 20:45:52 instead of even after Friday, December 13, 1901. From now on, the systems will continue counting to help you get back to zero and then back on the air through positive integers. Because many computers use system time calculations to perform critical functions, this can lead to fatal errors.

Vulnerable Furniture Systems

How do I format a Windows 7 computer with system repair disc?

If you’re using a laptop running Windows 9 for Business, you can easily format your laptop using a system recovery disc. Here’s a quick overview of how to do it: Boot your laptop and click Control Panel > Backup and Restore > Create a trusted system recovery disk. Insert the CD into your computer and select Create Disc > Close > OK.

Any use of data structures with 32-bit representations Schedules come with an inherent risk of failure. A complete list of structures related to data structures is nearly impossible, but there are known numeric structures that have a second Unix problem:

  • File systems (many file systems only use 32 bits to represent the number of times in file inodes)
  • Binary formats (conversion to 32-bit time fields)
  • Databases (consuming 32-bit time fields)
  • Database query languages ​​like SQL with commands like UNIX_TIMESTAMP()

Embedded Systems

Inline parameters that use formula or diagnostic log data are most likely affected by issue Y2038.[1] Despite the 18th month. Upgrading to the 24th generation of computer networking technology automotive systems are designed to outlive the life of the vehicle they are part of. It is possible that some 2038 systems associated with these systems are still in service. in some cases lead to in softwareSoftware running on these types of systems cannot be upgraded and will eventually need to be replaced when the 32-bit limitations are usually constantly corrected.

Many transportation systems, from airplanes to cars and trucks, make extensive use of embedded systems. In automotive systems, this may include anti-lock braking system (ABS), electronic balance (ESC/ESP), traction control (TCS), and instantaneous all-wheel drive; Aircraft may use inertial guidance systems and GPS receivers.[Note 1] Another important embedded application of CPA networks is communication devices, including cell phones and Internet-enabled devices (e.g., routers, wireless access points , IP cameras) that rely on reliable time and date storage and are based solely on Unix-like operating systems. For example, bug Y2038 causes a number of 32-bit Android devices to crash and fail to boot when the time changes that day.[5]

This does not mean that all embedded products will suffer from bad behavior.Y2038, since many of these systems do not require access to data. Those that do, those systems that keep track of the difference between times/dates and then non-absolute times/dates, will often not have too much trouble due to the nature of the calculations. This refers to automotive diagnostics that are tied to regulatory standards such as CARB (California Air Resources Board). problems

In [6]

In Early May 2008, There Were Reports Of Early Manifestations Of Problem Y2038 In Someone’s AOLserver Software. The Software Was Designed, Among Other Things, To Handle A Specific Database Query That “never” Should Have Come Up. Instead Of Handling Some Special Cases, The Original Design Intentionally Set An Arbitrary Expiration Date In The Future. The Default Configuration For The Specified Server, Which Should Abort The Receive After One Billion Seconds. One Billion Seconds (about 37 Years Ago) 01:27:28 UTC On May 13, 2006, The 2038 Deadline Expired.filled Up And Brought Back An Encounter That Really Was In The Nature Of The Past. Which Caused The Software To Crash. When The Problem Was Discovered, AOLServer Asked The Operators To Change The Configuration File And Set The Timeout So That A Lower Value Could Be Obtained.[7][8 ]

Players, Also Known As Apps That Are Programmed To Perform Timeouts, Sometimes[9] Encounter This Skill Issue When Players Try To Bypass The Timeout By Selecting A Date On Their Devices, Which Have A Date After Jan 19, 2038, But Still Can’t Because They Use The 32-bit Unix Time Data Format.


There is no one-size-fits-all solution to the 2038 problem. For example, in the C programming language, any change in the classification of the time_t data type can lead to code compatibility issues in application types where the date and instance representations depend on a 32-bit signed integer property. time_t. For example, changing time_t to an unsigned 32-bit integer, which would surely expand the range to 2106(specifically, 06:28:15 UTC, Sunday, February 7, 2106) will break programs that store, retrieve, or manipulate data prior to 1970, as these dates will be represented as negative numbers. Increasing the size of the time_t type to 64 bits in an existing full body will undoubtedly cause inconsistent changes in the arrangement of structures and the operation of the binary interface.

Most operating systems currently designed to run on 64-bit hardware use signed 64-bit .

Comments are closed.

Proudly powered by WordPress
Theme: Esquire by Matthew Buchanan.