.NET 4.6’daki tam zamanında derleyicide ciddi hata

Womanne

Member
20 Temmuz 2015’te yayınlanan .NET Framework 4.6, belirli durumlarda yöntemlerin yanlış parametreler almasına neden olabilecek önemli bir hata içerir. Belirli durumlarda, çağrılan yöntem iletilen değeri değil, rastgele bir değeri alır. Bu, .NET 4.6 ile yönetilen uygulamaların hatalı davranmasına neden olur.

Bunun nedeni, önceki JIT64’ten daha hızlı çalışan 64-bit uygulamalar için yeni RyuJIT tam zamanında derleyicideki kuyruk kodunun optimizasyonudur. Microsoft sorunu kabul etti ve hatayı kaynak kodunda zaten düzeltti. Ancak henüz bir düzeltme yayınlanmadı. Ancak, yayın için ilgili iç süreç başlamıştır.


.NET 4.6 kullanmadan önce dikkat edin

Stackoverflow.com web sitesi hatayı fark etti. Sorun, Microsoft’un dahili testlerinde veya yayın öncesi sürümlerde müşteriler tarafından fark edilmedi. Stackoverflow.com genel olarak .NET 4.6 kullanımına karşı uyarıda bulunsa da, Microsoft yalnızca C# ve Visual Basic .NET için RyuJIT veya Kuyruk Kodu Optimizasyonunun kapatılmasını önerir: “.NET Framework 4.6’yı stackoverflow.com optimizasyonları sıra çağrıları devre dışıyken çalıştırmak son derece güvenlidir, yamayı beklerken,” diye yazıyor Rich Lander .NET blogunda. “Bu hatanın StackExchange için çok gerçek olduğunu kabul ediyoruz ve StackExchange’i etkileyen ve etkileyecek olan birkaç durumdan biri oldukları sonucuna varıyoruz.”

Microsoft’a göre, şimdilik .NET 4.6 ile yalnızca F# kullanılmamalıdır: “F# geliştiricilerinin .NET Framework 4.6’yı dağıtmadan önce beklemeleri önerilir. Bu sorun en yaygın olarak F# programlarını etkiler.”

Aynı zamanda Microsoft, sorun için özür diler. “Yüksek kaliteli yazılım sunma konusunda bize güvendiğinizi biliyoruz. Bunu çok ciddiye alıyoruz.”


()



Haberin Sonu
 
Üst