Aller au contenu

Richard Coudrais

Bug 2038
Accueil » blog » le bug de l’an 2038

le bug de l’an 2038

On croyait s’en être définitivement sorti après le bug de l’an 2000 mais voilà qu’une nouvelle apocalypse numérique est annoncée pour le 19 janvier 2038 à 3 heures 14 minutes et 7 secondes. Ce sera un mardi.

La compte à rebours est déclenché depuis longtemps. Chaque seconde qui passe nous rapproche inéluctablement du mardi 19 janvier 2038. Et de l’ultimatum annoncé à trois heures du matin. Sans doute dormirez-vous à ce moment-là alors que, à 3h14 et sept secondes, le timestamp qui compte toutes les secondes passées depuis le 1er janvier 1970 à minuit atteindra la 2.147.483.647e seconde, ce qui dans un système à 32 bits représente son nombre maximal.

C’est encore plus parlant une fois affiché en binaire : Le chiffre « 01111111 11111111 11111111 11111111 » passera dans la seconde qui suit à « 10000000 00000000 00000000 00000000 », ce qui en décimal représente −2.147.483.648, une valeur négative qui ramènera tous les ordinateurs… au 13 décembre 1901 !

Le problème concerne les machines, systèmes d’exploitation et logiciels montés sur 32 bits, c’est à dire la quasi-totalité du parc informatique mondial.

Comme avant l’an 2000, une armée d’informaticiens se démène pour éviter la catastrophe. Certains systèmes, ceux qui respectent scrupuleusement la norme Posix, reposent sur un système 32 bits non signé, c’est à dire sans valeur négative. Ce qui repousse la fin du monde à l’année 2106. Mais ils restent minoritaires.

La solution serait de passer le timestamp à 64 bits, ce qui repousserait la date butoir au 4 décembre de l’année 292277026596 (à 15h 30mn et 8 secondes), ce qui semble suffisant pour assurer la pérennité de l’humanité.

Toutefois cette solution donnera un travail colossal à réaliser, car le 32 bits est présent sur de très nombreux systèmes, notamment sur le format zip qui compresse les fichiers qu’il serait tout simplement impossible de décompresser sous 64 bits.

Le 19 janvier 2038, c’est déjà demain.