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

(c) Pastie.org

(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)

Compartir Compartir
Publicado por Alexander Schek el 2 de January 2009 en la categoría Destacados, Software con los tags , , , , . Tiene 101 comentarios.

101 Comentarios

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

Deja tu Comentario ↓

Ver Todos Páginas: 1 2 3 [4]

Lolo

DesaprobarAprobar-1Lolo dijo el 4-1-2009 a las 15:05:

91

Es triste… nadie reconoce el trabajo de los informáticos, sólo se acuerdan de nosotros cuando ocurren embarradas como éstas…

:’(

hola hola

DesaprobarAprobar-1hola hola dijo el 5-1-2009 a las 12:47:

92

10 print “no entendi ni huea”
20 goto 10
run

michael

DesaprobarAprobar-1michael dijo el 5-1-2009 a las 13:33:

93

obvio pa eso estamos

Maxi

DesaprobarAprobar1Maxi dijo el 6-1-2009 a las 09:35:

94

el lenguaje de progranmacion que usan es el maxelocked code!! aprendan freakis lolS!!!

donboa

DesaprobarAprobar0donboa dijo el 7-1-2009 a las 16:05:

95

Tanto color por un signo =.

jajajajaja

Al otro lado del mostrador » ¿Qué les pasó a los Zunes de 30 gigas?, estábamos allí

DesaprobarAprobar0Al otro lado del mostrador » ¿Qué les pasó a los Zunes de 30 gigas?, estábamos allí dijo el 8-1-2009 a las 05:39:

96

[...] varios blogs y webs, (aquí por ejemplo en FayerWayer) se ha dado la explicación técnica de como se ha producido ese fallo. Recomiendo la lectura de [...]

Fernando

DesaprobarAprobar0Fernando dijo el 8-1-2009 a las 09:34:

97

El error no es que days = 367, eso es correcto, ya que ese día es el que tiene que convertir a primero del año próximo.

El problema es el while. Debería ser un if.

Al ser un while, el días 366, entra en el bucle, pero como es bisiesto aún no tiene que pasar a primero de enero, por lo tanto no cambia la variable days y no sale del bucle.

Creo que deberían ser más respetuosos con el trabajo de otros, este es un error simple, pero que le puede pasar a cualquiera, es fácil desde el anonimato de internet acusar a un programadro de haberce equivocado en una línea de código, pero los que programamos día a día, sabemos que estos errores son frecuentes y no son fáciles de evitar.

Un saludo.

citadino

DesaprobarAprobar0citadino dijo el 10-1-2009 a las 22:49:

98

Aqui creo que la metida de pata viene de usar directamente los números de días dentro del código y no haberlos declarado como nombres de constantes al inicio del script/programa. Aunque parezca bien poner la cantidad de días del año directamente en TODO el código, si hubiesen usado dos constantes con nombres como “TotalDaysNormalYear” y “TotalDaysLeapYear” hubieso sido más fácil leer el código para distinguir los dos condicionales (el del “if” y el del “while”) y evitar el error. Una persona tal vez cansada o apática se podría confundir tratando de diferenciar entre los números 365 y 366.

Tip para sus próximos proyectos de programación…

Duende

DesaprobarAprobar0Duende dijo el 31-1-2009 a las 02:57:

99

yo no creo que los de microsoft suelten asi no mas el codigo de sus aplicaciones…. de donde lo sacaron es una pagina para colocar codigos fuentes …. si es un chiste… (aparte del “error”) pues no lo entendí.. saludos

ciao

Brandon Alvarez

DesaprobarAprobar0Brandon Alvarez dijo el 6-2-2009 a las 17:47:

100

jajaja lo bueno esque solo es con el zune 30GB con el 80GB no!! y menos con el 120GB ok Salu2

Don QUijote de Nicaragua

DesaprobarAprobar0Don QUijote de Nicaragua dijo el 2-3-2009 a las 18:08:

101

Bueno, ahora que a veces miro mis errores en los sistema que desarrollamos ya me siento mas tranquilo jajaja al mejor mico se le cae el sapote como decimos aqui.

Ver Todos Páginas: 1 2 3 [4]

Deja tu Comentario

XHTML: Puedes usar: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>

Previsualizar comentario?