4 puan yazan GN⁺ 2025-09-18 | Henüz yorum yok. | WhatsApp'ta paylaş
  • DOOM motorundaki bir değişken taşması nedeniyle oyunun çökmesi durumunun yaşandığı doğrulandı
  • Gerçek kullanım ortamında 2,5 yıl boyunca DOOM çalıştırma deneyi gerçekleştirildi
  • Değişken değeri sürekli artarken taşma noktasına ulaşıldı ve beklenen anda oyunun kapanması yaşandı
  • Deney, PDA ve DIY UPS kullanılarak uzun süreli otomatik çalışma ortamında yürütüldü
  • Bu test, teorik bir problemin gerçek dünyada da gerçekten ortaya çıktığını kanıtlıyor

Deneyin arka planı ve motivasyonu

  • Yaklaşık 2,5 yıl önce, DOOM motorunun yapısı ve çalışma biçimiyle ilgili bir yazı okunurken, demo çalıştırma takibinde kullanılan bir değişkenin her demo başlangıcında sürekli arttığı fark edildi
  • Bu değişken bir önceki değerle karşılaştırılıyor, ancak değer tekrar tekrar büyüdüğü için sonunda taşma riski barındırıyordu
  • Normal kullanım ortamında bu taşma durumuna ulaşmak zor olsa da, gerçekte ne kadar sürdüğünü doğrudan görmek için deney yapmaya karar verildi

Deney yöntemi ve süreci

  • Basit bir hesaplamayla, taşmanın gerçekleşmesi için yaklaşık 2,5 yıllık çalışma süresi gerektiği tahmin edildi
  • Bunu gerçekten doğrulamak için bir PDA cihaza DOOM kuruldu ve güç, 18650 pil kullanan bir DIY UPS ile sağlandı
  • Cihaz, sürekli 5V güç sağlamak için router'ın USB portuna bağlandı
  • Sistem, otomatik şarj ortamında sürekli çalışacak şekilde ayarlandıktan sonra zamanın büyük bölümünde kendi hâline bırakıldı

Çökme anı ve sonuçlar

  • Deneyin başlamasından yaklaşık 2,5 yıl sonra, cihaz ekranında bir açılır bildirim göründüğü fark edildi
  • DOOM, beklendiği gibi taşmanın neden olduğu sert bir çökme durumuna geçti
  • Deney sonucu, değişken taşmasına bağlı oyun kapanmasının gerçek donanım ve gerçek yazılım ortamında da ortaya çıkabildiğini kanıtladı

Sonuç ve çıkarımlar

  • Programlamada uzun süre boyunca birikerek artan değişkenlere dikkat edilmesi gerektiği vurgulanıyor
  • Yalnızca teorik bir olasılık gibi görülen taşma probleminin gerçekte de patlak verebileceği deneysel olarak doğrulandı
  • Legacy kodlar veya uzun süre çalışan yazılımlardaki gizli kusurlara karşı farkındalık oluşturuyor

Henüz yorum yok.

Henüz yorum yok.