บั๊กที่แปลกที่สุดเท่าที่ฉันเคยเจอ
(engineering.gusto.com)การค้นพบบั๊กประหลาดและกระบวนการแก้ไข
- ระหว่างเข้าเวร on-call ของทีมเครื่องมือภายใน ผู้ใช้ที่ใช้งานซอฟต์แวร์ภายในของ Gusto พบปัญหาเบราว์เซอร์ Chrome ล่ม
- ปัญหานี้สร้างการรบกวนต่อการให้บริการลูกค้าในหลายด้าน
- เพื่อแก้ปัญหา จึงได้ความช่วยเหลือจากเพื่อนร่วมงานที่มีประสบการณ์ ทีมโครงสร้างพื้นฐานผลิตภัณฑ์ และทีม IT
เบาะแสแรก
- พยายามหาจุดร่วมของผู้ใช้ที่ได้รับผลกระทบ
- ไม่ใช่พนักงาน Gusto ทุกคนที่ได้รับผลกระทบ และซอฟต์แวร์ที่ต้องติดต่อกับลูกค้าโดยตรงก็ไม่มีปัญหา
- หน้าเว็บของซอฟต์แวร์ภายในอื่น ๆ ทำงานได้ตามปกติ
- การล่มเกิดขึ้นอย่างไม่สม่ำเสมอ และไม่พบปัญหาใน Safari หรือ Firefox
เบาะแสที่สอง
- ตั้งสมมติฐานว่าเวอร์ชันของ Chrome อาจเป็นปัญหา
- เมื่อผู้ใช้บางคนอัปเดต Chrome แล้ว ปัญหาดูเหมือนจะหายไป แต่ก็ไม่ได้แก้ได้สมบูรณ์
- เดาว่าส่วนขยายของ Chrome อาจเป็นสาเหตุ แต่ก็ยังทำให้เกิดปัญหาซ้ำได้แม้ไม่มีส่วนขยาย
ความยากในการทำให้บั๊กเกิดซ้ำ
- ทีมโครงสร้างพื้นฐานขอให้วิศวกรทุกคนลองทำให้ปัญหาเกิดซ้ำ
- ในทีมวิศวกร ไม่มีใครรายงานว่า Chrome ล่ม ยกเว้นวิศวกรสองคนในตุรกี
- ฟีเจอร์รายงานการล่มของ Chrome ถูกปิดไว้ด้วยเหตุผลด้านความปลอดภัย ทำให้แก้ปัญหาได้ยาก
จุดเปลี่ยนจากโชคช่วย
- วิศวกรคนหนึ่งในเดนเวอร์รายงานว่าปัญหาเริ่มเกิดหลังจากดาวน์โหลดแอปเดสก์ท็อป Grammarly
- พบว่าเมื่อลบแอป Grammarly และรีสตาร์ตคอมพิวเตอร์แล้ว ปัญหาก็หายไป
ความคืบหน้า
- เมื่อเริ่มดีบักได้ ก็ทดลองหลายอย่างเพื่อหาสาเหตุของปัญหา
- แอปพลิเคชันภายในหลักสร้างอยู่บนพื้นฐานของ ActiveAdmin แต่ส่วนใหม่ที่ใช้ React ไม่ทำให้เกิดการล่ม
- ระหว่างตรวจสอบโค้ดส่วนที่ใช้ร่วมกัน ก็พบว่าเมนูดรอปดาวน์ 'My History' เป็นสาเหตุของปัญหา
การแก้ปัญหา
- ยืนยันได้ว่าไฟล์รูปภาพ
loader-spinner.gifเป็นตัวก่อปัญหา - เมื่อเปลี่ยน GIF ดังกล่าวเป็นรูปภาพอื่น หน้าเพจก็ไม่ล่มอีกต่อไป
- ไม่แน่ชัดว่าเป็น Grammarly หรือ Chrome ที่แก้ปัญหานี้ เพราะตอนนี้ GIF เดิมก็ไม่ทำให้ Chrome ล่มแล้ว
บทสรุป
- GIF แบบเคลื่อนไหวที่ไม่มีใครคาดคิดกลับเป็นกุญแจของการดีบักครั้งนี้
- ปัญหาถูกแก้ไขได้ด้วยความช่างสงสัยและความร่วมมือ
- Gusto มอบโอกาสให้ได้ทำงานร่วมกับผู้คนที่ชอบร่วมมือและเปี่ยมด้วยความอยากรู้อยากเห็น
ความเห็นของ GN⁺
สิ่งสำคัญที่สุดในบทความนี้คือการอธิบายอย่างละเอียดถึงกระบวนการค้นพบและแก้ไขบั๊กที่มีสาเหตุมาจากสิ่งที่ไม่คาดคิด บทความนี้แสดงให้เห็นถึงความซับซ้อนและความคาดเดาไม่ได้ของวิศวกรรมซอฟต์แวร์ พร้อมทั้งเน้นย้ำว่าการทำงานเป็นทีมและความพากเพียรในการแก้ปัญหานั้นสำคัญเพียงใด นี่เป็นกรณีศึกษาที่น่าสนใจว่าทีมวิศวกรรมร่วมมือกันแก้ปัญหาที่เข้าใจได้ยากอย่างไร และเป็นเรื่องราวที่ดึงดูดมากสำหรับผู้ที่สนใจด้านวิศวกรรม
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
ความประหลาดใจและความกังขาต่อบั๊กที่เกิดจากไฟล์ GIF บางไฟล์
ปัญหาการพิมพ์เส้นใต้ไม่ออกระหว่างทำวิทยานิพนธ์ของอาจารย์มหาวิทยาลัย
การแชร์ประสบการณ์บั๊กที่เกี่ยวข้องกับ Grammarly
การแสดงความผิดหวังต่อการแก้บั๊ก
ปัญหาเสียงเมื่อทำ dual boot ระหว่าง Windows และ Linux
ความน่าสนใจของการเกิดบั๊กในสภาพแวดล้อมเว็บปี 2023
การแชร์ประสบการณ์บั๊กที่เกี่ยวข้องกับเครื่องมือ accessibility ของ Chrome
การแชร์ความสับสนที่เกิดจากการตั้งค่าแปลหน้าเว็บ
การแชร์ประสบการณ์เดสก์ท็อป Linux ล่มจาก CSS ของเว็บไซต์
ความเห็นว่าการแก้บั๊กนี้อาจกลายเป็นช่องโหว่ความปลอดภัยสำคัญได้