Bug Paling Aneh yang Pernah Saya Lihat Sejauh Ini
(engineering.gusto.com)Penemuan bug aneh dan proses penyelesaiannya
- Saat menjalani giliran on-call di tim alat internal, para pengguna yang memakai perangkat lunak internal Gusto mengalami masalah browser Chrome crash.
- Masalah ini menimbulkan berbagai gangguan pada layanan pelanggan.
- Untuk menyelesaikannya, mereka meminta bantuan rekan yang berpengalaman, tim infrastruktur produk, dan tim IT.
Petunjuk pertama
- Mereka mencoba mencari kesamaan di antara para pengguna yang terdampak.
- Tidak semua karyawan Gusto terdampak, dan perangkat lunak yang berhadapan langsung dengan pelanggan tidak mengalami masalah.
- Halaman web perangkat lunak internal lainnya berfungsi normal.
- Crash terjadi secara tidak konsisten, dan masalah tidak muncul di Safari maupun Firefox.
Petunjuk kedua
- Muncul hipotesis bahwa versi Chrome mungkin menjadi penyebab masalah.
- Saat sebagian pengguna memperbarui versi Chrome, masalah tampak teratasi, tetapi ternyata tidak sepenuhnya hilang.
- Mereka juga menduga ekstensi Chrome mungkin menjadi penyebab, tetapi masalah tetap bisa direproduksi tanpa ekstensi.
Sulitnya mereproduksi bug
- Tim infrastruktur meminta semua engineer untuk mencoba mereproduksi masalah.
- Kecuali dua engineer di Turki, tim engineering tidak melaporkan crash.
- Fitur pelaporan crash Chrome dinonaktifkan demi keamanan, sehingga penyelesaian masalah menjadi lebih sulit.
Titik balik yang beruntung
- Seorang engineer di Denver melaporkan bahwa masalah mulai muncul setelah mengunduh aplikasi desktop Grammarly.
- Mereka menemukan bahwa menghapus aplikasi Grammarly dan me-restart komputer dapat menyelesaikan masalah.
Kemajuan
- Setelah debugging menjadi memungkinkan, mereka mencoba berbagai cara untuk menemukan penyebab masalah.
- Aplikasi internal utama dibangun di atas ActiveAdmin, tetapi bagian yang lebih baru yang menggunakan React tidak mengalami crash.
- Saat menyelidiki bagian kode yang sama, mereka menemukan bahwa menu dropdown 'My History' adalah penyebab masalah.
Penyelesaian masalah
- Dikonfirmasi bahwa file gambar 'loader-spinner.gif' menyebabkan masalah.
- Setelah GIF tersebut diganti dengan gambar lain, halaman tidak lagi crash.
- Tidak jelas apakah Grammarly atau Chrome yang akhirnya memperbaiki masalah, karena sekarang GIF aslinya tidak lagi membuat Chrome crash.
Kesimpulan
- GIF animasi yang tak terduga ternyata menjadi kunci penyelesaian debugging.
- Mereka menyelesaikan masalah melalui rasa ingin tahu dan kolaborasi.
- Gusto menawarkan kesempatan untuk bekerja bersama orang-orang yang kolaboratif dan penuh rasa ingin tahu.
Opini GN⁺
Hal terpenting dari tulisan ini adalah penjelasan rinci tentang proses menemukan dan menyelesaikan bug yang disebabkan oleh faktor tak terduga. Tulisan ini menunjukkan kompleksitas dan ketidakpastian dalam rekayasa perangkat lunak, sekaligus menekankan betapa pentingnya kerja tim dan kemampuan memecahkan masalah dengan gigih. Ini memberikan contoh menarik tentang bagaimana tim engineering berkolaborasi untuk menyelesaikan masalah yang sulit dipahami, dan akan menjadi kisah yang sangat menarik bagi orang-orang yang tertarik pada bidang engineering.
1 komentar
Komentar Hacker News
Rasa heran dan curiga terhadap bug yang dipicu oleh file GIF tertentu
Masalah garis bawah yang tidak tercetak saat mengerjakan makalah penelitian profesor universitas
Berbagi pengalaman bug terkait Grammarly
Mengungkapkan kekecewaan terhadap perbaikan bug
Masalah audio saat dual boot Windows dan Linux
Ketertarikan pada munculnya bug di lingkungan web tahun 2023
Berbagi pengalaman bug terkait alat aksesibilitas Chrome
Berbagi kebingungan akibat pengaturan terjemahan halaman
Berbagi pengalaman desktop Linux crash akibat CSS situs web
Pendapat bahwa memperbaiki bug itu bisa menjadi kerentanan keamanan yang penting