WiiLoaded.com - Wii Forum and News

Full Version: Y2K is Back... in 2038
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

Example showing how the date would reset (at 03:14:08 UTC on 19 January 2038).
The year 2038 problem (also known as "Unix Millennium bug", "Y2K38," "Y2K+38," or "Y2.038K" by analogy to the Y2K problem) may cause some computer software to fail before or in the year 2038. The problem affects Unix-like operating systems, which represents system time as the number of seconds (ignoring leap seconds) since January 1, 1970. This representation also affects software written for most other operating systems because of the broad deployment of C. On most 32-bit systems, the time_t data type used to store this second count is a signed 32-bit integer. The latest time that can be represented in this format, following the POSIX standard, is 03:14:07 UTC on Tuesday, January 19, 2038. Times beyond this moment will "wrap around" and be represented internally as a negative number, and cause programs to fail, since they will see these times not as being in 2038 but rather in 1901. Erroneous calculations and decisions may therefore result.

Known Problems
In May 2006, reports surfaced of an early Y2038 problem in the AOLserver software. The software would specify that a database request should "never" time out by specifying a timeout date one billion seconds in the future. One billion seconds (just over 31 years 251 days and 12 hours) after 21:27:28 on 12 May 2006 is beyond the 2038 cutoff date, so after this date, the timeout calculation overflowed and calculated a timeout date that was actually in the past, causing the software to crash.

Solutions

There is no easy fix for this problem for existing CPU/OS combinations. Changing the definition of time_t to use a 64-bit type would break binary compatibility for software, data storage, and generally anything dealing with the binary representation of time. Changing time_t to an unsigned 32-bit integer, effectively allowing timestamps to be accurate until the year 2106, would affect many programs that deal with time differences.

Most operating systems for 64-bit architectures already use 64-bit integers in their time_t. The move to these architectures is already underway and many expect it to be complete before 2038. Using a (signed) 64-bit value introduces a new wraparound date in about 290 billion years. However, as of 2007, hundreds of millions of 32-bit systems are deployed, many in embedded systems, and it is far from certain they will all be replaced by 2038. Despite the modern 18- to 24-month generational update in computer systems technology, embedded computers may operate unchanged for the life of the system they control. The use of 32-bit time_t has also been encoded into some file formats, which means it can live on for a long time beyond the life of the machines involved.

A variety of alternative proposals have been made, some of which are in use, including storing either milliseconds or microseconds since an epoch (typically either January 1, 1970 or January 1, 2000) in a signed-64 bit integer, providing a minimum of 300,000 years range. 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.


Source (via Wikipedia)

I can already see Fox News now -_-

"America in fear as Y2K38 prepares to destroy the world. Millions of southerners have already built underground shelters for protection. Some blame the 32-bit programmers from the 1960s, some blame the middle-east, personally we believe at Fox that you should tread carefully around your computer at 3am! Now over to Jenny with more on those mutated killer bees from Mexico".
Lol interesting find, didn't notice it till now though. We had a little mishap at work on the new year where a script deleted probably about 75% of the LAN accounts in the company. All due to someone entering 08 instead of 2008 in one of the maintanance scripts.
Wow, really? Computers can calculate 4 Billion equations at once, can play music, display video, and even help us with our problems, but they are yet to understand the seemingly simple (yet scientifically baffling) concept of 'time'.
I like how the year is the same year hellgate london is set?_?

Linux...it'll bring demons to earth. Lets kick the penguins ass while we still can.

Cpt.McCloud Wrote:
Linux...it'll bring demons to earth. Lets kick the penguins ass while we still can.


Is Linux still 32-bit, or are there 64-bit kernels?

TheCosmicFrog Wrote:

Cpt.McCloud Wrote:
Linux...it'll bring demons to earth. Lets kick the penguins ass while we still can.


Is Linux still 32-bit, or are there 64-bit kernels?


The Demonic Penguin CAN Evolve.

Cpt.McCloud Wrote:

TheCosmicFrog Wrote:

Cpt.McCloud Wrote:
Linux...it'll bring demons to earth. Lets kick the penguins ass while we still can.


Is Linux still 32-bit, or are there 64-bit kernels?


The Demonic Penguin CAN Evolve.


So yes, there are 64-bit kernels. Linux is used alot more than you may think too. Alot of servers no one ever see's use linux, its just not as popular as windows for front-end, end-user consumption.

bluebaron034 Wrote:

Cpt.McCloud Wrote:

TheCosmicFrog Wrote:

Cpt.McCloud Wrote:
Linux...it'll bring demons to earth. Lets kick the penguins ass while we still can.


Is Linux still 32-bit, or are there 64-bit kernels?


The Demonic Penguin CAN Evolve.


So yes, there are 64-bit kernels. Linux is used alot more than you may think too. Alot of servers no one ever see's use linux, its just not as popular as windows for front-end, end-user consumption.


Interfaces own umbro.

Leaders are Nike (windows) and Addidas (Mac) while a third is in the background doing very well (umbro)

ewwww sports brands
Thats true, but then you get your diehards who run nothing but linux, which i think is impractical at this time since you can't run everything linux......

......basically my games don't run on linux Toungue
Honestly, I think they can fix it in the next 30 years.
Of course they will. With 96 and 128-bit programming.

bluebaron034 Wrote:
Lol interesting find, didn't notice it till now though. We had a little mishap at work on the new year where a script deleted probably about 75% of the LAN accounts in the company. All due to someone entering 08 instead of 2008 in one of the maintanance scripts.


I figured it out a while back, so I now code my dates as 64-bit integers :3

TheCosmicFrog Wrote:

Cpt.McCloud Wrote:
Linux...it'll bring demons to earth. Lets kick the penguins ass while we still can.


Is Linux still 32-bit, or are there 64-bit kernels?


Linux has had 64-bit kernels since before the IA-64 days.

dose this effect windows?sry for the n00b questionToungue

naruto_fan Wrote:
dose this effect windows?sry for the n00b questionToungue


It will effect windows if you are on a network that runs with linux or novell login servers. For just sitting at home, it shouldn't effect your ability to turn your pc on. The thing is that alot of companies (including ISP's) use some form of linux based products in their company. I know the company I work for uses Novell extensively.

D4rk Wrote:
Linux has had 64-bit kernels since before the IA-64 days.


Yep, ULTRASPARC64 and ALPHA, Linux has been 64 bit since 1995.

For those wondering why PCs can't "understand" the concept of time. I'll put it best this way. There are different data types, singles, doubles, longs, etc... each has a different number of bytes. Everything is stored in bytes, and time is no different. A specific number of logic gates are allocated to each, and that processing power is used. We hit a limit in some respects with the 32-bit registers, while 64-bit will likely last until well after everyone's lifetime.

@bluebaron
Actually, I think 32-bit Windows is the one OS that's not effected, as this only effects UNIX systems.

sc7 Wrote:
There are different data types, singles, doubles, longs, etc... each has a different number of bytes.


Chapter 2, page 33, C++ For Dummies

I usually sign my GIMP pictures as Floating-Point digits. I guess it's just a twitchy thing I do.

TheCosmicFrog Wrote:

sc7 Wrote:
There are different data types, singles, doubles, longs, etc... each has a different number of bytes.


Chapter 2, page 33, C++ For Dummies

I usually sign my GIMP pictures as Floating-Point digits. I guess it's just a twitchy thing I do.


And there is one of the most complex problems in programming. Knowing which type to declare. Believe me, it adds up when you reference a datatype when it's unnecessarily larger than it is, but you HAVE to account for anything the user may put in that the application accepts, or you must use compound conditioning for error checking.

sc7 Wrote:
@bluebaron
Actually, I think 32-bit Windows is the one OS that's not effected, as this only effects UNIX systems.


Ya it shouldn't effect that at all. So it won't effect him at all. Although could cause a ruckus at work since all the authentication servers run off of Novell.

the world is ending in 2012 anyways, so nobody should worry about this
Pages: 1 2
Reference URL's