1 คะแนน โดย GN⁺ 2023-12-01 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

การค้นพบบั๊กประหลาดและกระบวนการแก้ไข

  • ระหว่างเข้าเวร 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 ความคิดเห็น

 
GN⁺ 2023-12-01
ความคิดเห็นจาก Hacker News
  • ความประหลาดใจและความกังขาต่อบั๊กที่เกิดจากไฟล์ GIF บางไฟล์

    ผู้ใช้คนหนึ่งกล่าวว่าเป็นเรื่องยากจะเชื่อว่าการซ้อนทับกันของความบังเอิญหลายอย่างในโค้ดจะทำให้เกิดบั๊กจากไฟล์ GIF เพียงไฟล์เดียวได้ พร้อมทั้งแสดงความกังขาต่อแอป Grammarly และรู้สึกประหลาดใจที่ผู้คนจำนวนมากติดตั้งแอปที่แทบจะเหมือนสปายแวร์เพื่อรับคำแนะนำด้านไวยากรณ์ และที่บริษัทยังอนุญาตให้ใช้งานสิ่งนี้

  • ปัญหาการพิมพ์เส้นใต้ไม่ออกระหว่างทำวิทยานิพนธ์ของอาจารย์มหาวิทยาลัย

    อาจารย์มหาวิทยาลัยคนหนึ่งประสบปัญหาที่ข้อความขีดเส้นใต้พิมพ์ไม่ออกระหว่างทำงานวิจัย และภายหลังพบว่าสาเหตุเกิดจากการจับคู่กันของไดรเวอร์การ์ดจอบางรุ่นกับไดรเวอร์เครื่องพิมพ์

  • การแชร์ประสบการณ์บั๊กที่เกี่ยวข้องกับ Grammarly

    ผู้ใช้คนหนึ่งเล่าว่าเคยพบบั๊กคล้ายกันมาก่อนในบางแผนกที่ติดตั้งส่วนขยาย Grammarly โดยบั๊กจะเกิดเฉพาะกับ URL ของสภาพแวดล้อม staging และเกิดอาการหน้าค้างจาก regular expression ที่เขียนผิด

  • การแสดงความผิดหวังต่อการแก้บั๊ก

    ผู้ใช้คนหนึ่งบอกว่าเขาสนุกกับกระบวนการตามสืบการแก้บั๊กเหมือนนิยายสืบสวน แต่สุดท้ายก็รู้สึกผิดหวังที่ไม่อาจทราบสาเหตุที่แท้จริงของบั๊กได้

  • ปัญหาเสียงเมื่อทำ dual boot ระหว่าง Windows และ Linux

    พบปัญหาว่าหลังรีบูตจาก Windows แล้ว Linux ไม่มีเสียง และค้นพบว่าสาเหตุคือ Windows ไม่ได้ปิดอุปกรณ์เสียงอย่างสมบูรณ์ แต่เปลี่ยนไปอยู่ในโหมดพักแทน

  • ความน่าสนใจของการเกิดบั๊กในสภาพแวดล้อมเว็บปี 2023

    แสดงความสนใจต่อบั๊กที่เกิดจากการประกอบรวมกันอย่างซับซ้อนของเทคโนโลยี และสงสัยว่าบั๊กของ Chromium ได้รับการแก้ไขแล้วหรือยัง

  • การแชร์ประสบการณ์บั๊กที่เกี่ยวข้องกับเครื่องมือ accessibility ของ Chrome

    มีการแชร์ประสบการณ์ว่าเครื่องมือ accessibility ของ Chrome เคยทำให้เกิดบั๊กคล้ายกัน และกล่าวถึงความเป็นไปได้ที่ Grammarly อาจพึ่งพาเครื่องมือ accessibility ของ Chrome

  • การแชร์ความสับสนที่เกิดจากการตั้งค่าแปลหน้าเว็บ

    เคยมีปัญหาที่ผู้ใช้ยืนยันว่าข้อความที่ตนป้อนถูกเปลี่ยนตอนบันทึก แต่ภายหลังพบว่าสาเหตุคือเปิดตัวเลือก "แปลหน้านี้" ของ Chrome ไว้

  • การแชร์ประสบการณ์เดสก์ท็อป Linux ล่มจาก CSS ของเว็บไซต์

    มีการแชร์ประสบการณ์ว่า CSS ของหน้าค้นหา Yahoo เคยทำให้เดสก์ท็อปบน Red Hat Linux ล่ม พร้อมเสนอให้รายงานบั๊กนี้ต่อทีมพัฒนา Chrome

  • ความเห็นว่าการแก้บั๊กนี้อาจกลายเป็นช่องโหว่ความปลอดภัยสำคัญได้

    มีความเห็นว่าหากสามารถแก้หรือใช้ประโยชน์จากบั๊กนี้ได้ ก็อาจเป็นช่องโหว่ด้านความปลอดภัยที่มีมูลค่าสูงมาก