O bug mais estranho que já vi até agora
(engineering.gusto.com)Descoberta e processo de resolução de um bug estranho
- Durante o plantão on-call da equipe de ferramentas internas, usuários que utilizavam o software interno da Gusto enfrentaram travamentos no navegador Chrome.
- Esse problema causou vários prejuízos ao atendimento ao cliente.
- Para resolver o problema, foi solicitada a ajuda de colegas experientes, da equipe de infraestrutura de produto e da equipe de TI.
Primeira pista
- Tentaram encontrar características em comum entre os usuários afetados.
- Nem todos os funcionários da Gusto foram afetados, e o software voltado ao cliente não apresentou problemas.
- Outras páginas web de software interno funcionavam normalmente.
- Os travamentos aconteciam de forma inconsistente, e o problema não ocorria no Safari nem no Firefox.
Segunda pista
- Foi levantada a hipótese de que a versão do Chrome pudesse ser a causa.
- Quando alguns usuários atualizaram a versão do Chrome, pareceu que o problema havia sido resolvido, mas isso não foi suficiente.
- Também suspeitaram que extensões do Chrome pudessem ser a causa, mas o problema foi reproduzido mesmo sem extensões.
Dificuldade para reproduzir o bug
- A equipe de infraestrutura pediu a todos os engenheiros que tentassem reproduzir o problema.
- Entre a equipe de engenharia, ninguém relatou travamentos, exceto dois engenheiros na Turquia.
- Como o recurso de relatório de travamentos do Chrome estava desativado por motivos de segurança, isso dificultou a investigação.
Uma reviravolta de sorte
- Um engenheiro em Denver relatou que o problema começou depois de baixar o aplicativo de desktop do Grammarly.
- Descobriu-se que remover o aplicativo do Grammarly e reiniciar o computador resolvia o problema.
Progresso
- Com a possibilidade de depurar o problema, foram feitas várias tentativas para encontrar a causa.
- O principal aplicativo interno era construído com base no ActiveAdmin, mas as partes novas que usavam React não travavam.
- Ao investigar trechos de código em comum, descobriram que o menu suspenso
My Historyera a causa do problema.
Resolução do problema
- Foi confirmado que o arquivo de imagem
loader-spinner.gifera o responsável pelo problema. - Quando esse GIF foi substituído por outra imagem, a página deixou de travar.
- Não ficou claro se o problema foi corrigido pelo Grammarly ou pelo Chrome, porque agora o GIF original já não faz o Chrome travar.
Conclusão
- Um GIF animado inesperado acabou sendo a chave para resolver o bug.
- O problema foi resolvido com curiosidade e colaboração.
- A Gusto oferece a oportunidade de trabalhar com pessoas colaborativas e curiosas.
Opinião do GN⁺
O ponto mais importante deste texto é a descrição detalhada do processo de descobrir e resolver um bug causado por um motivo inesperado. O texto mostra a complexidade e a imprevisibilidade da engenharia de software, além de enfatizar como trabalho em equipe e persistência na resolução de problemas são fundamentais. Ele oferece um caso interessante de como uma equipe de engenharia pode colaborar para resolver um problema difícil, o que o torna uma história bastante atraente para pessoas interessadas em engenharia.
1 comentários
Comentários do Hacker News
Surpresa e desconfiança em relação a um bug causado por um arquivo GIF específico
Problema de impressão de sublinhado durante o trabalho em um artigo acadêmico
Compartilhamento de experiência com bug relacionado ao Grammarly
Expressão de decepção com a correção do bug
Problema de áudio em dual boot com Windows e Linux
Interesse por bugs ocorrendo no ambiente web em 2023
Compartilhamento de experiência com bug relacionado às ferramentas de acessibilidade do Chrome
Compartilhamento de confusão causada por configuração de tradução da página
Compartilhamento de experiência com travamento do desktop Linux causado pelo CSS de um site
Opinião de que resolver o bug pode se tornar uma vulnerabilidade de segurança importante