Qué es el efecto Y2K38 y porqué es más peligroso que el efecto 2000

SINCE

Imagina por un instante que caminas por la calle y un cajero automático comienza a escupir billetes. Pensarás en lo divertido que es la escena y que hasta ese momento creías que esas cosas sólo las verías en las películas. Aquí posiblemente he exagerado un poco pero… Ok, volvamos a empezar. Imagina que no puedes tomar el metro al trabajo porque la máquina se niega a leer tu billete. Imagina que de pronto la luz se apaga o que Internet deja de funcionar…

 — Espera, eso ya lo conozco. Estás describiendo el efecto 2000 versión capitulo de los Simpson.

Bueno, todos sabemos que el efecto 2000 no fue tan espectacular como anunciaban y no creo que hubiera muchos problemas en aquel momento que no fueran resueltos con meses de antelación. Eso sí la prensa dedicó miles de millones de hojas de papel en su editorial para meternos miedo.

El efecto 2000 era un error previsible que afectaba a cómo los sistemas informáticos entendían el día en el que vivían o dicho de otra forma en cómo almacenaban las fechas en sus registro causado por la costumbre que habían adoptado los programadores de omitir la centuria en el año para el almacenamiento de fechas (generalmente para economizar memoria), asumiendo que el software solo funcionaría durante los años cuyos nombres comenzaran con 19.

— ¿Y sucedió algo?

No mucho. El problema se resolvió a tiempo y ningún avión se estrelló esa noche pero si hubo algún episodio particularmente curioso:

  • En Ishikawa, Japón, un equipo de supervisión de radiación falló a medianoche, pero los funcionarios dijeron que no había ningún riesgo para el público.
  • En Onagawa, Japón, una alarma sonó en una planta de energía atómica dos minutos después de la medianoche.
  • En Japón, dos minutos después de la medianoche, Osaka Media Port, una compañía de telecomunicaciones, encontró errores en el manejo de las fechas en parte de la red de la compañía. El problema fue arreglado a las 2:43 a.m. y no se interrumpió ningún servicio.
  • En Japón, la red de comunicaciones móviles de NTT (NTT DoCoMo), el operador de telefonía móvil más grande de Japón, divulgó el 1 de enero de 2000 que algunos modelos de teléfonos móviles suprimían los nuevos mensajes recibidos, en lugar de los viejos, cuando se llenaba la memoria.
  • En Australia, las máquinas validadoras de billetes de autobús de dos estados no pudieron funcionar.
  • En Estados Unidos, 150 máquinas de peaje en las pistas de carreras en Delaware dejaron de funcionar.
  • En Estados Unidos, el observatorio naval, donde funciona el reloj principal que marca el tiempo oficial del país, tuvo una interferencia de Y2K en su sitio web. Debido a un problema de programación, el sitio divulgó que la fecha era el 1 de enero de 1910.
  • En Francia, el servicio nacional de meteorología, Metéo Francia, dijo que un error de Y2K había hecho que su página web mostrara un mapa con el parte meteorológico del sábado con fecha 1/1/1910.
  • En el Reino Unido, algunas transacciones de tarjetas de crédito fueron rechazadas o fallaron en conjunto mientras que trabajaron recíprocamente ciertos sistemas.
  • En Italia, Telecom Italia envió los primeros dos meses de cuentas, con fecha de enero de 1900.
  • En Pennsylvania, Estados Unidos, una computadora de la biblioteca de una escuela primaria cobró al cuerpo estudiantil excesivamente por tener prestados los libros durante 100 años.
  • En España, se detectaron problemas menores en dos centrales nucleares, en alguna gasolinera y en el sistema de recogida de datos de tráfico.
  • En España fallaron algunos parquímetros, que simplemente rechazaban los tickets de coches aparcados antes de medianoche.
  • En algunas páginas web de empresas de transporte, algunos paquetes figuraban que habían tardado 17.101 años (19.100 menos 1999) más algún día, y estos días son los que realmente se tardó en entregar.

Incluso dio lugar a alguna broma. En Países Bajos, la cadena pública de televisión Nederland 3 de la NPO había hecho un conteo final para año nuevo. Cuando ya era medianoche la pantalla se corta y aparece la carta de ajuste del canal con los colores torcidos, la pantalla desfigurada y una interferencia con la carta de ajuste con caracteres georgianos como logo del canal. Después de dos minutos y medio de lo mencionado, aparece una mujer (posiblemente también presentadora del canal) sosteniendo una copa por el nuevo milenio.  😉

— Pero todo esto ya pasó. Ya no tenemos razón para preocuparnos, ¿verdad?

Bueno, en realidad el efecto 2000 es un chiste comparado con lo que se viene encima. Pero tranquilo que para entonces ya estará todo resuelto salvo que alguien viva en un bunker con sus computadoras de la era Reagan conectadas a Internet.

Si no lo conocías este es el efecto al que debemos tener miedo. Y también una de las razones por la que las distribuciones Linux más populares están anunciando el fin de los 32bits en favor de sistemas de 64 bits.

El efecto se conoce como el problema del año 2038 (conocido también por  Y2K38) y afecta a los programas que usen la representación del tiempo basada en el sistema POSIX, que se basa en contar el número de segundos transcurridos desde el 1 de enero de 1970 a las 00:00:00. Al contrario que en el efecto 2000 no es que volvamos a 1900 sino que al superar la fecha del 19 de enero de 2038 el contador 32 bit no podrá continuar y podría producir un fallo grave en el sistema.

Si alguna vez te preguntabas el porque de esa prisa por migrar nuestro sistema y programas a 64bits esta animación lo deja aún más claro.

Year_2038_problem

Este problema afecta a un gran número de software. Por ejemplo el kernel Linux comienzan a contar desde las 21:00 del 31 de diciembre de 1969 y en Android, ocurre exactamente lo mismo, ya que utiliza esta versión de kernel. Aunque este problema ya está en gran parte resuelto en sistemas de 64bits todavía queda mucho software de 32bits en uso en la actualidad. Sobra decir que si todavía usas Windows XP o MACOS 9 deberías pensar en actualizarte con urgencia…

— Muchos bancos utilizan Windows XP en sus cajeros…

— Caya, caya 😉

La solución pasa por cambiar el actual método por el registro de la fecha en un entero de 64 bits, lo que retrasaría la fecha del problema unos 2,90 billones de años (2,9 × 1012). Con la que ya podríamos extinguirnos tranquilos y dejar un superordenador con todo el conocimiento universal y podría dar tiempo a que ET el extraterreste nos visitase sin riesgos para ver todos los capítulos de los Simpson y en especial “Life’s a Glitch, Then You Die” que es el que ha inspirado este articulo.

Más información: https://es.wikipedia.org/

  • Miguel, segun el gif que has puesto, si que podría seguir contando el contador de 32bits, pero pasaría algo parecido a lo que dicen para el efecto 2000, es decir, se saltaría a una fecha del pasado según la interpretación que se haga de ese contador. Lo que dices con que el contador no podría continuar, supongo que pasaría cuando pase el doble de tiempo y todos los bits estén a 1 y entonces al intentar incrementarse de un overflow del registro y se produzca una excepción o algo así.

    • Miguel Parada

      Exacto. Lo has expresado mejor que yo. Efectivamente. El problema es la saturación de la pila. No pudiendo seguir el conteo.

  • Iyán Méndez Veiga

    Vaya post más interesantes. Sobre todo la parte inicial citando los problemas que surgieron en el año 2000. ¡Pero ojo! Que también leí un error mítico de la misma prensa que se empeñó en aterrar a todo el mundo. El paso de 1999 a 2000 no es un cambio de milenio, en realidad hubo que esperar al 1 de enero de 2001 y por aquel entonces ya nadie estaba preocupado por el efecto 2000 jajajaa
    Luego, casi me arranco los ojos al ver el «Caya, caya» jajajaja
    Pero post muy interesante, sí señor 😉