
Muitos recordam-se do pânico em torno do bug Y2K, que ameaçava paralisar sistemas informáticos em todo o mundo na passagem para o ano 2000. Graças ao esforço de engenheiros e empresas de software, a catástrofe foi evitada. Agora, um problema semelhante aproxima-se no horizonte, conhecido como Y2K38, e os responsáveis pela popular distribuição Linux Debian já estão a trabalhar para o neutralizar.
O que é o bug Y2K38 ou "Epochalypse"?
O problema, também apelidado de "Epochalypse" (uma junção de "Época Unix" e "Apocalipse"), afeta sistemas que utilizam arquiteturas de 32-bit. Nestes sistemas, a data e a hora são armazenadas num formato conhecido como tempo Unix, que conta o número de segundos desde 1 de janeiro de 1970. No dia 19 de janeiro de 2038, às 03:14:07 UTC, este contador de 32-bit irá atingir o seu limite máximo e transbordar (overflow).
Quando isto acontecer, o valor voltará ao seu mínimo, fazendo com que os sistemas interpretem a data como sendo do ano 1901, o que pode causar erros críticos e falhas em inúmeras aplicações. Sendo o Debian uma das distribuições mais antigas e robustas, lançada em 1993, os seus mantenedores alertam que ainda existem muitos sistemas críticos a funcionar sobre arquiteturas de 32-bit.
Debian 13 "Trixie": a solução proativa
Em vez de esperarem pela última da hora, como aconteceu com o Y2K, os developers do Debian decidiram agir preventivamente. De acordo com o site The Register, a equipa irá implementar uma mudança fundamental a partir do lançamento do Debian 13 "Trixie".
A solução passa por utilizar o formato time_t de 64-bit por defeito, mesmo nas arquiteturas de 32-bit. Esta alteração resolve o problema do overflow, dando uma margem de biliões de anos até que o novo limite seja atingido. A tarefa não é pequena: os mantenedores identificaram a necessidade de alterar a variável time_t em 6.429 pacotes de software distintos.
Implicações e o futuro do 32-bit
Esta mudança significativa poderá causar incompatibilidades com algumas aplicações existentes. Por essa razão, a equipa do Debian manterá a porta i386 com o antigo time_t de 32-bit, funcionando como uma arquitetura de compatibilidade para binários mais antigos. Os responsáveis afirmaram que "uma nova arquitetura 'i686' x86 com tempo de 64-bit poderia ser criada se houvesse entusiasmo suficiente para arrastar o x86 de 32-bit para o seu futuro, agora muito limitado."
Para os developers que queiram testar a resposta dos seus programas a esta alteração, é crucial utilizar os recursos disponibilizados no Debian wiki. Curiosamente, o problema Y2K38 não se limita ao mundo Linux; sistemas operativos Windows mais antigos e sem suporte, bem como alguns programas mais velhos para Windows, também poderão ser afetados por este "apocalipse" informático.