Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Microsoft Media Music

Microsoft Issues Workaround For Zune Freeze 277

UnknowingFool writes "As a followup to the Zune New Year's Eve meltdown, Microsoft has issued a workaround for what some users have correctly guessed was a bug caused by a leap year. To recover from the problem, let the Zune drain the batteries and restart it after noon on January 1, 2009. Many sites are reporting that Microsoft has 'fixed' the issue, but technically all Microsoft has done is to ask users to wait out the conditions that triggered the bug. Unless a software patch comes out, Zunes will suffer the same problem again in four years." Reader ndtechnologies adds, "According to posts in the Toshiba forum at anythingbutipod.com, the same bug that shut down millions of Zune 30's also affects the Toshiba Gigabeat S. The Zune 30 is based off of the Gigabeat S series and was co-developed by Microsoft with Toshiba."
This discussion has been archived. No new comments can be posted.

Microsoft Issues Workaround For Zune Freeze

Comments Filter:
  • by thetoadwarrior ( 1268702 ) on Saturday January 03, 2009 @03:29PM (#26313329) Homepage
    So this is an acceptable solution.
    • by Sancho ( 17056 ) *

      After all the hell that people give Microsoft for not supporting a 9 year old OS? Yeah, right.

      Besides, I know people who still have first generation iPods.

      • by ccguy ( 1116865 ) on Saturday January 03, 2009 @03:59PM (#26313587) Homepage

        Besides, I know people who still have first generation iPods.

        And if they broke, would they expect apple to fix them?

        Suppose instead of this being Zune's firmware it was a microwave you bought 5 years ago. Would you have any claim to have it fixed (out of warranty, etc).

        • by Tubal-Cain ( 1289912 ) * on Saturday January 03, 2009 @04:14PM (#26313703) Journal
          Microwaves do not lock up because of leap year issues.
          • by Leif_Bloomquist ( 311286 ) on Saturday January 03, 2009 @05:52PM (#26314387) Homepage

            My microwave has a firmware bug. After I heat something, if the next button on the keypad I press is anything other than "Reset", it locks up. It's incredibly irritating (since I'm usually putting something else in and trying to enter a new cooking time). That said, the microwave cost under $50...

            • Re: (Score:3, Insightful)

              by sowth ( 748135 )

              If I bought a microwave and it did that, I would probably never buy from the manufacturer again. Maybe if they apoligized for making such a crappy product and it was shown they now don't make defective products anymore. Though even then, if it was the exact same product as another mfg with the same chance for defects and such, I would buy the other guy's product.

              Your bar is too low. If you bought it as a charity case or because you want to help out local / new businesses I could understand, but putting up

          • Why are software defects any different that hardware defects?

            If my microwave had a defective gear in the motor that spins the turny-thing (technical term) that broke after warranty, I wouldn't expect it to be fixed. Is a defective line of code somewhere really all that different?

            • Re: (Score:3, Insightful)

              by Alex Belits ( 437 ) *

              Because software does not wear out?

            • by Tycho ( 11893 )

              The OBD (OnBoard Diagnostics) system on my 1996 Honda Odyssey "Minivan" had its "Engine Misfire" sensor intentionally disabled, which caused the emissions released to violate EPA standards. The EPA sued Honda, and both came to an agreement that gave owners free replacement of the defective components under a "warranty extension". The lawsuit was settled back in 1998, however. Seriously, did you think the same thing would have happened at any time recently under Cheney err, W?

              Then there is also the Apple

        • by datajack ( 17285 ) on Saturday January 03, 2009 @04:16PM (#26313735)
          The difference being that microwaves suffer wear and tear and can develop a fault after five years.

          This is software, the fault was there when it was purchased.
          • Apropos microwaves and mp3 players... I've got a 20 years old Samsung microwave (it's almost older than myself) and it hadn't suffered from any failures throughout its whole lifetime, and is simply Still Working. Amazing, compared to my Sandisk Sansa C150 mp3 player that I had to replace after two weeks because of some software bug that permanently froze the device...

            It's sometimes funny how >15 yro devices outlive new products.
        • by mindwhip ( 894744 ) on Saturday January 03, 2009 @04:26PM (#26313799)
          The microwave failure would be acceptable wear and tear. The Zune was in effect sold with a predictable and correctable flaw (leap years are very predictable), causing it fail out with normal wear and tear, which would class it as defective product.

          In UK law at least this is a significant difference... you can never tell in the US though.
          • by capnkr ( 1153623 )

            Plus, this 'fix' will adversely affect the battery, shortening it's life and/or lessening capacity. Draining a battery to dead flat is never good. Having to do it to 'fix' a bug is like adding insult to injury (to Zune owners).

          • by Paradise Pete ( 33184 ) on Saturday January 03, 2009 @06:45PM (#26314805) Journal

            The Zune was in effect sold with a predictable and correctable flaw

            And if you look at the bug in the code [pastie.org] (line 259) it's atrocious. Something a junior programmer would be embarrassed about.

            When days is 366 it causes an infinite loop. And also note that simply changing line 263 to use 365 causes a different bug. So the whole approach is wrong. It ought to simply be

            while (days > daysInYear(year))
            {
            days -= daysInYear(year);
            year += 1;
            }

            • by jc42 ( 318812 ) on Saturday January 03, 2009 @11:11PM (#26316637) Homepage Journal

              It ought to simply be

              while (days > daysInYear(year))
              {
              days -= daysInYear(year);
              year += 1;
              }

              Hey, c'mon now; programmers are almost universally judged by their bosses by the number of lines of code they produce. The (buggy) MS code used 16 lines to do what you did in 5 lines. Therefore, the original (buggy) code is considered more than 3 times better than yours. No programmer interested in a good professional career would write code so simply and obviously correct.

              This isn't really a joke. One a project a few years ago, I fixed several bugs by doing rewrites like yours, resulting in fewer lines of code. My record actually had a note indicating that I had negative productivity during that period, and my superiors had a real problem giving me a good review because of it.

              Yes, I did find another job soon thereafter. But that wasn't the last time something like that happened.

              (And I would probably save the first call of daysInYear(year) in a local variable, which would make the code a bit faster. But I could declare the local on a separate line, incrementing the line count, so it would look good to the line counters. ;-)

          • by BeerCat ( 685972 )

            The Zune was in effect sold with a predictable and correctable flaw (leap years are very predictable), causing it fail out with normal wear and tear, which would class it as defective product.

            In UK law at least this is a significant difference... you can never tell in the US though.

            Perhaps the existing consumer protection legislation is one reason why it hasn't been sold in the UK?

        • by Pentium100 ( 1240090 ) on Saturday January 03, 2009 @04:36PM (#26313853)

          You can get the microwave (or a tape recorder, or a VCR) fixed by a third party (or do it yourself) depending on what part has broken.

          Only Microsoft can fix these firmware issues. If the source code for the firmware was publicly available, someone could fix the problem and distribute the fixed firmware for free or for money, but since it isn't, only MS can patch it.

        • by witherstaff ( 713820 ) on Saturday January 03, 2009 @04:52PM (#26313963) Homepage

          Why are consumer electronics any different than any other product? Let's talk about items costing less than a laptop, so less than 2000.

          Would you accept if your 5 year old ___ broke , was unfixable, and needed a new replacement?

          • Home Furnace
          • Central Air
          • Oven
          • Refrigerator
          • Bike

          You get the picture. Why are electronic manufactures exempt from shoddy products that don't have some sort of reasonable lifespan? Not wear and tear or dropping a product, just the product becoming unusable due to the product having some bug/feature to break it outright like the Zune.

          As to a microwave, a 5 year old whirlpool oven broke on me and they no longer had replacement circuit boards. Whirlpool expects their products to have at least a 10 year lifespan. They pro-rated my equipment and sold a new unit, installed, for 33% of the cost. Now that's an acceptable solution for shoddy workmanship.

          • by mustafap ( 452510 ) on Saturday January 03, 2009 @04:58PM (#26314011) Homepage
            >Why are electronic manufactures exempt from shoddy products that don't have some sort of reasonable lifespan

            Because collectively we accept this. Sad but true.
            • Re: (Score:3, Interesting)

              by alvinrod ( 889928 )

              I think that at least part of the reason we collectively accept this has a lot to do with the idea that these devices are generally obsolete are at least significantly out of date after five years. If refrigerators and bicycles were making the same kind of advances as these other products, most people honestly wouldn't care if they junked out in five years. If your fridge was doubling in performance every 18 months, wouldn't you want to get a new one every six years or so to take advantage of the cost savin

              • but mom and pop won't even be able to scratch the surface of their eight core, eight gig RAM system with just office apps and email
                Never underestimate the power of bloatware..........

          • by drew ( 2081 )

            Where were you able to buy a home furnace that cost you less than 2000? My wife and I got a huge discount on our furnace (she's an architect) and we still paid a fair amount more than that. And our house is not very large. Unless you live in a condo or a small townhouse (or perhaps Florida) you're going to pay a lot more than that for a furnace.

            At any rate, I don't think that the standard is all that much lower for consumer electronics in general. Last year my parents finally replaced their TV, which wa

        • Re: (Score:3, Informative)

          If the microwave was only 5 years old and it broke down, you are covered in England and Wales by consumer protection laws if it less than six years old and it break down. Just as long as you can prove it was not accidental damage, your covered for a free repair. :)

          Just something for the UK readers here. Covers anything electronic.

        • Comment removed based on user account deletion
          • I actually brought in a semi-broken iPod with obvious firmware modifications and they still replaced it free of charge. Oh, and yes, it was out of warranty.
        • by Idaho ( 12907 )

          Suppose instead of this being Zune's firmware it was a microwave you bought 5 years ago. Would you have any claim to have it fixed (out of warranty, etc).

          In the case of a microwave or similar household appliance (dish washer, washing machine, fridge etc.), if it breaks within only 5 years or even less from mechanical failure I'd never buy that brand again. If it breaks due to what is obviously a (software) design flaw that the manufacturer subsequently refuses to address (at their cost), same story.

          Such stu

  • But I've got to say: this is just typical.

    • by mike260 ( 224212 ) on Saturday January 03, 2009 @09:43PM (#26316021)

      I'm not your average joe MS basher

      True enough; nowadays, the average Slashdot-dwelling MS basher will try to make some kind of reasoned, evidence-backed argument instead of just huffing loudly and saying "this is typical".

    • [I'm not your average joe MS basher] But I've got to say: this is just typical.

      That definitely sounds like the average Microsoft basher. I think I hate Microsoft more than most, and hate Zune as much as you. Even so, I just wish my iPod and Fedora installations would only fuck up one day out of every four years.

  • Nice! The best way to fix something is do nothing at all and hope it works next time. Well done!
  • Testing!?! (Score:4, Insightful)

    by FranTaylor ( 164577 ) on Saturday January 03, 2009 @03:36PM (#26313387)

    You would think that a company the size of Microsoft would have the resources to have a few Zunes in QA with their clocks set ahead. But hey, there were no lessons to be learned from Y2K, right?

    • Re: (Score:3, Funny)

      by Anonymous Coward

      What's Y2K? Isn't it 1909 now....?

    • by Sancho ( 17056 ) *

      Clocks set ahead? Leap year is a really well-known edge case. There's no acceptable reason that setting the date to the boundaries in a leap year (including February 29, and the day before, and the day after) shouldn't be part of the standard tests.

    • by plopez ( 54068 )

      You're assuming that MS has some sort of institutional competence.

    • I'm more concerned about what kind of date calculation and/or storage these things are doing that would cause a hard freeze at the end of a leap year. It's not like there aren't already dozens of perfectly-working timekeeping systems out there.
  • The Source Code (Score:5, Informative)

    by linumax ( 910946 ) on Saturday January 03, 2009 @03:46PM (#26313479)
    Here [pastie.org] is source of the trouble.
    • Ok, it's been posted on every website and every forum about this issue on the entire Internet...

      Is there any verification at all that this is actually the buggy code? Or did someone just pull it out of their ass? (I mean, obviously this code has the same bug, but is it the same code the Zune uses?)

      • by fm6 ( 162816 )

        I did a little googling and came up with this post [zuneboards.com], which claims that the code comes from the Freescale web site. Also a more informative explanation of the bug for those of us not up to analyzing all that C code.

        There are two things that have me scratching my head.

        First, doesn't anybody at Toshiba or MS do code reviews?

        Second, doesn't Windows CE have libraries for converting from one date type to another? Is it not practical to use them in drivers? Or did somebody hand-code this conversion because they cou

    • For anyone who's too lazy to search for it, the specific issue is on lines 259-274. (That would of course be in the "loop forever on leap day" function. ;-)

  • by Anonymous Coward

    A quote from the ZuneBoards forum:

    After doing some poking around in the source code for the Zune's clock driver (available free from the Freescale website), I found the root cause of the now-infamous Zune 30 leapyear issue that struck everyone on New Year's Eve.

    The Zune's real-time clock stores the time in terms of days and seconds since January 1st, 1980. When the Zune's clock is accessed, the driver turns the number of days into years/months/days and the number of seconds into hours/minutes/seconds. Likew

  • Amazing.. (Score:5, Funny)

    by NfoCipher ( 161094 ) on Saturday January 03, 2009 @04:01PM (#26313607) Homepage

    The first step to fix any microsoft problem - reboot.

  • by dmomo ( 256005 ) on Saturday January 03, 2009 @04:13PM (#26313697)

    Wouldn't it be faster for Microsoft to simply give each of the 8 users a call and walk them through the work-around? If their numbers change in the next four years, they can simply notify Zune support.

  • by postmortem ( 906676 ) on Saturday January 03, 2009 @04:31PM (#26313823) Journal

    Can't be good.

    I've seen this in laptops leading to drastically decreased storage capacity.

  • by syntap ( 242090 ) on Saturday January 03, 2009 @04:41PM (#26313883)

    I hadn't turned on the Zune before I read about the problem, so I just left it off and turned it on the morning of Jan 1 and everything worked fine, no need to drain battery or anything.

    The above is not an admission that I own a Zune, just what I theoretically would have done and the theoretical results, based on heavy pretend observations.

  • Does anyone know why the Zune 80s didn't crash? I assumed they ran the same software and similar hardware.

  • Out of curiosity... (Score:3, Interesting)

    by The Man ( 684 ) on Saturday January 03, 2009 @06:03PM (#26314461) Homepage

    Why does a music player need to know the date or time at all?

    • Re: (Score:2, Informative)

      by Anonymous Coward

      Why does a music player need to know the date or time at all?

      For the DRM to work.

      Non-DRM using pirates win again, arrrr!

    • by loconet ( 415875 )

      DRM has gotta be at the top of that list of reasons..

    • Re: (Score:3, Interesting)

      For me, it helps for "smart playlists". I have iTunes set to automatically put recently added and recently played music on my iPod. The recently played list would get out of date if the iPod couldn't track when the music was played. And I agree with this guy [slashdot.org]. I use my iPod as a clock more often than I use my cellphone.
    • Re: (Score:3, Informative)

      by cbhacking ( 979169 )

      Anything from month-to-month media rental (for example, the Zune Pass) to simply displaying the time like a watch (how many people do you know who pull out their cell phones to check the time? I know at least 4, and it amuses me to no end, but in any case a "current time" display was one of the most-requested features for the Zune 3.0 firmware).

  • All they've done (Score:4, Interesting)

    by fm6 ( 162816 ) on Saturday January 03, 2009 @07:04PM (#26314937) Homepage Journal

    ... all Microsoft has done is to ask users to wait out the conditions that triggered the bug.

    And considering that the bug only came to light two days ago, that's pretty good.

    I speak from experience. I'm a tech writer, and I've written literally thousands of bug summaries for customer support web sites and release notes. (In 1999, I did almost nothing else.) Finding the problem, identifying a workaround, and getting it out to the public in such a short time is pretty impressive.

    Presumably they're working on a patch, but they won't say they anything about it until it's ready to go. It's an ironclad rule that you never talk about these things before they're ready, not if you want avoid vaporware lawsuits. It should be obvious to anybody that creating, testing, and staging a software patch takes a lot longer than writing up a workaround.

    • Of course, one can credibly claim that the bug should never have existed in the first place, given that the loop triggering the bug wouldn't have passed a code review in any half-decent software organization.

      • by fm6 ( 162816 )

        I think "credibly claim" is a mild way of putting it. Not only did they neglect the code review, but it doesn't make sense to me that the code even exists. Doesn't Windows CE have libraries for converting data like this? Assuming, of course, the library was properly written. But that's the advantage of using a library instead of coding it yourself — any given bug is likely to bite somebody else before it bites you.

        Alas, I've seen bugs even stupider than this. Once I documented a BIOS bug that was a bo

    • And considering that the bug only came to light two days ago, that's pretty good.

      Actually, it's pretty shitty. Because let's face it, Microsoft has an infrastructure in place for delivering this sort of information already, so releasing it is a non-issue; and all they had to do to find out this worked was pull a Zune battery and reconnect it, and see how the system was. And this is a seriously screwed workaround, because the Zune's battery doesn't want to be completely discharged. In fact, it frowns pretty heavily on that sort of activity. Battery abuse is a terrible, terrible thing. Of

      • by fm6 ( 162816 )

        Actually, it's pretty shitty. Because let's face it, Microsoft has an infrastructure in place for delivering this sort of information already, so releasing it is a non-issue...

        Dude, I do this shit for a living. Trust me, two days from first bug report to documented workaround is pretty damned good. Getting the information, writing it up, having it reviewed, staging it on the web site, all this takes time.

        That's assuming that you follow proper procedure in creating your documentation. You can always have shortcuts. But it's the shortcuts that create this kind of problem in the first place.

  • I can't say what Apple would do. But, this begs the question why a player that merely plays music needs to figure out what day it is. I can understand why something like the iPhone and iPod Touch might have a bug like this. (Actually, I can't because these both use a real OS). But the Zune is similar to my iPod Classic, and my iPod Classic doesn't know the date and time unless I set it.

    • by Shados ( 741919 )

      Well, for one, the Zune has a clock. For 2, it has an application framework on it that may need date and time stuff (.NET framework, used among other things for XNA...for games...and those often need it). Zunes are somewhere in between the classic Ipod and the Touch, feature wise.

    • by Shados ( 741919 )

      bah, just realized I read your post too quickly (which is sad considering how short it was). I set the clock on my computer too, doesn't mean it doesn't have an internal one for the rest :). Anyhow, the rest of what i posted still stands. Whoopsies!

E = MC ** 2 +- 3db

Working...