Le bogue de l'an 2038

Proposé par
le

Un important bogue informatique est prévu le 19 janvier 2038 à 3h14 et 7s. Le problème concerne les programmes qui utilisent une représentation du temps dite "POSIX" : une date est calculée à partir du nombre de secondes écoulées depuis le 1er janvier 1970 à 0h00. Ce système, très courant, fut d'ailleurs celui utilisé pour les dates sur Se coucher moins bête sur ses premières versions.

Par exemple, cette anecdote a comme représentation du temps (Timestamp) : 1289520717
Ce bogue concerne les programmes 32 bits, ce qui constitue actuellement l'immense majorité de nos appareils électroniques. Dans la seconde suivant cette date, la date affichée sera le 13 décembre 1901.
Pour l'explication technique détaillée (et assez complexe si vous n'êtes pas féru d'informatique), n'hésitez pas à consulter les sources.


Tous les commentaires (109)

Petite précision: le timestamp est en accord avec les fuseaux horaire, en France le timestamp = 0 correspond au 1er janvier 1970 01h00min00sec :) et non minuit !
Voilà !

L'explication n'est pas si compliquée, les systèmes 32bites ne peuvent dépasser 2^32 secondes ce chiffre sera atteint en 2038, ne pouvant afficher le bon nombre les systèmes passeront en 1901 ( cela part du binaire qui est écrit en 1 et en 0 quand on augmente les chiffre on rajoute des 1 et des 0, et pour écrire le nombre de secondes entre la date de départ et 2038 il faudra trop de 1 et de 0 )

Pour information à tous ceux qui se rassurent en croyant tourner en 64 bits :
La grande majorité des programmes en utilisent d'autres pour fonctionner
Ceux cis sont fréquemment en 32 bits
Même sur un système en 64 bits, il y a énormément de dépendances avec des programmes en 32 bits car ceux cis fonctionnent encore et aucune amélioration au programme n'a été trouvée, alors personne ne le programme à nouveau dans une version 64 bits (ça serait un très long travail)
Ils n'utilisent pas tous le timestamp de 1970 mais ils sont nombreux et ce bug pourrait bien avoir un gros impact (dans les systèmes informatiques, les sauvegardes les outils d'analyse et de surveillance un certain nombre de serveurs ainsi qu'encore beaucoup d'autres choses ; mais pas une explosion de la moitié de la superficie de la terre déconnez pas les gars ;) )

Posté le

android

(3)

Répondre

a écrit : Je vais vous casser le moral de bon marin,mais le bug de 2038 on ne le verra pas car la fin du monde aura lieu le 20 décembre 2012, alors éclatons nous pour les 2 ans qu'il reste. ? On est toujours là...

Posté le

android

(0)

Répondre

a écrit : Encore du bon business pour les informaticiens comme ce fut le cas pour le pseudo bug de l'an 2000 ! Et sinon, tu as déjà fais de l'informatique pour étayer tes propos?
Est ce que tu sais ce qu'est POSIX?

Je viens de calculer...

Pour ceux qui veulent savoir, le 19 janvier 2038 à 3:14 et 7 secondes, se seront écoulées exactement 2 147 483 647 secondes. Donc la suivante sera la 2 147 483 648eme, qui est égal à 2^31 soit la plus grosse donnée codable en 32 bits. Normalement après 99 il y a 100: on repart de 0 et on rajoute 1 au bit suivant sauf que la ben yaura plus de bit :X donc on repart à p

Sans vouloir vexer persone, je n'ai rien compris qqn peut m'expliquer plus simplement svp

a écrit : Sans vouloir vexer persone, je n'ai rien compris qqn peut m'expliquer plus simplement svp Prépares toi un abris anti-atomique pour 2038

Posté le

android

(1)

Répondre

Alors je me coucherai moins bête mais je ne m'affole pas pour autant : on était très inquiets à la fin des années 90 par rapport au passage à l'an 2000 et... rien du tout.

Posté le

android

(1)

Répondre