2007年7月15日 星期日

微軟 .NET 修補可能導致 PC 錯亂

Microsoft .NET Patch May Make PCs Go "Haywire"

http://developers.slashdot.org/developers/07/07/13/1227225.shtml

有許多人回報,本週二微軟替 .NET 推出的 MS07-040 修補程式(http://www.microsoft.com/technet/security/Bulletin/MS07-040.mspx)
會導致各種表面上看似無關的問題(譯註:下文章因不明原因被移除,http://www.computerweekly.com/Articles/2007/07/10/225467/microsoft-july-updates-for-critical-excel-windows-and-.net.htm

根據 SANS Internet Storm Center,"我們到目前為止所收到的回報,看來在每個案例中所發生的事情都不盡相同,總歸一句,就是有很多東西變得錯亂。" 在 The Register 報導的評論中某人還指出這個修補無法安裝。(http://www.theregister.co.uk/2007/07/12/ms_patch_problems/comments/
其他奇奇怪怪的情況還包括:滑鼠突然不得動彈,或是持續哀號一段時間。在某些情況下,冷開機似乎能解決這個問題,不過其他人則指出需要重新安裝 .NET framework。

這些問題很可能與 MSCORSVW.EXE 這個程序有關:(Why .NET Framework process uses 100% CPU,http://searchwincomputing.techtarget.com/tip/0,289483,sid68_gci1225866,00.html
該程序在修補程式下載後,會重新編譯所有 .NET 套件。雖然重新編譯是在背景中執行,不過這種重新編譯會佔掉 100% 的 CPU 資源。(譯註:根據那篇文章,其中的解決方法是在 .NET 的執行目錄中下 ngen.exe executequeueditems (http://msdn2.microsoft.com/zh-tw/library/ms165074(VS.80).aspx

這個指令,若 CPU 之後數分鐘內依然滿載,可能得要重裝 .NET 了)所以有人打趣的說,是不是微軟率先發表那個會偷偷用掉 CPU 資源的工具...

※ 相關報導:

祕密搶占 CPU 資源的妙法