- Server email departemen statistika di sebuah universitas di AS mengalami gejala aneh: tidak bisa mengirim email ke tempat yang berjarak lebih dari 500 mil
- Hasil investigasi menunjukkan penyebabnya adalah versi Sendmail diturunkan saat proses pembaruan SunOS, sehingga file konfigurasi menjadi tidak kompatibel
- Karena Sendmail 5 tidak mengenali nama opsi panjang untuk file konfigurasi milik Sendmail 8, beberapa nilai default disetel menjadi 0
- Di antaranya, timeout koneksi SMTP disetel ke 0, sehingga semua koneksi jarak jauh yang membutuhkan lebih dari sekitar 3 milidetik gagal
- Karena latensi jaringan meningkat sebanding dengan jarak, pada akhirnya muncul gejala pengiriman email ke server yang berjarak lebih dari 500 mil terblokir
Awal masalah
- Departemen statistika menerima laporan bahwa “email tidak bisa dikirim ke tempat yang berjarak lebih dari 500 mil”
- Sampai 520 mil masih bisa, tetapi lebih jauh dari itu selalu gagal
- Ketua departemen bahkan meminta bantuan ahli geostatistika untuk membuat peta radius jangkauan email, dan ditemukan radiusnya sekitar 500 mil
- Administrator sistem kemudian mengirim email uji ke berbagai lokasi untuk mereproduksi masalah
- Ke Princeton yang berjarak 400 mil berhasil, tetapi ke Memphis yang berjarak 600 mil gagal
- New York (420 mil) berhasil, tetapi Providence (580 mil) gagal
Analisis penyebab
- File konfigurasi sendmail.cf di server tampak normal, dan memang merupakan file konfigurasi untuk Sendmail 8 yang dibuat langsung oleh penulis
- Namun saat memeriksa banner port SMTP, ternyata yang berjalan adalah SunOS Sendmail 5
- Saat proses patch server, sistem operasi ikut diperbarui dan Sendmail diturunkan dari versi 8 ke versi 5
- File konfigurasi lama tetap ada, tetapi Sendmail 5 tidak mengenali nama opsi panjang milik Sendmail 8
- Opsi yang tidak dikenali diabaikan, dan nilai default untuk item terkait diinisialisasi menjadi 0
- Yang paling penting, nilai timeout koneksi ke server SMTP jarak jauh menjadi 0, sehingga percobaan koneksi dihentikan setelah sekitar 3 milidetik
Hubungan jarak dan kecepatan
- Pada saat itu, jaringan kampus menggunakan arsitektur berbasis switch 100%, sehingga hampir tidak ada latensi dari router
- Karena itu, waktu koneksi pada dasarnya ditentukan oleh jarak fisik (kecepatan cahaya)
- Hasil perhitungan menunjukkan bahwa 3 milidetik setara dengan sekitar 558 mil
- Ini sesuai dengan gejala yang dilaporkan, yaitu “500 mil atau sedikit lebih jauh”
Kesimpulan
- Akar masalahnya adalah kesalahan parsing konfigurasi akibat ketidakcocokan versi Sendmail
- Karena timeout disetel ke 0, muncul gejala jaringan yang seolah-olah memiliki batas jarak fisik
- Kasus ini kemudian dikenang sebagai anekdot klasik yang menunjukkan pentingnya kompatibilitas versi dan verifikasi konfigurasi dalam administrasi sistem
1 komentar
Komentar Hacker News
Sekitar pertengahan 1990-an, ada masalah aneh di mana PC kantor tidak mau boot setiap pagi
Ternyata setiap musim dingin, tikus kecil masuk lewat slot hard drive untuk mencari kehangatan lalu kencing sehingga rangkaian korslet
Setelah komputer menyala cukup lama dan menghasilkan panas, cairannya mengering sehingga mesin bisa boot
Setelah itu mereka membeli sled drive kosong untuk menutupinya, dan masalahnya hilang sepenuhnya
Terlepas dari benar atau tidaknya, proses menelusuri masalah seperti ini memang menarik
Tautan terkait
Aku juga pernah melihat kelelawar bergelantungan di kabel CAT milikku
Mungkin membuka jendela di malam hari juga bisa memengaruhi bandwidth
Sebagai developer, kita juga harus siap menghadapi situasi absurd seperti "Frog on Keyboard error"
Tulisan terkait
Rasanya tulisan aslinya kurang menghargai fakta bahwa kepala departemen berhasil mengumpulkan informasi yang diperlukan untuk menyelesaikan masalah
Tanpa data itu, penulis mungkin akan lama mencari masalah server yang sama sekali tidak relevan
Kalau hanya bilang “email tidak bekerja seperti itu”, berikutnya orang bisa jadi tidak memberi data apa pun atau malah membuat tebakan yang salah
Tulisan ini adalah postingan klasik yang berkali-kali populer lagi di HN selama bertahun-tahun
Pada 2023, 2020, 2015, dan waktu-waktu lain, tulisan ini muncul lagi
Versi 2023, versi 2020, versi 2015
Syukurlah kali ini aku tidak melewatkannya. Ini mengingatkanku untuk tidak kehilangan kerendahan hati
Di HN, repost setelah sekitar setahun itu wajar, dan untuk tulisan klasik memang bagus kalau muncul lagi demi pengguna baru
Lihat HN FAQ
Aku juga merangkum tautan ke berbagai versi terkait
Mungkin saat itu kita bisa menertawakan sambil men-debug kesalahan AI
Tadi malam aku memutar episode TV dengan VLC, dan sekitar 30 detik kemudian dayanya mati
Tiga kali mati di titik yang sama, jadi terasa aneh. Aku sempat berpikir apakah videonya sendiri penyebabnya
Ini mengingatkanku pada kasus video Janet Jackson yang merusak hard drive
Ditambah lagi episode itu adalah Black Mirror S7E01, jadi rasanya makin ganjil
Tautan referensi
Kalau yang kedua, kemungkinan besar itu masalah panas
Beban decoding bisa berbeda menurut codec, jadi bagian tertentu bisa membuat sistem overheat
Sebaiknya coba putar dari posisi lain atau lewati bagian itu untuk pengujian
Sebaiknya ganti power supply atau konversi codec-nya
Atau bisa juga file itu dimodifikasi secara jahat, jadi sumbernya perlu diperiksa
Cerita ini terasa seperti versi hacker dari anekdot pengecekan kecepatan SR-71 Blackbird
Klasik yang selalu kubaca lagi setiap kali muncul
Tautan terkait
Ini mengingatkanku pada kisah klasik “mobil bisa menyala kalau beli es krim vanila, tapi tidak kalau beli stroberi”
Tautan cerita
Tautan terkait
Cerita-cerita seperti “Stalking the Wiley Hacker” yang dulu membawaku masuk ke dunia komputer
Tapi setelah bekerja di industri ini, sayangnya kegembiraan murni pada masa itu terasa hilang
Tautan asli
Dia memberi presentasi di asosiasi quilting, dan meskipun topiknya tidak nyambung, dia benar-benar sosok yang penuh semangat dan memikat
Aku benar-benar terpikat oleh energi dan rasa ingin tahunya
Ini mengingatkanku pada lelucon “coba kirim email 500 mil lebih jauh”
Aku tertawa dengan kalimat “You had me at EHLO”
Waktu itu aku hafal semua perintahnya, tapi sekarang sudah tidak yakin lagi
Dulu komputer yang kupakai punya masalah mati sendiri saat aku meninggalkan meja
Ternyata penyebabnya adalah lantai kayu yang longgar di gedung tua
Getaran saat aku berdiri menyebabkan catu daya yang rusak mengalami korslet
Setelah membaca tulisan ini, aku langsung menjalankan
apt install units. Alat yang sangat kerenSaat memakai perintah
units, hasil perhitungannya keluar terbalikContoh: 1 mile → 1.609 km memang benar, tapi 1 unit → 1.609 units malah dihitung terbalik