El bug más raro que he visto hasta ahora
(engineering.gusto.com)Descubrimiento y proceso de resolución de un bug extraño
- Durante una guardia on-call del equipo de herramientas internas, los usuarios que usaban el software interno de Gusto experimentaron fallas del navegador Chrome.
- Este problema provocó diversas interrupciones en la atención al cliente.
- Para resolverlo, se pidió ayuda a colegas con experiencia, al equipo de infraestructura de producto y al equipo de TI.
Primera pista
- Se intentó encontrar puntos en común entre los usuarios afectados.
- No todos los empleados de Gusto se vieron afectados, y el software orientado al cliente no presentaba problemas.
- Otras páginas web del software interno funcionaban con normalidad.
- Las fallas ocurrían de forma inconsistente, y no se presentaban en Safari ni en Firefox.
Segunda pista
- Se planteó la hipótesis de que la versión de Chrome podía ser el problema.
- Parecía que el problema se resolvía para algunos usuarios al actualizar la versión de Chrome, pero no quedó completamente solucionado.
- También se sospechó que una extensión de Chrome podía ser la causa, pero el problema se reprodujo incluso sin extensiones.
Dificultad para reproducir el bug
- El equipo de infraestructura pidió a todos los ingenieros que intentaran reproducir el problema.
- Salvo dos ingenieros en Turquía, nadie del equipo de ingeniería reportó fallas.
- Como la función de reporte de fallas de Chrome estaba deshabilitada por motivos de seguridad, la resolución del problema se complicó.
Un golpe de suerte
- Un ingeniero en Denver reportó que el problema apareció después de descargar la app de escritorio de Grammarly.
- Descubrió que al eliminar la app de Grammarly y reiniciar la computadora, el problema se resolvía.
Progreso
- Una vez que fue posible depurar, se hicieron varios intentos para encontrar la causa del problema.
- La aplicación interna principal estaba construida sobre ActiveAdmin, pero las partes nuevas que usaban React no fallaban.
- Mientras se investigaba el código compartido, se descubrió que el menú desplegable
My Historyera la causa del problema.
Resolución del problema
- Se confirmó que el archivo de imagen
loader-spinner.gifestaba causando el problema. - Al reemplazar ese GIF por otra imagen, la página dejó de fallar.
- No está claro si Grammarly o Chrome corrigieron el problema, pero ahora el GIF original ya no hace que Chrome falle.
Conclusión
- Un GIF animado inesperado terminó siendo la clave para depurar el problema.
- El problema se resolvió gracias a la curiosidad y la colaboración.
- Gusto ofrece la oportunidad de trabajar con personas colaborativas y curiosas.
Opinión de GN⁺
Lo más importante de este texto es la descripción detallada del proceso para descubrir y resolver un bug causado por un origen inesperado. El artículo muestra la complejidad y lo impredecible de la ingeniería de software, y subraya lo importantes que son el trabajo en equipo y la persistencia para resolver problemas. También ofrece un caso interesante de cómo un equipo de ingeniería colabora para resolver un problema difícil, lo que lo convierte en una historia muy atractiva para quienes se interesan por la ingeniería.
1 comentarios
Comentarios en Hacker News
Sorpresa y escepticismo ante un bug causado por un archivo GIF específico
Problema al imprimir subrayados durante el trabajo en un artículo de investigación de un profesor universitario
Experiencia compartida con un bug relacionado con Grammarly
Expresión de decepción sobre la corrección del bug
Problema de audio al usar arranque dual entre Windows y Linux
Interés por la aparición de bugs en el entorno web de 2023
Experiencia compartida con un bug relacionado con las herramientas de accesibilidad de Chrome
Confusión causada por la configuración de traducción de páginas
Experiencia compartida sobre una caída del escritorio de Linux causada por el CSS de un sitio web
Opinión de que resolver el bug podría convertirse en una vulnerabilidad de seguridad importante