Son günlerde kullanıcıların karşılaştığı Dosya Gezgini çökme sorunları, dikkat çekici bir araştırmaya konu oldu. Microsoft’un deneyimli mühendislerinden Raymond Chen, bu ilginç olayı detaylandırdı. Bir ekip, artan çökme vakalarını incelemek üzere bir araya geldi ve ilk olarak sorunun Windows’tan kaynaklandığını düşündü. Ancak durum beklenenden farklıydı.
Ekip, çökme kayıtlarını incelediğinde dikkat çekici bir ayrıntı fark etti: Çöken uygulama, 64-bit Windows sistemleri üzerinde çalışan 32-bit Dosya Gezgini idi. Eski uygulamalarla uyumluluk sağlamak amacıyla hala mevcut olan bu sürüm, genelde kullanıcılar tarafından doğrudan açılmıyordu; daha çok arka planda eski yazılımlar tarafından kullanılıyordu. Bu detay, sorunun kullanıcı hatasından kaynaklanmadığını gösteriyordu. Muhtemel nedenlerin başında dışarıdan bir uygulama yer alıyordu.
Araştırmalar derinleştikçe, çökme sorununa yol açan gerçek neden açığa çıktı. Sorunun kaynağı, üçüncü parti bir yazılımın kaldırma aracının hatalı çalışmasıydı. Bu kaldırıcı, dosyaları silmeye çalışırken sürekli olarak hatalar alıyordu. Normalde kaldırıcılar, dosyaları temizleme işini sorunsuz şekilde gerçekleştirmesi gereken araçlardı. Ancak burada bir sorun vardı: Kodda yanlış bir fonksiyon çağrısı yapılmıştı.
Küçük bir hata, büyük bir soruna yol açtı. Bu hatanın sonucunda kaldırıcı, her denemesinde sistemin “stack” bellek alanından veri çekmeye devam etti. Her başarısız işlemde, aynı hatayı tekrar ederek belleği zorlamaya devam etti ve neticede bellek yapısı bozuldu. Sonuç olarak, bu durum Dosya Gezgini’nin çökmesine neden oldu.
Chen, hangi uygulamanın bu soruna yol açtığına dair bilgi vermedi ve sorunun çözülüp çözülmediği konusunda da net bir açıklama bulunmuyor. Ancak bu olay, önemli bir gerçeği ortaya koyuyor: Bir Windows bileşeni çökerse, her zaman sorun Windows’ta değildir. Bazen dışarıdan kaynaklanan problemler de çökme yaşatabilir. Elbette, bazı durumlarda sorun gerçekten Windows kaynaklı olabilir, ama bu başka bir tartışma konusu.