O bug y2k38 apresenta um problema semelhante. Os relógios Unix (e Linux) contam o tempo em segundos, a partir de 1º de janeiro de 1970, que foi chamado de Epoch Unix, e alguns sistemas armazenam esse número em um número inteiro assinado de 32 bits que transbordará em (se prepara) com precisão 03:14:07 UTC em 19 de janeiro, 2038. Quando isso se destaca, os relógios serão revertidos até a reversão de 03:14:07 em 19 de janeiro.
Epocalipse agora?
De fato, já é uma bagunça real que está atingindo sistemas, como projeções de fundos de pensão, que olham para o futuro além desse momento mágico em 2038.
A bagunça não afetará os sistemas modernos de 64 bits, é claro-suas datas são armazenadas em variáveis de 64 bits, boas por mais de 292 bilhões de anos. Mas os sistemas legados e incorporados estão em risco, daí o trabalho de Debian e outras distritos. Tudo, desde sistemas de controle de plantas e sistemas de monitoramento de construção a roteadores e câmeras de segurança, estão executando algum tipo de sistema operacional incorporado e, para muitos, é Linux de 32 bits. Esses sistemas geralmente permanecem em serviço por décadas sem substituição, tornando um software consertar uma necessidade. É outro exemplo de como a falha em levar em consideração a longevidade de hardware e software pode voltar para nos morder.
A cura: alterando o armazenamento de data para variáveis de 64 bits. Foi uma tarefa enorme para os mantenedores do Debian, envolvendo quase 6.500 pacotes, e tudo teve que acontecer ao mesmo tempo, porque também envolveu uma alteração na interface binária do aplicativo (ABI). Mas Debian diz que o trabalho está completo, ou pelo menos, o mais completo que vai chegar por enquanto. Para garantir a compatibilidade com os binários x86, ele está deixando as datas nos sistemas i386 como 32 bits, embora esteja considerando opções se houver demanda suficiente para datas de 64 bits nesses sistemas.
Pode parecer que o transbordamento ainda é um problema distante, mas “a partir de 2025, isso é menos da que 13 anos e muitos sistemas que terão problemas já foram enviados”, disse Debian em um post sobre o problema. “We should stop adding to the problem. Most computing, especially computing using Debian or its derivatives, is now done on 64-bit hardware where this issue does not arise. However there is quite a lot of cost-sensitive 32-bit computing still out there, and still shipping in new devices (automotive, IoT, TVs, routers, plant control, building monitoring/control, cheap Android phones etc.), with some of that hardware probably running Debian or its derivados.
Isso é particularmente importante porque muitas outras distritos do Linux, incluindo Redhat e Fedora, já abandonaram o suporte de 32 bits, e o suporte de SUSE não é oficial, deixando o ecossistema do Debian para transportar grande parte da carga de 32 bits.
