Slashdot Mirror


SA Explorer 8000SD/HD Experiences Y2K-like Bug

An anonymous reader writes "According to an article at Audioholics, a firmware bug was just discovered in the Scientific Atlanta 8000SD and 8000HD DVRs (Digital Video Recorders) which renders them unable to record. This firmware bug was discovered when the units attempted to recognize February 29th on the programming guide. The units are apparently unable to recognize this date, and as a result, shut down all record functions. All other aspects of the 8000 will continue to work. So far, it looks like no previously recorded material was lost. Scientific Atlanta is apparently in "Emergency Session" working on a software patch. The problem began occuring on the 23rd when the 7-day program guide first began to encounter the February 29th programming."

10 of 39 comments (clear)

  1. Graceful Error Handling? by angst_ridden_hipster · · Score: 3, Interesting

    To quote a widely-used software development guideline document*:

    "Well-written applications include error-handling code that allows them to recover gracefully from unexpected errors. When an error occurs, the application may need to request user intervention, or it may be able to recover on its own. In extreme cases, the application may log the user off or shut down the system."

    Now, I figure encountering a nonexistent date may well qualify as an "extreme case." Still, a developer might want to at least think a bit about calendars before qualifying February 29th as nonexistent.

    (* It's from a Microsoft Developer Guideline. I put that as a note, since if I started with it, I'd be suspected of troling).

    --
    Eloi, Eloi, lema sabachtani?
    www.fogbound.net
    1. Re:Graceful Error Handling? by Anonymous Coward · · Score: 4, Insightful
      Very simple in my opinion.

      Simple, and wrong. The full rules are as follows:

      if year % 400 == 0: leap year
      else if year % 100 == 0: not leap year
      else if year % 4 == 0: leap year
      else: not leap year

    2. Re:Graceful Error Handling? by TwoStep · · Score: 3, Informative

      If you do this, you will have problems in 2100. It should be:

      if ((year % 4 == 0) && ((year % 100 != 0) || (year % 400 == 0))
      LeapYear()
      else
      NotLeapYear()

      --
      There are 10 different types of people in this world... those who understand binary, and those who don't.
    3. Re:Graceful Error Handling? by DAldredge · · Score: 4, Insightful

      That is what every cobal programmer said. Guess what, they where wrong and so are you.

      Please stop programmer if you are unable to think about the results of your actions.

  2. SARA VS Pioneer Passport by Gangis · · Score: 3, Informative

    I have the 8000 model, and it runs Pioneer Passport ECHO software, from Brighthouse Central Florida. From what I've been hearing on the SA8000 mailing list, this type of issue only affects those loaded with SARA software. The Passport software has some issues, where it won't display the showings for Sunday in the guide (it just skips from Sat to Mon.)

    No word on if they're going to fix that for the Passport models as well.

    --
    "Black holes are where God divided by zero." - Steve Wright
  3. getting the splinter and missing the 2x4? by Roman_(ajvvs) · · Score: 5, Insightful
    That's just piss poor programming. Honestly, If you can't figure out that knowing about and handling leap years is important in software that schedules, then maybe outsourcing your position is fitting...

    I recall I had a whole discussion with my friends about whether 2000 had a leap year. Most of those who got it wrong weren't the most computer literate, but it took about 5 minutes to figure it out from the internet.

    It's needless bugs like this, which give programmers a bad name.

    --
    click-clack, front and back. I'm not moving this car otherwise.
    1. Re:getting the splinter and missing the 2x4? by spitzak · · Score: 5, Interesting

      Actually the weird thing about getting 2000 wrong (it *IS* a leap year) is that it requires more research to actually get it wrong. A very simple approach would get it right.

      In order of complexity leap year algorithims are:

      0. No year is a leap year (2000 is wrong)
      1. All years where n%4==0 are leap years (2000 is right)
      2. Except when n%100==0 (2000 is wrong)
      3. Except when n%400==0 (2000 is right)

      For some reason a huge number of people are at aware of the rules up through #2 above, even though knowing only #1 would make the results more correct.

    2. Re:getting the splinter and missing the 2x4? by CowboyNick · · Score: 5, Funny

      Top x reasons you've been coding to much:

      ......
      2. You start all lists with "0".
      .....

      --
      -CowboyNick
  4. Y2K? by CowboyNick · · Score: 4, Insightful

    How is this a Y2K-like bug? This seems more like a date calculation bug. Before you flame, I understand that Y2K bugs were date realted also, but this is not related to the end of a millennium, more like the calculation of a leap year.

    --
    -CowboyNick
  5. Mine was fixed quickly by slothman32 · · Score: 4, Informative

    Hey I have that. I was watching TV yesterday it it wouldn't record. I pressed the button then select, it right away went back to the guide or show. Manual recording did work though. Luckely TW "rebooted" my machine for me and it works fine now. I didn't even think that it was a "y2k" or feb 29th issue thou it did start just before the end of Sunday. Regardless of what you say about TW or other big companies it was fixed within 24 hours of the problem. And it still worked mostly before that.

    --
    Why don't you guys have friends or journals?