Autopsia al código fuente del Zune revela orden de suicidio

Autopsia al código fuente del Zune revela orden de suicidio

(c) Pastie.org

Para los más fanáticos o para aquellos que requieren de una explicación lógica ante un problema complejo, ya está disponible el código de programación que hizo que miles de reproductores Zune dejaran de funcionar colectivamente. El error comienza en la línea 249.

En circunstancias normales, esto funciona muy bien. La función sigue restando ya sea 365 o 366 hasta que se reduce a menos de un año para luego convertirse en el mes y el día de mes.

Lo que pasa es que en el caso del último día de un año bisiesto, continúa hasta que llega a 366. Debido al if (days>366) la ejecución para de sustraer si el bucle (loop) pasa a ser un año bisiesto. Pero 366 es demasiado grande para salir del bucle principal, lo que se traduce en que el Zune continue en el loop infinito sin hacer nada.

Si el error no se arregla, lo mismo va a suceder el 31 de diciembre del 2012… Microsoft, tienes 3 años… ¿alcanzarás?

Link: PQOAL Real-time clock (RTC) routines for the MC13783 PMIC RTC (Pastie.org)