Le bug de 2038 sur les systèmes Linux : petit point
jeu, 09/01/2025 - 15:35
Après le bug de l'an 2000, le bug de 2028 (aussi appelé Y2038 bug) ? Peut-être en avez-vous déjà lu ou entendu parler. Il peut toucher certains systèmes Linux, Unix, macOS, Android, etc.. Le problème de l'an 2038 est un bug de formatage du format de date/heure après 03:14:08 le 19 janvier 2038. Sur les systèmes 32 bits, les entiers sont encodés en 32 bits, c'est le cas pour la valeur time_t. A ce moment là, le système va comprendre autre chose et afficher : 20:45:52 le 13 décembre 1901 ou au 1er janvier 1970 comme le précise une note technique de ST Micro... C'est selon le système impacté. L'heure indiquée est l'heure universelle.
Ce problème n'existe pas sur les systèmes 64 bits. Il faut donc que les OS supportent les entiers 64 et non uniquement 32. Par exemple, sur Linux, le problème est fixé depuis le noyau 5.6.
Le problème concerne uniquement les systèmes 32 bits. Les ancienns machines ou encore les systèmes embarqués sont directement impactés.
Une note de gnu.org : https://www.gnu.org/software/gnulib/manual/html_node/Avoiding-the-year-2038-problem.html