1 pontos por GN⁺ 2023-12-01 | 1 comentários | Compartilhar no WhatsApp

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 History era a causa do problema.

Resolução do problema

  • Foi confirmado que o arquivo de imagem loader-spinner.gif era 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

 
GN⁺ 2023-12-01
Comentários do Hacker News
  • Surpresa e desconfiança em relação a um bug causado por um arquivo GIF específico

    Um usuário mencionou que é difícil acreditar que uma sequência de coincidências no código tenha causado um bug por causa de um arquivo GIF específico. Também expressou desconfiança em relação ao app Grammarly e surpresa com o fato de tantas pessoas instalarem um app praticamente equivalente a spyware para receber sugestões gramaticais, e de as empresas permitirem isso.

  • Problema de impressão de sublinhado durante o trabalho em um artigo acadêmico

    Um professor universitário enfrentou um problema em que os sublinhados do texto não eram impressos enquanto trabalhava em um artigo de pesquisa, e descobriu-se que isso era causado por uma combinação específica de driver de placa de vídeo e driver de impressora.

  • Compartilhamento de experiência com bug relacionado ao Grammarly

    Um usuário compartilhou que já teve um bug parecido no passado em um departamento específico onde a extensão do Grammarly estava instalada; isso acontecia apenas na URL do ambiente de staging, e uma expressão regular incorreta fazia a página travar.

  • Expressão de decepção com a correção do bug

    Um usuário disse que estava gostando do processo de corrigir o bug como se fosse um romance policial, mas ficou decepcionado por no fim não ter sido possível descobrir a causa exata do problema.

  • Problema de áudio em dual boot com Windows e Linux

    Houve um problema em que, após reiniciar pelo Windows, o Linux ficava sem som, e descobriu-se que isso acontecia porque o Windows não desligava completamente o dispositivo de áudio, apenas o colocava em modo de espera.

  • Interesse por bugs ocorrendo no ambiente web em 2023

    Um usuário achou interessante um bug causado pela combinação complexa de tecnologias e se perguntou se o bug no Chromium já havia sido corrigido.

  • Compartilhamento de experiência com bug relacionado às ferramentas de acessibilidade do Chrome

    Um usuário compartilhou uma experiência em que as ferramentas de acessibilidade do Chrome causaram um bug semelhante, e mencionou a possibilidade de o Grammarly depender dessas ferramentas do Chrome.

  • Compartilhamento de confusão causada por configuração de tradução da página

    Houve um caso em que um usuário alegava que o texto que digitava era alterado ao salvar, mas depois se descobriu que isso acontecia porque a opção "Traduzir esta página" do Chrome estava ativada.

  • Compartilhamento de experiência com travamento do desktop Linux causado pelo CSS de um site

    Um usuário compartilhou uma experiência em que o CSS da página de busca do Yahoo fazia o desktop travar no Red Hat Linux, e sugeriu relatar o bug à equipe de desenvolvimento do Chrome.

  • Opinião de que resolver o bug pode se tornar uma vulnerabilidade de segurança importante

    Foi apresentada a opinião de que, se esse bug puder ser explorado e corrigido, ele pode representar uma vulnerabilidade de segurança extremamente valiosa.