More on leap seconds.

Uncategorized

Jesse Keating made a comment in my previous post on leap seconds, which I thought was worth highlighting in another post, for the benefit of those who don’t read the comments.

This is why rarely executed codepaths suck. Whilst it is tempting to gloat over another Microsoft failure, this could easily have been any other OS. I already mentioned that Linux had suffered something similar once. A bug like this in consumer devices is a nightmarish, but imagine if such a bug ended up in something more critical ? “Sorry, your life support system went offline because there was a leap second”. In safety critical systems, rare codepaths are kind of terrifying.

Writing test cases for bugs like this is also not particularly fun. You’d have to have a fake ntp server for testing the rare case.
Now think about all the other potential ‘only runs once every blue moon’ codepaths in your apps, and imagine the effort required to write test plans for all of them. Not impossible, but certainly a lot of potential job security there for QA folks. Just like fuzz-testing, traditional coverage-testing by just running common workloads aren’t the panacea of testing when there are variables outside your control.

What’s still puzzling to me though.. The Zunes died several hours before 00:00:00 UTC.
Quirk of MSFT’s ntp implementation I guess. *shrug*

No related posts.

Related posts brought to you by Yet Another Related Posts Plugin.

6 Comments

6 Comments

  1. kev009  •  Jan 1, 2009 @05:07

    No issue on the many machines I am running. Why not just fake the time for testing in the past/future?

    Also, registering for comments is annoying. With akismet, spam isn’t really a problem and can be completely eliminated with moderator approval.

  2. atbash  •  Jan 1, 2009 @11:23

    What’s still puzzling to me though.. The Zunes died several hours before 00:00:00 UTC.
    Quirk of MSFT’s ntp implementation I guess. *shrug*

    So apparently it happened at 00:00:00 12/31/08 PST. Which means some ass-hat at MS coded in Redmond as some sort of special case easter-egg. In a device driver.

  3. davej  •  Jan 1, 2009 @12:52

    You can’t fake the time, because it’s not the rolling over that matters, the problem is the interaction from ntp. You’d need a fake ntpd to insert a fake second.

    I’ll change some of the commenting settings and see how things go, thanks for letting me know.

  4. birdwes  •  Jan 1, 2009 @16:56

    Three dead servers at midnight running 2.6.21.5-smp kernel. The last entry in the logfiles on them all is just a few seconds before midnight GMT!

    Thankfully the other slackware 12.1 boxes survived OK. I guess I should have upgraded the kernel on the other three.

    When’s the next leap second due? I must do it before then!

  5. davej  •  Jan 1, 2009 @17:01

    2.6.21 sounds about right for the bug I saw back in `06. It was just after the tickless kernel code got merged.

    The next one is in 2012 I believe.

  6. James  •  Jan 1, 2009 @18:10

    I’m not sure it’s really a leap seconds think, according to reports it’s a leap YEAR thing.

    Yeah, apparently Redmont doesn’t get it yet. And since this is the 1st leap year since the Zune came out…



  • huaglahglah huaglahglah