Internet et l’informatique prendront fin dans 30 ans à cause d’un bug !Vous vous souvenez du bug de l’an 2000 ? C’était que du bonheur ! Ca a relancé le marche de l’informatique surtout pour les vieux barbus fan de Cobol et en fait, à la place de l’apocalypse numérique que les médias nous proposaient, il ne s’est quasiment rien passé…
On n’a pas eu de crash d’avion, de black out, d’explosion nuclaire ou de paralysie de tous les Microsoft Windows de la planète…
Déçu ?
Naaaan, faut pas car un nouveau bug apocalyptique va faire son apparition dans 30 ans ! C’est à dire en 2038. Ce bug affectera principalement les systèmes à base d’unix car ces derniers stockes le temps (date et heure) dans un entier signé de 32 bits (signed integer pour les connaisseurs) contenant le nombre de secondes écoulées depuis le 1er janvier 1970.
Et alors me direz vous ? Alors la limite de ces 32 bits, c’est à dire la date maximum qu’on peut atteindre avec ce format standard c’est le 19 Janvier 2038 à 3h14 (le matin).
Ca y est vous comprenez tout ? Après cette date, le temps va se planter et être représenté comme un nombre négatif ce qui aura pour conséquence de planter pas mal de programmes qui ne se croieront plus en 2038 mais en 1901 !
On connait ce problème car le bug de 2038 s’est en fait déjà produit en Mai 2006 lorsque les AOLServer (serveur open source d’AOL) ont crashés. Le logiciel avait été conçu pour que les requêtes lancées en base de données n’expirent “jamais” mais au lieu de fixer ce timeout à 0, il a été fixé à 1 milliard de secondes dans le futur. Et pas de bol, 1 milliard de secondes après le 12 Mai 2006 à 21h27 et 28sec ça tombe en 2038, et le sytème a alors calculé des timeout négatifs, ce qui l’a fait crashé.
Ce bug a aussi affecté le Rover Spirit, robot lancé en 2003 et arrivé en 2004 sur Mars, qui a planté (souvenez vous) et n’a plus répondu pendant plusieurs jours.
Tous les détails sont ici. Intéressant... Je ne sais pas si on doit s'attendre à quelque chose de gros mais il me tarde d'avoir mes 48 ans.