Lỗi kỳ lạ nhất tôi từng thấy cho đến nay
(engineering.gusto.com)Quá trình phát hiện và khắc phục một lỗi kỳ lạ
- Trong ca trực on-call của nhóm công cụ nội bộ, những người dùng sử dụng phần mềm nội bộ của Gusto đã gặp sự cố trình duyệt Chrome bị crash.
- Sự cố này gây ra nhiều gián đoạn cho bộ phận dịch vụ khách hàng.
- Để xử lý vấn đề, tác giả đã nhờ đến sự hỗ trợ của các đồng nghiệp giàu kinh nghiệm, nhóm hạ tầng sản phẩm và nhóm IT.
Manh mối đầu tiên
- Tác giả cố gắng tìm ra điểm chung giữa những người dùng bị ảnh hưởng.
- Không phải toàn bộ nhân viên Gusto đều bị ảnh hưởng, và phần mềm phục vụ khách hàng bên ngoài thì không gặp vấn đề.
- Các trang web phần mềm nội bộ khác vẫn hoạt động bình thường.
- Việc crash xảy ra không nhất quán, và không xuất hiện trên Safari hay Firefox.
Manh mối thứ hai
- Tác giả đưa ra giả thuyết rằng phiên bản Chrome có thể là nguyên nhân.
- Với một số người dùng, vấn đề có vẻ được giải quyết sau khi cập nhật Chrome, nhưng không được khắc phục hoàn toàn.
- Tác giả cũng nghi ngờ tiện ích mở rộng Chrome là nguyên nhân, nhưng lỗi vẫn tái hiện ngay cả khi không có extension.
Khó khăn trong việc tái hiện lỗi
- Nhóm hạ tầng đã yêu cầu toàn bộ kỹ sư thử tái hiện vấn đề.
- Ngoài hai kỹ sư ở Thổ Nhĩ Kỳ, phía đội ngũ kỹ sư không có thêm báo cáo nào về việc Chrome bị crash.
- Tính năng báo cáo crash của Chrome bị vô hiệu hóa vì lý do bảo mật, khiến việc xử lý vấn đề trở nên khó khăn hơn.
Bước ngoặt may mắn
- Một kỹ sư ở Denver báo rằng vấn đề bắt đầu xảy ra sau khi tải ứng dụng desktop Grammarly.
- Họ phát hiện rằng xóa ứng dụng Grammarly và khởi động lại máy tính thì vấn đề được giải quyết.
Tiến triển
- Khi đã có thể debug, tác giả thử nhiều cách để tìm ra nguyên nhân của vấn đề.
- Ứng dụng nội bộ chính được xây trên nền ActiveAdmin, nhưng các phần mới dùng React lại không bị crash.
- Trong lúc điều tra phần mã dùng chung, tác giả phát hiện menu thả xuống
My Historylà nguyên nhân gây ra vấn đề.
Giải quyết vấn đề
- Tệp ảnh
loader-spinner.gifđược xác định là thứ gây ra lỗi. - Khi thay GIF đó bằng một ảnh khác, trang không còn bị crash nữa.
- Không rõ là Grammarly hay Chrome đã sửa vấn đề, vì hiện tại GIF gốc cũng không còn làm Chrome bị crash nữa.
Kết luận
- Một ảnh GIF động ngoài dự đoán lại chính là lời giải cho quá trình debug.
- Vấn đề được giải quyết nhờ sự tò mò và hợp tác.
- Gusto mang đến cơ hội làm việc cùng những con người hợp tác tốt và giàu tính tò mò.
Ý kiến của GN⁺
Điểm quan trọng nhất của bài viết này là mô tả chi tiết quá trình phát hiện và xử lý một lỗi có nguyên nhân hoàn toàn bất ngờ. Bài viết cho thấy sự phức tạp và khó lường của kỹ thuật phần mềm, đồng thời nhấn mạnh tầm quan trọng của tinh thần đồng đội và khả năng giải quyết vấn đề một cách bền bỉ. Đây là một ví dụ thú vị về cách các nhóm kỹ thuật phối hợp để xử lý một vấn đề hóc búa, và sẽ là câu chuyện rất hấp dẫn với những ai quan tâm đến lĩnh vực kỹ thuật.
1 bình luận
Ý kiến trên Hacker News
Sự ngạc nhiên và hoài nghi về lỗi do một tệp GIF cụ thể gây ra
Vấn đề in gạch chân khi làm bài báo nghiên cứu của một giáo sư đại học
Chia sẻ trải nghiệm lỗi liên quan đến Grammarly
Bày tỏ sự thất vọng về việc sửa lỗi
Vấn đề âm thanh khi dual-boot Windows và Linux
Sự thú vị về việc lỗi vẫn xuất hiện trong môi trường web năm 2023
Chia sẻ trải nghiệm lỗi liên quan đến công cụ accessibility của Chrome
Chia sẻ sự nhầm lẫn do cài đặt dịch trang
Chia sẻ trải nghiệm desktop Linux bị crash do CSS của website
Ý kiến rằng việc giải quyết lỗi này có thể trở thành một lỗ hổng bảo mật quan trọng