Início Blog Bash no Apocalipse? Bug Bizarro Corrompe Cálculos e Assusta Geeks!

Bash no Apocalipse? Bug Bizarro Corrompe Cálculos e Assusta Geeks!

49
0

E aí, pessoal do Buteco Nerd! Chega mais pra botar umas ideias em dia e tomar aquela gelada. Hoje a gente vai falar de uma treta que tá dando o que falar no mundo da programação: um bug sinistro que tá rolando com o Bash e que pode zoar seus cálculos! Preparados?

Bash no Apocalipse? Bug Bizarro Corrompe Cálculos e Assusta Geeks!

O Apocalipse dos Cálculos? Entenda a Treta!

Se liga nessa: um camarada chamado neewamp (o nome do cara no GitHub) encontrou um bug cabuloso no Claude Code, um editor de código online. O que acontece é o seguinte: quando você usa o Bash (aquele terminal que a gente tanto ama) pra exibir números gigantescos, tipo aqueles usados em criptografia, o Claude Code mostra um valor errado! É como se o sistema entrasse em pane e resolvesse inventar um número diferente, sacou?

Pra galera mais técnica, o problema rola porque o JavaScript, que tá por trás do Claude Code, tem uma limitação na hora de lidar com números muito grandes. Ele usa um sistema chamado IEEE 754 de 64 bits, que só consegue representar inteiros até um certo limite. Passou disso, ele arredonda e vira essa bagunça toda.

Como o Bug Ataca? Os Sintomas do Caos!

O neewamp não só achou o bug, como também mostrou como reproduzir a parada. Se liga:

  1. Dê o comando: Abre o terminal do Claude Code e manda um echo '348555896224571969'.
  2. Ou use o jq: Se você manja dos paranauês do jq, pode tentar com echo '{"value": 348555896224571969}' | jq -c .value.
  3. Veja a mágica (fail): Em vez de mostrar o número certinho, o Claude Code vai cuspir um 348555896224571970. Bizarro, né?

Pra ter certeza de que não era coisa da cabeça dele, o cara rodou o mesmo comando num terminal normal e pah: o número apareceu perfeito! Ou seja, a treta tá mesmo no Claude Code.

Por que Isso Importa? O Efeito Borboleta!

Ah, mas é só um número errado, qual o problema? Calma lá! Imagina que você tá usando um número desses pra gerar uma chave de segurança, pra validar uma transação bancária ou algo do tipo. Se o sistema te entrega um valor diferente do que deveria, a coisa pode ficar bem feia. É tipo um efeito borboleta: uma pequena imprecisão pode causar um estrago gigante lá na frente.

E não para por aí! Um outro usuário, o sammcj, fez uma autópsia reversa no código do Claude Code e descobriu que o problema tá no JavaScript que ele usa. A solução? Trocar a forma como os números são tratados, usando um tipo de dado chamado BigInt, que aguenta números gigantes sem perder a precisão.

No Balcão do Buteco…

Essa história toda mostra como até os sistemas mais modernos podem ter umas falhas bizarras. E o mais importante: como a união da comunidade nerd é fundamental pra encontrar e resolver esses problemas. Fica a lição: testem seus códigos, usem as ferramentas certas e nunca subestimem o poder de um bom número inteiro! E aí, o que você achou dessa novidade? Essa notícia pegou todo mundo de surpresa aqui no balcão! Deixa seu comentário abaixo e vamos discutir essa treta. Aqui no Buteco Nerd, sua opinião vale uma rodada! 🍻

LEAVE A REPLY

Please enter your comment!
Please enter your name here