Se ha descubierto un nuevo bug en aplicaciones para Windows que provoca que den el tiempo de manera incorrecta durante una semana a partir del 1 de abril del 2001 en Estados Unidos y Canadá. Aunque este nuevo bug no es técnicamente un fallo del año 2000, es similar porque dará comienzo a partir de una fecha concreta el próximo milenio.
En los Estados Unidos y Canadá se produce una modificación en los horarios, para favorecer el ahorro de energía, el primer domingo de abril, y vuelve a restaurarse el último domingo de octubre. Más información sobre las reglas por las que se rigen estos cambios se puede encontrar en http://www.energy.ca.gov/daylightsaving.html
Muchos programas para Windows parecen heredar un bug que provocará que a partir del 1 de abril del 2001 ofrezcan el tiempo de manera errónea. El fallo se corregirá el 8 de abril, cuando estas aplicaciones realizarán, tras una semana de retraso, el cambio de horario. Entre los miles de paquetes de software afectados por este bug nos podemos encontrar aplicaciones como Internet Explorer 4 y Netscape Navigator 4.
El problema es causado por una librería de la herramienta de programación Microsoft Visual C++, con las que se desarrolla gran parte del software para Windows. Esta librería asume que el cambio de horario por ahorro de energía se produce el día 8, en vez del 1 de abril en el año 2001. Se ha demostrado que esto ocurre cuando el primer domingo de abril coincide con el día 1. La última vez que se dio esta coincidencia fue en 1990, ahora dará en el 2001 y se volverá a repetir en el 2007.
El bug se introdujo ya en la versión 4.1 de Visual C++, y según se ha podido demostrar se encuentra presente en las versiones 4.2, 5.0 y 6.0. El fallo se muestra al interrogar la función localtime(), aunque no se descarta que pueda encontrarse también en otras funciones definidas en «time.h».
Microsoft ya incluye en el NT Resource Kit dos utilidades, TZEDIT.EXE y TIMEZONE.EXE, para modificar las zonas y cambios de horario por parte del usuario. La corrección para el software afectado pasa por un parche para Visual C++ o una nueva versión corregida. Aunque esto suceda se estima que serán muchas las aplicaciones que presenten este bug debido al enorme número de desarrolladores que existe.
Deja una respuesta