Slashdot Mirror


Azure Failure Was a Leap Year Glitch

judgecorp writes "Microsoft's Windows Azure cloud service was down much of yesterday, and the cause was a leap year bug as the service failed to handle the 29th day of February. Faults propagated making this a severe outage for many customers, including the UK Government's recently launched G-cloud service."

69 of 247 comments (clear)

  1. Who could have foreseen a leap year coming? by elrous0 · · Score: 5, Funny

    Seriously, if my American high school education taught me nothing else, it was that those things only come along like every 100 years or something.

    --
    SJW: Someone who has run out of real oppression, and has to fake it.
    1. Re:Who could have foreseen a leap year coming? by tripleevenfall · · Score: 4, Funny

      Save us, Captain Obvious! *swoons* :P

    2. Re:Who could have foreseen a leap year coming? by Kamiza+Ikioi · · Score: 5, Funny

      In all fairness, Microsoft never figured anyone would still be using this service by the time a leap year rolled around.

      --
      I8-D
    3. Re:Who could have foreseen a leap year coming? by davidbrit2 · · Score: 2

      I think I like this theory the best.

    4. Re:Who could have foreseen a leap year coming? by Anonymous Coward · · Score: 5, Funny

      In all fairness, Microsoft never figured anyone would still be using this service by the time a leap year rolled around.

      I work on the Azure team and I can confirm this.

    5. Re:Who could have foreseen a leap year coming? by jc42 · · Score: 5, Insightful

      Actually every hundred year is when a leap year doesn't come along. (unless it's divisible by 400, then it does)

      Right; and I wonder how many computer failures will happen on the first of March, 2100, due to part of the software thinking it's the 29th of February, causing random problems while talking to other software that knows the correct date.

      We all know it's gonna happen ...

      --
      Those who do study history are doomed to stand helplessly by while everyone else repeats it.
    6. Re:Who could have foreseen a leap year coming? by VortexCortex · · Score: 3, Interesting

      In all fairness, Microsoft never figured anyone would still be using this service by the time a leap year rolled around.

      Ah, that explains why Zunes went dark on New-Years 2009...

      Think about this. You're a software dev, and you use a MS C++ compiler. They wrote their standard libs, including the "time.h" / &ltctime&gt code... you use their time libraries.
      Now two things:
      0. MS employs some real nut-jobs that can't even use the standard time functions and instead write their own for each project...
      or
      1. MS doesn't even trust their own compiler / libraries to do the right thing?

      It scares me to think that MS makes operating systems... IMHO, they should get back to BASICs.

    7. Re:Who could have foreseen a leap year coming? by Alsee · · Score: 5, Funny

      Microsoft has solved the problem and applied a patch to their systems.
      The new patch is anticipated to keep the service up and stable for least 4 years.

      -

      --
      - - You can't take something off the Internet! That's like trying to take pee out of a swimming pool.
    8. Re:Who could have foreseen a leap year coming? by PenquinCoder · · Score: 2

      That's nothing. I was born Feb 29, 24 years ago. Who knew that being six years old would suck so much....

  2. Re:TCO TIC by tripleevenfall · · Score: 5, Funny

    Obviously you didn't inform yourself with the very helpful and informative "Get The Facts" materials Microsoft provided us with a few years ago. If you had you would know how much higher the TCO of Linux on the server is even after a massive outage.

  3. Same Story / Different Day by DownWithTheMan · · Score: 5, Funny

    Didn't this happen last leap year to the Zunes... oh yeah...

    1. Re:Same Story / Different Day by g0bshiTe · · Score: 4, Insightful

      You would think that they would have remembered, or some brilliant mind would have said "hey don't forget leap days", they should have asked the janitor. Those guys know everything.

      --
      I am Bennett Haselton! I am Bennett Haselton!
    2. Re:Same Story / Different Day by firex726 · · Score: 5, Interesting

      What is with MS and their apparent inability to cope with leap years?

    3. Re:Same Story / Different Day by UnknowingFool · · Score: 2

      Yes and it will happen again. As far as I know MS never created a patch. They just told customers to wait out the bug. Looks like it will happen again this year.

      --
      Well, there's spam egg sausage and spam, that's not got much spam in it.
    4. Re:Same Story / Different Day by robthebloke · · Score: 3, Funny

      Like how to brush the problem under the carpet for another 4 years?

    5. Re:Same Story / Different Day by JazzHarper · · Score: 2

      I would like to know the same thing. This seems to be systemic. Is there something inherently confusing or flawed in the way Microsoft approaches elapsed-time calculations? Is it due to the internal representation of time that they use, or is there some reason that developers on their platform are doing calculations using date strings, or is it something else?

    6. Re:Same Story / Different Day by UnknowingFool · · Score: 5, Interesting

      No it came from Freescale in a driver that Toshiba used. Not many know that the original Zune was a Toshiba Gigabeat with a new UI and outer shell.

      --
      Well, there's spam egg sausage and spam, that's not got much spam in it.
    7. Re:Same Story / Different Day by John+Hasler · · Score: 5, Funny

      Well, we knew it was a Microsoft product so we knew they bought it from someone.

      --
      Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
    8. Re:Same Story / Different Day by tlhIngan · · Score: 3, Informative

      No it came from Freescale in a driver that Toshiba used. Not many know that the original Zune was a Toshiba Gigabeat with a new UI and outer shell.

      Yeah, it was a really stupid bug, especially when you consider the OS provides a very useful set of APIs for dealing with it (basically convert a SYSTEMTIME (day/month/year/mm/hh/ss) into a FILETIME (64-bit unsigned int similar to time_t), do your math (the compiler will handle the 64-bit computations for you) and convert it back. Two OS calls.

      If you're having ot do leap year calculations or even any sort of date calculations, stop. The OS or library will probably already have a set of functions for doing date calculations without you have to do it manually. Given how easy they are to screw up, far better to leave it to someone else.

      Hell, given Windows worked fine, I don't even want to know what Azure is doing - the fundamental OS and runtimes all handle leap year date calculations with aplomb. Heck, that might be some of the oldest code in the kernel these days because it was written a long time ago, works well and has been thoroughly debugged through the decades.

    9. Re:Same Story / Different Day by UnknowingFool · · Score: 4, Interesting

      According to the details I know it had to do with certificate validation. So part of Azure is using some code that doesn't use standard Windows APIs. Not shocking is that MS does not conform to standards. Shocking is that they don't conform to their own standards.

      --
      Well, there's spam egg sausage and spam, that's not got much spam in it.
    10. Re:Same Story / Different Day by FunkyELF · · Score: 2

      Picture this: You're gearing up to create a killer playlist on your 30GB Zune for your annual New Year's bash.

      Great... now I'm going to have nightmares

    11. Re:Same Story / Different Day by spire3661 · · Score: 2

      The only word to describe this is incompetence.

      --
      Good-bye
    12. Re:Same Story / Different Day by Dhalka226 · · Score: 5, Insightful

      I had a similar thought about code reuse, but an entirely different conclusion: I thought that they weren't re-using good code since the same problem has cropped up at least two times. That sounds more like a case of re-rolling things that definitely shouldn't be re-rolled (date/time handling) to me.

      In either event, they're not using particularly good practices. Either they are constantly reinventing the wheel and apparently in error-prone ways, or they are re-using code but paying no attention to keeping that external code up to date.

      The only other thing I can think of is that Azure is somehow so drastically different than anything else they have ever done that they had to do the code again from scratch -- which is probably a problem all by itself.

    13. Re:Same Story / Different Day by Maow · · Score: 2

      I would like to know the same thing. This seems to be systemic. Is there something inherently confusing or flawed in the way Microsoft approaches elapsed-time calculations? Is it due to the internal representation of time that they use, or is there some reason that developers on their platform are doing calculations using date strings, or is it something else?

      I wonder if it is related to the fact that MS systems apparently store the system time in local time instead of UTC?

      At least, that's my understanding of how they store it, could be wrong.

    14. Re:Same Story / Different Day by jc42 · · Score: 5, Interesting

      What is with MS and their apparent inability to cope with leap years?

      I would like to know the same thing. This seems to be systemic.

      Yeah; it's systemic. Or at least it used to be a few years back, and I wouldn't be surprised if they haven't fixed the basic problem yet. The problem is fairly simple: Windows' internal clock is in local time.

      To a programmer with experience writing date/time code, I've found that this is all you need to tell them. Any software whose internal clock is in local time will be buggy, and it will never be completely fixed. Attempts to fix bugs will merely introduce bugs elsewhere in the chains of date/time handling. The sensible solution is to adopt a "universal time" internally, and convert at the last stage when you present the date/time to a human user. Yes, you theoretically can work with local time internally, but (teams of) humans can't actually make this work in practice. The best they can do is make it work in the "normal" cases. Bug fixes then tend to just move the time bugs around to different places in the code. But it can be very difficult to get management to accept this and agree to UT-only internally.

      Java also used to specify local time internally (and may still do so, but I haven't used it in years). I worked on a number of projects where, after repeated date/time disasters at every switch to/from DST and every Feb 29, java was abandoned and everything was rewritten in a language (usually C++) whose libraries supported a UT timestamp and didn't have all those time bugs.

      Does anyone know if MS Windows has introduced a UT internal time yet? If not, then we can reliably predict that such bugs will continue to plague their users.

      --
      Those who do study history are doomed to stand helplessly by while everyone else repeats it.
    15. Re:Same Story / Different Day by ekimminau · · Score: 3, Funny

      According to Microsoft all time started on Jan 1, 0001.

      http://msdn.microsoft.com/en-us/library/system.datetime.ticks.aspx

      No fricking wonder the "system idle process" uses 19% of a cpu. The OS is counting to a billion every second.

      Ooops. But they still lots of things in 32bit land, too.
      http://msdn.microsoft.com/en-us/library/system.datetime.aspx

      --
      Armaments, 2-9-21 And Saint Attila raised the hand grenade up on high, saying, 'O Lord, bless this Thy hand grenade' N
    16. Re:Same Story / Different Day by DamonHD · · Score: 2

      To the best of my knowledge, Java's System.currentTimeMillis() has always been UTC milliseconds since the UNIX epoch.

      Don't stop someone messing up and having the computer set up badly, eg correct apparent local time but wrong timezone, causing "UTC" time to wrong.

      Rgds

      Damon

      --
      http://m.earth.org.uk/
    17. Re:Same Story / Different Day by Xtifr · · Score: 2

      Their calendar ending is extremely significant! To anyone running a Mayan computer. Those things are all going to crash hard this year! It's going to be like Y2K all over! :)

  4. 28 days by ichthus · · Score: 5, Funny

    Well, this is all because 28 days in February ought to be enough for everyone.

    --
    sig: sauer
    1. Re:28 days by davidbrit2 · · Score: 5, Funny

      I always remember to put DEVICEHIGH=FEB.SYS into my config.sys every four years.

  5. What is it with Microsoft and Leap Year? by madsci1016 · · Score: 3, Informative

    Anyone remember trying to turn on their Zune 3.5 years ago? That didn't work so well either.

    1. Re:What is it with Microsoft and Leap Year? by Kozz · · Score: 4, Informative

      Now, I'm not necessarily a Microsoft apologist, but I have to point out that it wasn't so long ago that other things near and dear to us geeks were experiencing similar problems.

      I was trying to run some ant scripts yesterday that interact with an FTP server to delete some files. Those damned files wouldn't get deleted. They weren't even returned from a listing command. As it turns out, I was using a particularly old version of Apache Commons-Net library (this jar file was from 2005) which had a leap-year bug. It simply would not show me files with modification dates of 2/29. I was looking at the FTP server configuration, logging in with other clients, moving and renaming files, and all about ready to break out Wireshark... and then it occurred to me that it was leap day. Hoo-fucking-ray. "touch"ed the file, and sure enough, it was suddenly available. Those are a few hours of my life I'll never get back.

      --
      I only post comments when someone on the internet is wrong.
    2. Re:What is it with Microsoft and Leap Year? by egamma · · Score: 2, Funny

      Now, I'm not necessarily a Microsoft apologist, but I have to point out that it wasn't so long ago that other things near and dear to us geeks were experiencing similar problems.

      I was trying to run some ant scripts yesterday that interact with an FTP server to delete some files. Those damned files wouldn't get deleted. They weren't even returned from a listing command. As it turns out, I was using a particularly old version of Apache Commons-Net library (this jar file was from 2005) which had a leap-year bug. It simply would not show me files with modification dates of 2/29. I was looking at the FTP server configuration, logging in with other clients, moving and renaming files, and all about ready to break out Wireshark... and then it occurred to me that it was leap day. Hoo-fucking-ray. "touch"ed the file, and sure enough, it was suddenly available. Those are a few hours of my life I'll never get back.

      Your post is not anti-Microsoft, so you must be a shill.

    3. Re:What is it with Microsoft and Leap Year? by seandiggity · · Score: 2

      As it turns out, I was using a particularly old version of Apache Commons-Net library (this jar file was from 2005) which had a leap-year bug. It simply would not show me files with modification dates of 2/29.

      If this is the bug you're talking about, it appears a bug report was filed, discussed, and a temporary workaround was offered (perhaps more than one). Although free software has bugs just like proprietary software, the way they are reported and handled is night and day.

      --
      Geeks like to think that they can ignore politics, you can leave politics alone, but politics won't leave you alone.-rms
    4. Re:What is it with Microsoft and Leap Year? by Kozz · · Score: 2

      If this is the bug you're talking about, it appears a bug report was filed, discussed, and a temporary workaround was offered (perhaps more than one). Although free software has bugs just like proprietary software, the way they are reported and handled is night and day.

      That appears to be the very same bug, yes. And I'm not disputing the handling of the bug, but merely pointing out that even with "many eyes", this bug existed not so very long ago. Open Source is not immune to the same kinds of problems, though I grant you I probably should have been checking for the latest compatible libraries.

      --
      I only post comments when someone on the internet is wrong.
    5. Re:What is it with Microsoft and Leap Year? by seandiggity · · Score: 2

      Open Source is not immune to the same kinds of problems, though I grant you I probably should have been checking for the latest compatible libraries.

      Whenever I run into a bug like this where something just seems to go *poof*, that's the first thing I check. Learned my lesson a few years ago with an old version of a library and a cranky sysadmin who would just not believe it was the source of the problem. I wrote not one, but *three* workarounds, none of which he was willing to use, then he just updated the library with the latest version and everything worked.

      --
      Geeks like to think that they can ignore politics, you can leave politics alone, but politics won't leave you alone.-rms
  6. In a new press conference.. by Anonymous Coward · · Score: 5, Funny

    Microsoft has told the press that they don't expect the Azure cloud service to fail again for years. In an unrelated schedule change, a down-for-maintenance slot was scheduled 4 years in advance.

  7. office in the cloud by Anonymous Coward · · Score: 5, Funny

    It's sold as Office 365 not Office 366

    1. Re:office in the cloud by GiantRobotMonster · · Score: 2

      This behaviour is by design.

  8. Prepared for future by gmuslera · · Score: 3, Informative

    If they can't handle an exception that is around since 2k years ago, what about newer exception? Would be interesting to see what could happen next June 30.

    1. Re:Prepared for future by SuricouRaven · · Score: 4, Informative

      The leap year specification was only written in 1582. So it isn't 2k years old.

    2. Re:Prepared for future by gmuslera · · Score: 2

      In the Julian calendar you had 29 days in february each 4 years, basically counts as leap year.

    3. Re:Prepared for future by Anonymous Coward · · Score: 2, Informative

      And then you get hosed every 100... except when it's every 400.

      No, that's a feature that the Gregorian calendar added later.

      The simple Julian calendar assumed that years were exactly 365.25 days long and had a leap day every four years starting from 46 BC.

      gmuslera was right --- leap days have been around for over 2000 years.

  9. UNIX Epoch FTW by _0x783czar · · Score: 2

    Correct me if I'm wrong, nut they could have avoided this by relying on the UNIX epoch. Same with Y2K. But beware Y2K38 you 32-bit users!

    --
    ~theCzar
  10. Everything MS does as "me too" sucks. by scorp1us · · Score: 4, Insightful

    It seems that all of MS's copied products - hotmail, Azure, Zune are all done with a "me too" attitude of just having something so that they don't get left behind. They don't really try to make these "me too" products as industry leaders. But here's the catch. I know plenty of IT people who will always choose MS's offering because, as I was told "you don't get in trouble for choosing MS". And that knowledge seems to be built into MS's offerings.

    --
    Slashdot's rate-of-post filter: Preventing you from posting too many great ideas at once.
    1. Re:Everything MS does as "me too" sucks. by geekoid · · Score: 2

      You 'don't get fired for buying IBM.'
      Then 'You don't get fired for buying MS'
      Next will be Google, probably.

      Never Apple because they are a high end system in a niche market. Yea, people willing to pay 1200+ for a computer is a high end niche market.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    2. Re:Everything MS does as "me too" sucks. by MightyYar · · Score: 2

      Never Apple because they are a high end system in a niche market.

      Yeah, I'm pretty sure joining that race to the bottom is the way to go.

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    3. Re:Everything MS does as "me too" sucks. by SplashMyBandit · · Score: 2

      Um, no. Hotmail was acquired by Microsoft in 1997. Hotmail originally ran on FreeBSD and Solaris. Eventually Microsoft ported it to Windows but they have reliability problems for a long time. I'm surprised you got this so badly wrong given your impressively low Slashdot ID. When corrected, the example you gave exactly counters the argument you were trying to make. I guess that the true origins of Hotmail are not something that Microsoft hides, but probably not something they mention much either. In fact, if you dig around you often find that what people consider to be Microsoft original products are actually acquired and then heavily modified. Examples: DOS, Flight Simulator (from Sublogic), Powerpoint (originally "Forthought Presenter"), Viso, Hotmail, etc etc. Then we get Microsoft developed products that are attempted clones of others: Zune, C#.NET (derived from Java), XBox, Kinect (concepts from iToy, Track IR although a different implementation - but not an original idea). etc etc.

      Azure is the first to use the "cloud" term because Microsoft originated that marketing term. It was Sun that invented the idea long ago (remember, "The network is the computer"), but they were stymied by Microsoft's tactical moves against them (plus some of Sun's own failings - like it being hard to purchase from them due to the crazy internal greed/politics between different Sun sales teams).

      nb. Excel is a true Microsoft product, but ran on Macs two years before being ported to Windows! It is, of course, dervied from Lotus 123. So sure, Microsoft is an innovator, in some parallel universe, but not this one.

      You see that the 'problem' with Slashdotter is not that we intrinsically hare Microsoft - it's just that we have long memories so can easily spot the misinformed and Microsoft's presentation of historical events (which is often PR-ed and doesn't actually line up with what actually happened). I pity the good guys that work for Microsoft, coping so much flak because of the crazy antics of their company/PR/legal/management (although some Microsoft devs and testers obviously are clueless - not having a clue about the Gregorian calendar is a shocking and basic error to make, especially in internationalized software).

  11. Only Happens Every 4 Years by trongey · · Score: 5, Funny

    It's not Micorsoft's fault; they're a publicly traded company so they can't think about multi-year events. They're prohibited from considering anything that is beyond the next fiscal quarter.

    --
    You never really know how close to the edge you can go until you fall off.
  12. Single Point of Failure by Bicx · · Score: 5, Insightful

    This points out a serious flaw in the whole idea of cloud reliability by redundancy. You may have a million servers running across multiple countries, but if the distributed software for each virtual server has a bug, every server across the globe is affected. That's a single point of failure.

    1. Re:Single Point of Failure by Bert64 · · Score: 4, Insightful

      Thats a flaw in the idea of a monoculture, true redundancy has different software implementing the same basic standards...
      Like how the Internet is built from routers made by different vendors, cisco, juniper, software based linux/bsd devices etc. When new DoS vulnerabilities are found in one vendors kit it doesn`t take down the whole internet, because other vendors are immune.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
  13. A leap year issue? Are you SERIOUS? by msobkow · · Score: 5, Insightful

    Given how many DECADES leap year calculations have had to be done and how many years it's been since we fixed the Y2K issues (at great expense, I might add), it is absolutely UNACCEPTABLE for someone to blame a leap year calculation for down time.

    The DIRECTOR of the service division at Microsoft should be FIRED for this failure.

    Expect lawsuits from customers, Microsoft. Because this was a problem you KNEW about and should have written code to deal with.

    What a pathetic excuse for planning and testing on Microsoft's part.

    --
    I do not fail; I succeed at finding out what does not work.
    1. Re:A leap year issue? Are you SERIOUS? by Anonymous Coward · · Score: 3, Funny

      Shouldn't 'pathetic' be in uppercase?

    2. Re:A leap year issue? Are you SERIOUS? by firewrought · · Score: 2

      Given how many DECADES leap year calculations have had to be done and how many years it's been since we fixed the Y2K issues (at great expense, I might add), it is absolutely UNACCEPTABLE for someone to blame a leap year calculation for down time.

      The DIRECTOR of the service division at Microsoft should be FIRED for this failure.

      Expect lawsuits from customers, Microsoft. Because this was a problem you KNEW about and should have written code to deal with.

      What a pathetic excuse for planning and testing on Microsoft's part.

      (Sigh.) Another internet commentator gets righteous on a subject in which he is not an expert. How did this get modded insightful? What new information did it contribute other than blind rage? And firing the director, really? Management is responsible for specifying risk tolerance and enforcing a testing process, but technical folks should be making decisions about what's efficient and strategic to test.

      And do you really think this problem arose because they didn't write code to deal with leap years? I'm sure they are using an extremely well-tested base library of code that deals with exactly this, but date logic is used everywhere, and deciding what to test (to what depth) requires discernment. Oh yeah... maybe they could have squashed this bug by spending 2 or 3 days adjusting server clocks and creating fake test data across multiple subsystems and doing a full integration test at various set points. But what you don't see is that those 3 days cost them the time to find such-and-such 15 other bugs. Or that the testing schedule would have to extend by 6 months to test both the leap day concern and all other concerns deemed more risky than the leap-day concern but below the level of risk they were actually testing for.

      I'm not saying Microsoft has clean hands here. But it's definitely possible because even though we've known about leap years for centuries (excuse me... "DECADES"... got to use all caps to punctuate one's infuriation), because all software testing is a sequence of calculated gambles, and you can't judge the competence of a testing group by the occurrence of a single rare bug.

      --
      -1, Too Many Layers Of Abstraction
    3. Re:A leap year issue? Are you SERIOUS? by msobkow · · Score: 2

      I've been programming for over 30 years.

      Yes, I know damned well how widely date manipulation packages are used.

      And I know what this little thing called "regression testing" is.

      And I blame the MANAGEMENT for failing to ensure that the testing was done before approving rollout of the software. Why do you think management gets paid the big bucks? Because at the end of the day, THEY'RE responsible for ensuring that joe-schmoe-programmer and the QA team did their jobs before they sign off on rolling out product.

      --
      I do not fail; I succeed at finding out what does not work.
    4. Re:A leap year issue? Are you SERIOUS? by kiwimate · · Score: 2

      Yep, as soon as they fire the guy at Apple who was responsible for the iPhone daylight saving bug in November 2010. And again in March 2011.

      Also Flickr, with their own leap year bug. And Sony.

      Not saying this isn't a black eye for MS - and yes, testing for leap year should be thought out ahead of time - but in fairness they're not the only people to have ever been caught out by something like this.

  14. It wasn't just Microsoft... by Anonymous Coward · · Score: 5, Interesting

    ...they just had the most publicly catastrophic failure. I just noticed that all of the Google Chat messages I received yesterday were sent to me at various times on December 31, 1969.

    And it also seems that I didn't even receive any of them until today, March 1, implying that they were incapable of even sending them yesterday.

  15. Arthur David Olson is my hero by Bruce+Perens · · Score: 4, Informative

    30 years ago, Arthur David Olson started engineering a solution to this problem that persists to this day, and which he supported personally for all but the last few months. The systems I have that run his software have never even burped through legislative changes of the calendar, leap-seconds, and the Century leap-year day, which is a separate cycle from the 4-year one.

  16. Re:Inexcusable by JamesP · · Score: 2

    True

    Apparently MS only hires people with no concept of future.

    See Zune event, see this. Absolute disregard of date concepts (and testing)

    Now, Linux development worries about this THOROUGHLY (I mean, kernel and main libs, of course a sw developer can get this wrong on Linux as well)

    No counter wrap-around fsck-ups, date exceptions, etc (people are watching this)

    Remember the Windows bug where it would crash after 15 days or so?

    --
    how long until /. fixes commenting on Chrome?
  17. Does anyone know... by roc97007 · · Score: 2

    ...how Windows for cars and Windows for Warships fared during the leap year? Forget Y2K -- the apocalypse comes every four years...

    --
    Oliver's law of assumed responsibility: If you're seen fixing it, you will be blamed for breaking it.
  18. Re:Dumb people never learn by Tanktalus · · Score: 4, Funny

    Hey! My MS4000 keyboard and MS mouse are working jut fine.

  19. Attention Microsoft: by Howard+Beale · · Score: 5, Funny

    The following are leap years: 2016 2020 2024 2028 2032 2036 2040 You have been warned. After that, I'll probably be dead, so I won't care (unless Microsoft starts making pacemakers, which may end it for me...).

    1. Re:Attention Microsoft: by forkfail · · Score: 3, Funny

      The thought of an MS pacemaker EULA is pretty scary....

      --
      Check your premises.
  20. Some of the most common leap-year bugs by tillerman35 · · Score: 5, Informative

    Some of the common leap year bugs that I've seen over the years:

    1. A matrix with the number of days per month:
    e.g. smallint dayspermonth[12]={31,28,31,30,31,30,31,31,30,31,30,31};
    Indexing into the matrix for February (index 1) ignores leap years.

    1. A matrix with 365 elements to represent a year's worth of something:
    e.g. smallint hightemps[365];
    This usually doesn't fail until Dec 31, when hightemp[mydate.dayofyear()-1] points to a non-existent element.
    Of course, if dayofyear is calculated using the matrix in the prior bug, it will fail invisibly since that will be incorrect
    as well.

    2. Quck-n-dirty subtract one year math:
    e.g. Convert date to char in YYYYDDMM format, convert char to int, subtract 10000, convert back to a char and then date.
    Why people do this when you can dateadd(year,mydate,-1) is that easy, I have no clue. But it breaks horridly when
    you use it to determine "one year ago today" from Feb 29.

    1. Re:Some of the most common leap-year bugs by tqk · · Score: 2

      ... Convert date to char in YYYYDDMM format ...

      A few years ago, one of the fixes I made to a front end security tool was to change all the YYYYDDMMs to YYYYMMDDs, to match up with all the other YYYYMMDDs elsewhere in the code.

      It's astonishing to me that having gone through Y2k, some people are *still* failing miserably at handling dates. I mean, it's not like YYYYMMDD is an ISO Standard or anything, right?

      --
      "Tongue tied and twisted, just an Earth bound misfit ..." -- Pink Floyd.
  21. Re:Dumb people never learn by MadKeithV · · Score: 4, Funny

    Hey! My MS4000 keyboard and MS mouse are working jut fine.

    I see what you did there.

  22. Microsoft Never Has Been Good At Time by Greyfox · · Score: 4, Interesting
    Dealing with time is hard, but it's been amusing to watch them experience problems solved by UNIX decades earlier. Daylight savings time was a constant problem for them in the early days, though they seem to have mostly got that ironed out. Every so often they seem to have a regression for a piece of new hardware. Maybe they'll eventually get it right.

    Funnily enough, I used to work at IBM doing OS/2 tech support. OS/2 and Windows NT share a common heritage, so a lot of the behind-the-scenes problems I witnessed in OS/2 were (And sometimes still are) problems with Windows. I'm not sure if this is one of them, but I got a call once from a guy who was trying to use his OS/2 system to track satellites. The problem was, the OS/2 timer API specified that you could set milliseconds but it didn't seem to work. I tracked it down to a timing driver which tracked two separate interrupts. The first interrupt happened every few milliseconds and would update the clock millis when that happened. However, if the system was busy it was possible to not handle that interrupt. There was also a system periodic interrupt every 1 second. When that occurred, the system hard-reset the milli time and incremented the seconds. So you could set the millis, but the clock would become inaccurate 1 second later. Just one example of how time has been a thorn in my side for my entire career. I wrote an APAR up on it which was promptly closed "Working as Designed." Dunno if he ever got it fixed...

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

  23. Re:What a shame by TheCRAIGGERS · · Score: 4, Funny

    We still see this kind of XXXX coming up every leap year.

    We're all adults (or close enough to it, anyway) here. I think we're all capable of seeing the word "shit" without our faces melting like that nazi who peeped in the ark.

    My apologies to everyone who is now having their face melt off after reading that previous sentence.

  24. Re:Inexcusable by BeerCat · · Score: 2

    It was 49.7 days: http://news.cnet.com/Windows-may-crash-after-49.7-days/2100-1040_3-222391.html

    And still inexcusable.

    I remember that one - it wasn't a crash in the usual sense, where something stops working completely. It was far more insidious than that. Everything still looked as if it was working; the cursor moved when you moved the mouse, icons would highlight if single-clicked, but double-click would refuse to play...

    IIRC, the 49.7 days is 2^16 seconds

    --
    "She's furniture with a pulse"