Windows’ta artan Dosya Gezgini çökme sorununun arkasından beklenmeyen bir neden çıktı. Sorun, işletim sisteminden değil hatalı çalışan bir kaldırma aracından kaynaklandı.

Raymond Chen, yıllardır Microsoft bünyesinde çalışan deneyimli bir mühendis. Windows’un iç yüzüne dair anlattığı hikâyelerle tanınıyor. Bu kez yine ilginç bir olay paylaştı.
Bir ekip, son zamanlarda artan Dosya Gezgini (File Explorer) çökme sorununu incelemeye başladı. İlk tahmin basitti: Sorun Windows’taydı. Milyarlarca cihazda çalışan bir sistemde böyle hatalar şaşırtıcı değil.
Ama bu kez işler farklı çıktı.
Çökme beklenen yerden gelmedi
Ekip, çökme kayıtlarını incelediğinde garip bir detay fark etti. Çöken şey normal Dosya Gezgini değildi. 64-bit Windows içinde çalışan 32-bit sürüm çöküyordu.
Evet, Windows içinde hâlâ 32-bit bir Dosya Gezgini bulunuyor. Bunun nedeni eski uygulamalarla uyumluluk. Bu sürüm genelde kullanıcı tarafından açılmaz. Daha çok eski yazılımlar arka planda kullanır.
Chen bunu görünce yönü hemen değiştirdi. Bu durum kullanıcı hatasına benzemiyordu. Büyük ihtimalle dışarıdan bir uygulama işin içindeydi.
Sorunun kaynağı: Hatalı çalışan bir kaldırıcı
Araştırma derinleşince gerçek ortaya çıktı. Sorunun kaynağı, üçüncü parti bir uygulamanın kaldırma aracıydı.
Bu araç, dosyaları silmeye çalışırken sürekli hata alıyordu. Normalde kaldırıcıların dosya temizlemesi beklenen bir şey. Ama burada farklı bir problem vardı. Kodda yanlış bir fonksiyon çağırma yöntemi kullanılmıştı.
Küçük hata, büyük çöküş
Bu hata yüzünden kaldırıcı, her denemede sistemin “stack” dediğimiz belleğinden veri çekmeye devam etti. İşlem başarısız oldukça tekrar denedi ve her seferinde aynı hatayı yaptı. Sonuç: Bellek yapısı bozuldu.
Stack yavaş yavaş “yendi” ve sonunda çalışan kodun içine kadar kaydı. Bu da Dosya Gezgini’nin çökmesine neden oldu.
Her çökme Windows’un suçu değil
Chen, hangi uygulamanın buna yol açtığını açıklamadı. Sorunun düzeltilip düzeltilmediği de net değil. Ama olayın verdiği mesaj açık: Bir Windows bileşeni çöküyorsa, suç her zaman Windows’ta değildir. Bazen sorun tamamen dışarıdan gelir. Tabii bazen de gerçekten Windows’tadır. Ama bu başka bir hikâye.