Slashdot Mirror


Y2K38 Watch Starts Saturday

Jon Masters writes "I just wanted to remind everyone that Saturday, January 19th 2008 will mark the beginning of the 30-year countdown to the Y2K38 bug, when Unix time will overflow 32 bits. Some 30-year loan calculation software might start having problems with this over the weekend."

19 of 542 comments (clear)

  1. And other things.. by suso · · Score: 1, Interesting

    I think Boeing or some aircraft company was one of the first company to run into Y2K problems because of how they plan their building schedule or something. So they might encounter Y2K38 problems.

    I always found it interesting that 1 billion seconds happened 2 days before 9/11. It never seemed to be mentioned much. I'm not trying to make conspiracy theories, but its probably one few times that an apocalyptic-like event happened so close to a man made time scale.

    1. Re:And other things.. by pak9rabid · · Score: 2, Interesting

      Yeah, kind of like how Christ was born so close to the changeover from BC to AD. Heh, or how Christmas just 'happens' to be so close to the winter solstice ?
    2. Re:And other things.. by Anonymous Coward · · Score: 2, Interesting

      I think it's race. Brown people are more scary. Nobody's scared of right wing wackos, like Timothy McVeigh, because they are white, right?

    3. Re:And other things.. by Anonymous Coward · · Score: 1, Interesting

      I remember the IRA bombs, they affected me as a child. But rather than implementing such ID schemes, there were daily bulletins on tips and ideas on how to be more vigilant. Check your car for bombs, report suspicious activity, tips which are more likely to prevent terror attacks than today multi million pound/dollar government initiatives.

      I think there was more of a threat back then to my personal safety than there is now, but i agree the government is all about post 9/11... There was as many terror attacks 20 years ago as now, just now the media jumps on it more implying that we are approaching judgment day or something.

      But this is a digression, in 30 years the world will perhaps it was a long term terror plan to cripple industrialized nations.

    4. Re:And other things.. by Gospodin · · Score: 4, Interesting

      11/9 was just big because it was in the US. Anti-US sentiment aside, the US is simply a more influential country than any of those affected by the Tsunami. US has very a powerful media and politic, so of course its going to be well covered.

      9/11 was big because it was caused by people. The tsunami was caused by nature. Comparing responses to them is like comparing responses to a murder versus a heart attack.

      --
      ...following the principles of Heisenburger's Uncertain Cat...
    5. Re:And other things.. by Anonymous Coward · · Score: 2, Interesting

      Then compare the response to the Loma Prieta earthquake in California. His argument is still valid.

    6. Re:And other things.. by oldhack · · Score: 2, Interesting

      Ok, I'm an ignorant American (actually, an ignorant immigrant). 7/7??? What the fuck's that?

      --
      Fuck systemd. Fuck Redhat. Fuck Soylent, too. Wait, scratch the last one.
    7. Re:And other things.. by Bazer · · Score: 2, Interesting

      I guess he calculated in base 3 and forgot to type the 0.

  2. Re:WTF are you talking about? by zulater · · Score: 2, Interesting

    The raw calculation won't have a problem but maybe in displaying/storing the amortization table there could be a hiccup. You're not going to get out of your mortgage or anything but it's interesting none the less.

  3. My date of birth by nogginthenog · · Score: 4, Interesting

    Is 123456789, Unix time. No shit. 29 Nov 1973. Guess I'm a confirmed geek then?

  4. Re:The answer is 64! by 91degrees · · Score: 3, Interesting

    They might... After all, transistor computers were up to 32 and 36 bits before the first 4-bit microprocessor was introduced. It is possible that a revolutionary new concept in processing will result in an insanely fast processor but technological limitations will force it to only be 8 bits.

  5. Re:WTF are you talking about? by cnettel · · Score: 2, Interesting

    Actually, it would probably be in 1901, since the overflow only takes place for signed ints. We'll have another bug for unsigned 32-bit ints in 2106 or so.

  6. Re:The answer is 64! by thegrassyknowl · · Score: 5, Interesting

    Put simply, a lot of software is poorly written and uses int as synonymous with time_t (or somesuch). The two are often interchanged by programmers; particularly those with a Windows background who can't find CTime (or whatever it's called) on non-Windows platforms.

    Moving to 64-bit machines won't fix all the magic 32-bit binaries out there but software that's recompiled for 64-bit machines will automagically use 64-bit ints where the programmer held the time in an int.

    Of course, I've seen a lot dumber bugs than ignoring to use the operating system's time structures and methods for dealing with time so I don't doubt that there are some bugs that actually will need some serious considerations made.

    I guess it's a fault of the Unix people from way back. They made this epoch thing and used a 32-bit number to store the number of seconds since it. I guess they were assuming that all their software would have been replaced by something better on bigger machines. They shouldn't have written such reliable software and then maybe some of it would have been replaced by now ;)

    --
    I drink to make other people interesting!
  7. Re:What about the new 40 and 50 year loans? by kcornia · · Score: 4, Interesting

    40 and 50 year loans are really 30 year loans that will be refactored (or rewritten or reset, whatever terminology they used) at 10 and 20 years left respectively. From my recollection based on work in subprime IT for a few years, it has to do with laws that limit the life of a loan to 30 years or something.

    Regardless, 40 and 50 year loans are right up there with negative amortization adjustable loans. HORRIBLE ABUSE OF TEH SYSTEM. If you have to stretch that far to get into a house, rent a fucking apartment and save up some money for cryin' out loud.

    This credit crunch is a good thing, we as consumers need to get off the endless debt teat.

  8. You mean this crash wasn't planned? by saintory · · Score: 2, Interesting

    So the recent housing loan problems were not a test to see what would happen when loan companies crash?

  9. Got hit by the Y2K bug - in 2008 by dbIII · · Score: 2, Interesting

    Strangely enough I got hit by a Y2K bug last week which will not get fixed for several months. Some idiot decided that 0000 would be good for a permanent licence - which means all the new permanant licences for a product my company is using expired on 1/1/2000. The work around the vendor approved is to disable the licence checking software entirely for the six to nine months before a solution is released. Don't you love expensive closed source abandonware?

  10. Re:Now if I can find a bank open on Saturday by 3vi1 · · Score: 2, Interesting

    Did you base your program on the one In Office Space, or the one in Superman 3? If it was the one in Superman 3, you're totally screwed because the libraries are GPL instead of LGPL and now your entire project has to comply with the license.

    Oh god... I forgot this is slashdot: now someone is going to spend 30 minutes composing a reply that explains how the GPL doesn't work like that....

  11. Re:Now if I can find a bank open on Saturday by WK2 · · Score: 2, Interesting

    Just hope they're using signed ints to store that value. Actually, I think they use floats.

    Nope. They use two integers. One for the dollars, and one for the cents. Some older programs get fancy and use a special 4 (or 6, or 8)-byte number, where 7 (or 8) bits are used for the cents, and the rest for the dollar signs. These are known as "fixed-point fractions." The important thing to keep in mind is that floating point numbers are not accurate enough for banks.

    --
    Write your own Choose Your Own Adventure. http://www.freegameengines.org/gamebook-engine/
  12. Averages causing overflows by todslash · · Score: 3, Interesting

    It's not a big issue and as long as programmers are aware then hopefully it will be avoided.

    But there are pitfalls out there now which naive programming may fall into.

    I came across this one at http://www.2038bug.com/. We hit the 31st bit of POSIX time in 2004. That means that if you add together any two current times, for example when taking an average, then you will overflow a 32 bit signed integer.

    Apologies for code quality but this artificial example hopefully shows the issue:

    #include <stdlib.h>
    #include <stdio.h>
    #include <unistd.h>
    #include <time.h>
    int main ()
    {
    time_t t,t1,t2;
    struct timeval tnow;
    gettimeofday(&tnow,NULL);
    t1=tnow.tv_sec;
    printf ("Time now: %s", asctime (gmtime (&t1)));
    t2=t1+100;
    printf ("Add 100 seconds: %s", asctime (gmtime (&t2)));
    t=(t1+t2)/2;
    printf ("Average: %s", asctime (localtime (&t)));
    return 0;
    }

    gives the following on my x86 Linux system:

    Time now: Wed Jan 16 11:43:18 2008
    Add 100 seconds: Wed Jan 16 11:44:58 2008
    Average: Fri Dec 29 08:30:00 1939

    It's easy to fix by casting to 64 bit or dividing first but there may be similar examples hiding away in old code which are less easy to spot.