Uma correção preguiçosa há 20 anos significa que o bug do ano 2000 está derrubando computadores agora
Por Chris Stokel-Walker
Parquímetros, caixas registradoras e um videogame de luta livre profissional sofreram uma falha no computador relacionada ao bug do Y2K.
O bug do Y2020, que deixou muitos sistemas de pagamento e de computador offline , é um efeito colateral duradouro das tentativas de consertar o Y2K, ou bug do milênio.
Ambos resultam da maneira como os computadores armazenam datas. Muitos sistemas mais antigos expressam anos usando dois números – 98, por exemplo, para 1998 – em um esforço para economizar memória. O bug do Y2K era o medo de que os computadores tratassem 00 como 1900, em vez de 2000.
Anúncio
Programadores querendo evitar o bug do Y2K tinha duas opções amplas: reescrever totalmente o código ou adotar uma correção rápida chamada “janelamento”, que trataria todas as datas de 00 a 20, a partir dos anos 2000, em vez de 1900. Estima-se que 80 por cento dos computadores consertados em 1999 usavam a opção mais rápida e barata.
“O janelamento, mesmo durante o Y2K, era a pior de todas as soluções possíveis, porque eliminou o problema”, diz Dylan Mulvin, da London School of Economia.
Leia mais: Babel binária: corrigindo bugs de codificação da computação
Os codificadores escolheram 1920 a 2020 como a janela padrão devido à importância do ponto médio, 1970. “Muitas linguagens de programação e sistemas tratam datas e horas como segundos a partir de 01/01/1970, também chamado de tempo Unix”, diz Tatsuhiko Miyagawa, engenheiro do provedor de plataforma em nuvem Fastly.
Unix é um sistema operacional amplamente usado em uma variedade de indústrias, e esse “tempo de época” é visto como um padrão.
A teoria era que esses sistemas em janelas estariam desatualizados quando 2020 chegasse, mas muitos estão ainda persiste e, em alguns casos, o problema foi esquecido.
“Consertar bugs em sistemas legados antigos é um pesadelo: é espaguete e ninguém que o escreveu ainda está por aí,” diz Paul Lomax, que tratou do bug Y2K da Vodafone. “Claramente, eles presumiram que seus sistemas estariam fora de uso por muito tempo em 2020. Assim como aqueles nos anos 60 não achavam que seu código ainda estaria por aí no ano de 2000.”
Esses sistemas que usavam o acelerador conserto chegou agora ao fim dessa janela, e foi revertido para 1920. As contas das concessionárias de serviços públicos supostamente foram produzidas com a data errada de 1920, enquanto dezenas de milhares de parquímetros na cidade de Nova York recusaram transações com cartão de crédito por causa da data falha.
Leia mais: Como bugs de tecnologia podem estar matando milhares em nossos hospitais
Milhares de caixas registradoras fabricadas pela empresa polonesa Novitus não conseguiram imprimir receitas devido a uma falha no relógio do registo. A empresa está a tentar consertar as máquinas.
WWE 2K20, um videojogo profissional de luta livre, também parou de funcionar à meia-noite de 1 de Janeiro de 2020. Em 24 horas, o os desenvolvedores do jogo, 2K, emitiram uma correção para download.
Outro software, Splunk, que ironica lly procura por erros em sistemas de computador, foi considerado vulnerável ao bug Y2020 em novembro. A empresa lançou uma correção para os usuários na mesma semana – que incluem 92 empresas da Fortune 100, as 100 maiores empresas dos Estados Unidos.
Algumas falhas de hardware e software foram atribuídas incorretamente ao bug. Um profissional de saúde afirmou que o Y2020 atingiu um sistema desenvolvido pela McKesson, que produz software para hospitais. Um porta-voz da McKesson disse à New Scientist que a empresa não tinha conhecimento de qualquer interrupção relacionada ao Y2020.
Não se sabe exatamente quanto tempo essas correções do Y2020 durarão, já que as empresas não divulgaram detalhes sobre elas. Se a janela foi simplesmente empurrada para trás novamente, podemos esperar o mesmo erro surgindo.
Outro problema de armazenamento de dados também enfrentamos no ano de 2038. O problema novamente decorre da época do Unix: o os dados são armazenados como um número inteiro de 32 bits, que ficará sem capacidade às 3,14 da manhã de 19 de janeiro de 2038.
Mais sobre esses tópicos:
- computação