Jump to content
The World News Media

Year 2038 problem


Guest

Recommended Posts

  • Guest

The Year 2038 problem is an issue for computing and data storage situations in which time values are stored or calculated as a signed 32-bit integer, and this number is interpreted as the number of seconds since 00:00:00 UTC on 1 January 1970 (the epoch).[1] Such implementations cannot encode times after 03:14:07 UTC on 19 January 2038, a problem similar to but not entirely analogous to the Y2K problem (also known as the Millennium Bug), in which 2-digit values representing the number of years since 1900 could not encode the year 2000 or later. Most 32-bit Unix-like systems store and manipulate time in this Unix time format, so the year 2038 problem is sometimes referred to as the Unix Millennium Bug by association.

Year_2038_problem.gif

Animation showing how the date would reset, represented as a signed 32-bit integer (at 03:14:08 UTC on 19 January 2038).
Technical cause
The latest time that can be represented in Unix's signed 32-bit integer time format is 03:14:07 UTC on Tuesday, 19 January 2038 (231-1 = 2,147,483,647 seconds after 1 January 1970).[2] Times beyond that will wrap around and be stored internally as a negative number, which these systems will interpret as having occurred on 13 December 1901 rather than 19 January 2038. This is caused by integer overflow. The counter runs out of usable digit bits, flips the sign bit instead, and reports a maximally negative number (continuing to count up, toward zero). Resulting erroneous calculations on such systems are likely to cause problems for users and other relying parties.
Programs that work with future dates will begin to run into problems sooner; for example a program that works with dates 20 years in the future will have to be fixed no later than 2018.
Early problems
In May 2006, reports surfaced of an early manifestation of the Y2038 problem in the AOLserver software. The software was designed with a kludge to handle a database request that should "never" time out. Rather than specifically handling this special case, the initial design simply specified an arbitrary time-out date in the future. The default configuration for the server specified that the request should time out after one billion seconds. One billion seconds (approximately thirty-two years) after 9:27.28 pm on 12 May 2006 is beyond the 2038 cutoff date. Thus, after this time, the time-out calculation overflowed and returned a date that was actually in the past, causing the software to crash. When the problem was discovered, AOLServer operators had to edit the configuration file and set the time-out to a lower value.[3][4]
Players of games or apps which are programmed to impose waiting periods[5] are running into this problem when they attempt to work around the waiting period on devices which harbor the coding, by manually setting their devices (such as the Nexus 7[6]) to a date past 19 January 2038, but are unable to do so, since a 32-bit Unix time format is being used.
Vulnerable systems
Embedded systems that use dates for either computation or diagnostic logging are most likely to be affected by the 2038 bug.
Many transportation systems from flight to automobiles use embedded systems extensively. 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. However this does not imply that all these systems will suffer from the bug. Many such systems will not require access to dates. For those that do, those systems which only track the difference between times/dates and not absolute times/dates will, by the nature of the calculation, not experience a problem. This is the case for automotive diagnostics based on legislative standards such as CARB (California Air Resources Board).[7]
Another major use of embedded systems is in communications devices, including cell phones and Internet appliances (routers, wireless access points, etc.) which rely on storing an accurate time and date and are increasingly based on UNIX-like operating systems. For example, the bug makes some Android devices crash and not restart when the time is changed to that date.[8]
Despite the modern 18–24 month generational update in computer systems technology, embedded systems are designed to last the lifetime of the machine in which they are a component. It is conceivable that some of these systems may still be in use in 2038. It may be impractical or, in some cases, impossible to upgrade the software running these systems, ultimately requiring replacement if 32-bit time_t limitations are to be corrected.
MySQL database's built-in functions like UNIX_TIMESTAMP() will return 0 after 03:14:07 UTC on 19 January 2038,[9] though a bug-fix was contributed on 22 March 2017.[10]
Data structures with time problems
Many data structures in use today have 32-bit time representations embedded into their structure. A full list of these data structures is virtually impossible to derive but there are well-known data structures that have the Unix time problem:
file systems (many file systems use only 32 bits to represent times in inodes)
binary file formats (that use 32-bit time fields)
databases (that have 32-bit time fields)
database query languages, like SQL that have UNIX_TIMESTAMP() like commands
Examples of systems utilizing data structures that may contain 32-bit time representations include:
COBOL systems of 1970s–1990s vintage that have not been replaced by 2038-compliant systems[citation needed]
embedded factory, refinery control and monitoring subsystems
assorted medical devices
assorted military devices
Any system making use of data structures containing 32-bit time representations will present risk. The degree of risk is dependent on the mode of failure.
NTP timestamps
The Network Time Protocol has a related overflow issue, which manifests itself in 2036, rather than 2038. The 64-bit timestamps used by NTP consist of a 32-bit part for seconds and a 32-bit part for fractional second, giving NTP a time scale that rolls over every 232 seconds (136 years) and a theoretical resolution of 21321 seconds (233 picoseconds). NTP uses an epoch of 1 January 1900. The first rollover occurs in 2036, prior to the UNIX year 2038 problem.
Implementations should disambiguate NTP time using a knowledge of the approximate time from other sources. Since NTP only works with the differences between timestamps and never their absolute values, the wraparound is invisible as long as the timestamps are within 68 years of each other.
This means that for NTP the rollover will be invisible for most running systems, since they will have the correct time to within a very small tolerance. However, systems that are starting up need to know the date within no more than 68 years. Given the large allowed error, it is not expected that this is too onerous a requirement. One suggested method is to set the clock to no earlier than the system build date or the release date of the current version of the NTP software. Many systems use a battery-powered hardware clock to avoid this problem.
Even so, future versions of NTP may extend the time representation to 128 bits: 64 bits for the second and 64 bits for the fractional-second. The current NTP4 format has support for Era Number and Era Offset, that when used properly should aid fixing date rollover issues. According to Mills, "The 64 bit value for the fraction is enough to resolve the amount of time it takes a photon to pass an electron at the speed of light. The 64 bit second value is enough to provide unambiguous time representation until the universe goes dim."[11][note 1]
Solutions
There is no universal solution for the Year 2038 problem. Any change to the definition of the time_t data type would result in code compatibility problems in any application in which date and time representations are dependent on the nature of the signed 32-bit time_t integer. For example, changing time_t to an unsigned 32-bit integer, which would extend the range to the year 2106, would adversely affect programs that store, retrieve, or manipulate dates prior to 1970, as such dates are represented by negative numbers. Increasing the size of the time_t type to 64-bit in an existing system would cause incompatible changes to the layout of structures and the binary interface of functions.
There is also no universal solution for the issue with DVB and ATSC real time transmitted dates due to issues with legacy receivers. The issue has yet to be acknowledged or resolved by either organization. The only workaround would be to discontinue all time-related metadata services such as programming guides and automatic date synchronization after the affected dates. One possible option would be to create new table types for the affected part of the specifications and use ISO 8601 date strings rather than fixed integers—as are used in ISO 9660 and ISO 13346 filesystems.
Most operating systems designed to run on 64-bit hardware already use signed 64-bit time_t integers. Using a signed 64-bit value introduces a new wraparound date that is over twenty times greater than the estimated age of the universe: approximately 292 billion years from now, at 15:30:08 UTC on Sunday, 4 December 292,277,026,596. The ability to make computations on dates is limited by the fact that tm_year uses a signed 32 bit integer value starting at 1900 for the year. This limits the year to a maximum of 2,147,485,547 (2,147,483,647 + 1900).[12]
Starting with NetBSD version 6.0 (released in October 2012), the NetBSD operating system uses a 64-bit time_t for both 32-bit and 64-bit architectures. Applications that were compiled for an older NetBSD release with 32-bit time_t are supported via a binary compatibility layer, but such older applications will still suffer from the Year 2038 problem.[13]
OpenBSD since version 5.5, released in May 2014, also uses a 64-bit time_t for both 32-bit and 64-bit architectures. In contrast to NetBSD, there is no binary compatibility layer. Therefore, applications expecting a 32-bit time_t and applications using anything different from time_t to store time values may break.[14]
Linux uses a 64-bit time_t for 64-bit architectures only; the pure 32-bit ABI is not changed due to backward compatibility.[15] There is ongoing work, mostly for embedded Linux systems, to support 64-bit time_t on 32-bit architectures, too.[16][17]
The x32 ABI for Linux (which defines an environment for programs with 32-bit addresses but running the processor in 64-bit mode) uses a 64-bit time_t. Since it was a new environment, there was no need for special compatibility precautions.[15]
Network File System version 4 has defined its time fields as struct nfstime4 {int64_t seconds; uint32_t nseconds;} since December, 2000.[18] Values greater than zero for the seconds field denote dates after the 0-hour, January 1, 1970. Values less than zero for the seconds field denote dates before the 0-hour, January 1, 1970. In both cases, the nseconds (nanoseconds) field is to be added to the seconds field for the final time representation.
Alternative proposals have been made (some of which are in use), such as storing either milliseconds or microseconds since an epoch (typically either 1 January 1970 or 1 January 2000) in a signed 64-bit integer, providing a minimum range of 300,000 years.[19][20] Other proposals for new time representations provide different precisions, ranges, and sizes (almost always wider than 32 bits), as well as solving other related problems, such as the handling of leap seconds. In particular, TAI64[21] is an implementation of the Temps Atomique International standard, the current international real-time standard for defining a second and frame of reference.

Link to comment
Share on other sites


  • Views 2.7k
  • Replies 4
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

If none of those systems work ... we lose services ... BUT THEY LOSE A LOT OF MONEY BY NOT BEING ABLE TO SELL THOSE SERVICES. I strongly suspect they do not want their income stream truncated ...

What problem?

Posted Images

  • Guest
Guest J.R. Ewing

The Y2038K and the Y10K problem is still in the works. Unfortunately, tech giants have little interest in solving problems they created. They much rather wait until the last minute to force consumers to shell out billions of dollars to correct their mistake, such as, was the case with the Y2K problem. A 10-cent patch (fix) that generated a 300-billion-dollar cost for just America.

Yet, the problem with the Y2038K is much deeper than just adding digits. For that, they will need to rethink the ISO standards. Unix is the oldest operating system that is linked to the Y2038K problem. In my book, they will have to redesign an entirely new OS that will change the old standards, not just recode a workaround. For now, they think the 64bit is the best option. That’s why the industry is having everyone upgrade from 32bit to 64bit. Personally, I don’t think the 64bit or the 128bit will work.

So, in 21 years from now, if you are around and wake up with no electricity, natural gas, or water in your dwelling, if you go to an ATM and can’t get money out, if you go to the supermarket to purchase food, and they won’t accept anything but cash, etc., they didn’t fix the problem. The majority of these systems run under POSIX subsystem.

Link to comment
Share on other sites

  • 6 months later...
  • Member

If none of those systems work ... we lose services ... BUT THEY LOSE A LOT OF MONEY BY NOT BEING ABLE TO SELL THOSE SERVICES.

I strongly suspect they do not want their income stream truncated ... and in the next ten years will completely fix the problem.

Of course, this was before the Snowflakes took over, but the United States fought and won a Global World War on two fronts on opposite sides of the planet .......... in less than ten years.

Link to comment
Share on other sites

  • 1 year later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...




  • Recently Browsing

    • No registered users viewing this page.
  • Popular Contributors

  • Topics

  • Posts

    • It appears to me that this is a key aspect of the 2030 initiative ideology. While the Rothschilds were indeed influential individuals who were able to sway governments, much like present-day billionaires, the true impetus for change stems from the omnipotent forces (Satan) shaping our world. In this case, there is a false God of this world. However, what drives action within a political framework? Power! What is unfolding before our eyes in today's world? The relentless struggle for power. The overwhelming tide of people rising. We cannot underestimate the direct and sinister influence of Satan in all of this. However, it is up to individuals to decide how they choose to worship God. Satanism, as a form of religion, cannot be regarded as a true religion. Consequently, just as ancient practices of child sacrifice had a place in God's world, such sacrifices would never be accepted by the True God of our universe. Despite the promising 2030 initiative for those involved, it is unfortunately disintegrating due to the actions of certain individuals in positions of authority. A recent incident serves as a glaring example, involving a conflict between peaceful Muslims and a Jewish representative that unfolded just this week. https://www.theguardian.com/world/2024/mar/11/us-delegation-saudi-arabia-kippah?ref=upstract.com Saudi Arabia was among the countries that agreed to the initiative signed by approximately 179 nations in or around 1994. However, this initiative is now being undermined by the devil himself, who is sowing discord among the delegates due to the ongoing Jewish-Hamas (Palestine) conflict. Fostering antisemitism. What kind of sacrifice does Satan accept with the death of babies and children in places like Gaza, Ukraine, and other conflicts around the world, whether in the past or present, that God wouldn't? Whatever personal experiences we may have had with well-known individuals, true Christians understand that current events were foretold long ago, and nothing can prevent them from unfolding. What we are witnessing is the result of Satan's wrath upon humanity, as was predicted. A true religion will not involve itself in the politics of this world, as it is aware of the many detrimental factors associated with such engagement. It understands the true intentions of Satan for this world and wisely chooses to stay unaffected by them.
    • This idea that Satan can put Jews in power implies that God doesn't want Jews in power. But that would also imply that God only wants "Christians" including Hitler, Biden, Pol Pot, Chiang Kai-Shek, etc. 
    • @Mic Drop, I don't buy it. I watched the movie. It has all the hallmarks of the anti-semitic tropes that began to rise precipitously on social media during the last few years - pre-current-Gaza-war. And it has similarities to the same anti-semitic tropes that began to rise in Europe in the 900's to 1100's. It was back in the 500s AD/CE that many Khazars failed to take or keep land they fought for around what's now Ukraine and southern Russia. Khazars with a view to regaining power were still being driven out into the 900's. And therefore they migrated to what's now called Eastern Europe. It's also true that many of their groups converted to Judaism after settling in Eastern Europe. It's possibly also true that they could be hired as mercenaries even after their own designs on empire had dwindled.  But I think the film takes advantage of the fact that so few historical records have ever been considered reliable by the West when it comes to these regions. So it's easy to fill the vacuum with some very old antisemitic claims, fables, rumors, etc..  The mention of Eisenhower in the movie was kind of a giveaway, too. It's like, Oh NO! The United States had a Jew in power once. How on earth could THAT have happened? Could it be . . . SATAN??" Trying to tie a connection back to Babylonian Child Sacrifice Black Magick, Secret Satanism, and Baal worship has long been a trope for those who need to think that no Jews like the Rothschilds and Eisenhowers (????) etc would not have been able to get into power in otherwise "Christian" nations without help from Satan.    Does child sacrifice actually work to gain power?? Does drinking blood? Does pedophilia??? (also mentioned in the movie) Yes, it's an evil world and many people have evil ideologies based on greed and lust and ego. But how exactly does child sacrifice or pedophilia or drinking blood produce a more powerful nation or cabal of some kind? To me that's a giveaway that the authors know that the appeal will be to people who don't really care about actual historical evidence. Also, the author(s) of the video proved that they have not done much homework, but are just trying to fill that supposed knowledge gap by grasping at old paranoid and prejudicial premises. (BTW, my mother and grandmother, in 1941 and 1942, sat next to Dwight Eisenhower's mother at an assembly of Jehovah's Witnesses. The Eisenhower family had been involved in a couple of "Christian" religions and a couple of them associated with IBSA and JWs for many years.)
  • Members

    • SuzA

      SuzA 25

      Member
      Joined:
      Last active:
  • Recent Status Updates

  • Forum Statistics

    • Total Topics
      65.4k
    • Total Posts
      158.6k
  • Member Statistics

    • Total Members
      17,648
    • Most Online
      1,592

    Newest Member
    Miracle Pete
    Joined
×
×
  • Create New...

Important Information

Terms of Service Confirmation Terms of Use Privacy Policy Guidelines We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.