Programmer reveals cause of Zune blunder
Ok, someone please tell Nelson Muntz he’s on in five… Now that Z2K has come and gone, we have to sit back and wonder how something so widespread could have such a simple fix – wait till it dies, then turn it back on. For real? The good thing, we suppose, was that if there were people who couldn’t manage their way to Google to search for an answer, their Zunes would eventually just start working again. The bad thing of course, was that the cause of the problem was probably something bush league. Indeed – here is the explanation from itsnotabigtruck of Zune Boards:
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. Likewise, when the clock is set, the driver does the opposite.
The Zune frontend first accesses the clock toward the end of the boot sequence. Doing this triggers the code that reads the clock and converts it to a date and time. Below is the part of this code that determines the year component of the date:
…
Under normal circumstances, this works just fine. The function keeps subtracting either 365 or 366 until it gets down to less than a year’s worth of days, which it then turns into the month and day of month. Thing is, in the case of the last day of a leap year, it keeps going until it hits 366. Thanks to the if (days > 366), it stops subtracting anything if the loop happens to be on a leap year. But 366 is too large to break out of the main loop, meaning that the Zune keeps looping forever and doesn’t do anything else.
Here it comes… Haaa haaa! The affected source code causing this bug can also be found in a few other portables such as Toshiba’s S series. If you happen to be one of the few people out there with one of those puppies and you haven’t resolved the issue by now, the fix is the same so don’t fret. We have to imagine Microsoft will have a fix in place before 2012, the next leap year, but this was a massive bungle that Redmond certainly can’t wait to be forgotten. Sure most people will forget, but we wonder if a bad enough taste was left in the mouths of Zune owners to make them think about jumping ship. Some will, no doubt, but we don’t imagine any hardcore anti-iPod people will have their allegiance swayed.




I knoq you guys love anything apple and hate everything MS but maybe it wasnt Redmonds fault after all http://www.engadget.com/2009/01/03/y28-zune-quirk-really-a-freescale-bug/. I hope no one is stupid enough to listen to your biased advice and become another isheep just because they couldnt use their zune for 1 day. How about the problems with mobileme that lasted more than 1 day, did you advise people to move away from that service? Somehow I dont think so.
I think it is more of a case of poor reporting and lack of fact checking and not so much bias reporting in this case. Repeating rumors doesn’t help so all this will do is push more bad reporting down the Internet pipeline.
But I do remember BGR reporting on the MobileMe problems and not sugar coating it too much just to be fair. And this is coming from someone who thinks BGR is the second coming of Slashdot with pretty pictures.
What everyone seems to have forgotten with this whole Zune/Gigabeat day off is that *Toshiba* produced that first Zune. http://bit.ly/11sJY
The Zune was a victim of its own success (even if its less than the iPod), this issue was not native to the Zune but it was singled out because it was the most popular.
Secondly i don’t really understand why people are making fun of the way the issue was fixed. The Zunes work now, and MS has 4 years to write some firmware. Like boogalooboy said, its really easier to kick someone when there down, rather than acknowledging their success.
I liked this blog better when The boy Genius write most of the posts
The point is, considering programming has been around for quite some time now, a simple case of a leap year should have been taken into consideration with the programming, even if it only occurs every four years.
Yes it starts working again, but that’s one day it didn’t work when you paid for the dang thing to work! What if you had wanted to play your Zune at your party or something??
I couldn’t use mine for a day but that didn’t change anything…this was made into a bigger deal than it actually was and it wasn’t Microsoft’s fault…hopefully it gets fixed forever so they don’t get bashed for something they did not do.
I paid a whopping $99 for my Zune30 and it’s doing a fine job of what I want it to – playing MP3 files. At the time nothing could match it for the price / gb storage so why knock it? The fact that Microsoft still updates it’s firmware is an added plus to me.
Yeah the outage sucked as I was about to transer the latest downloads onto it but it’s back working, a firmware will correct the bug and I’m still not tied to god awful iTunes!
This one doesn’t really bother me. Sure it’s embarrassing but MS got right on it and came up with an answer ASAP even if it was as embarrassing (there’s that word again) as ‘just turn it off till Dec 31 is over’. That’s certainly far more responsive than Apple has been with iPod problems, even when they admit they have them.
Of course I’ve ditched both Zune and iPod now for my Touch Pro, but that has more to do with just one less device to port around.
@Jeremiah, ..yea and companies give programmers unrealistic deadlines so sometimes in the big mess of things these small bugs go unnoticed.
Zune sucks!
That guy should be fired
OK, HOW was it NOT Microsoft fault? Is it NOT Microsoft product? Isn’t sold by Microsoft? Isn’t marketed by Microsoft? Was it not through Microsoft’s so-called quality control? Isn’t supposed to be supported by Microsoft?
So I guess under this logic Apple NEVER had a problem with anything with their name of it as they are assembled in China? Sony they did nothing wrong ever as they can blame a chip maker from anther company? RIM has no fault with their products as they are sold by carriers, not directly by them? HAHA
FANBOY logic at its best! The only success that MS has is with FANBOYS that will not even blame them when their product goes crazy! They sure are not successful with Zune sales as even Sandisk beat them! HAHAHA
@Paul
It isn’t Microsoft’s fault because they weren’t the ones who wrote that code.
For instance, it isn’t Apple’s fault when the defective nVidia GPUs in their notebooks started to break, it was nVidia’s fault.
@ Peter:
Really! Sorry but I think it was Apple’s fault and I do also think it was Microsoft’s fault. It is their product so as a consumer, I do not care who wrote the code. Or who made the part.
With this logic it is almost nobody’s fault as many company’s hire out code writers, buy parts from other companies, and get things assembled in other countries by other people! So great, as with kids today, NOBODY is at fault when its their fault, because we can blame someone else! HAHA
When the consumer when into a store and bought a Zune that carried a warranty and had Microsoft’s name on it, that was Microsoft’s product sold by them, QC by them, profits made by them! I could care who coded what, it is Microsoft’s product, PERIOD! Their fault!
If I buy a car from GM and a wheel falls off on the highway at high speed. Is it GM’s fault if they got the wheel from China? I think so! I bought from GM probably had no idea or even cared where the wheel came from. How may people who bought Zunes know where the parts came from or who coded what and do you think they really care? NO they bought from Microsoft! IT is Microsoft’s product, it is their fault, when it does not work!
@Paul
Why are you shouting? he cant hear you… duhhhh
Why are we still talking about this? The issue for now is resolved and MS will make a firmware so it won’t occur in 2012.
End of Story
it’s Microsoft fault. FAIL
@ Paul
In your example, the Chinese company that made the shitty wheel should be held just as responsible for the wheel falling off, if not more so, than GM for accepting it.
MS is at fault, but they’re not solely at fault. But since you’re calling people fanboys with your first post, you’re not here for rational discussion or a reasonable discourse.
It just pleases me to point out something you’ll never be able to acknowledge because you’re too busy plugging your ears and calling the other side stupid. Have fun!
@ Orga:
The FANBOYS I am referring to on this blog claimed Microsoft was NOT at fault! That was what I was referring to. Seems your ears are the ones that are clogged as you missed that!
You make the more reasonable point that Microsoft IS at fault! That is the reasonable point! Thank for agreeing with me even if you had no idea you were. Attacking the messenger is pretty commonplace on BGR, so I am used to it.
Now it seems it is YOU that is calling me stupid, the guy that agrees with you. The other side you refer to is the FANBOYS that claim Microsoft has NO fault in this! So think, which are you? Maybe you should read all the comments before you attack.