2012-04-28 76 views
0

我有ASP.NET應用程序。期刊停刊並讓我的用戶不快樂。定期W3WP.exe崩潰

在日誌中我看到:

 
Faulting application name: w3wp.exe, version: 7.5.7601.17514, time stamp: 0x4ce7afa2 
Faulting module name: nlssorting.dll, version: 4.0.30319.261, time stamp: 0x4ec9f3aa 
Exception code: 0xc00000fd 
Fault offset: 0x0000000000002296 
Faulting process id: 0xfe4 
Faulting application start time: 0x01cd23bb335b5514 
Faulting application path: c:\windows\system32\inetsrv\w3wp.exe 
Faulting module path: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\nlssorting.dll 
Report Id: f25aaeba-8fae-11e1-aeea-0030488d6555 

在崩潰轉儲我看到:

 
00000000`18187760 00000000`ffffffff app_code!FunBeatRace.Configuration.SiteConfiguration.get_CurrentBrand+0x5a 
00000000`181877a0 00000000`ffffffff app_code!FunBeatRace.Globalization.CustomResourceProvider.CreateResourceKeyFromCultureName+0x16 
00000000`181877f0 00000000`ffffffff app_code!FunBeatRace.Globalization.CustomResourceProvider.GetResourceCache+0x78 
00000000`181878c0 00000000`ffffffff app_code!FunBeatRace.Globalization.CustomResourceProvider.System.Web.Compilation.IResourceProvider.GetObject+0x9b 
00000000`18187900 00000000`ffffffff system_web_ni!System.Web.Compilation.ResourceExpressionBuilder.GetResourceObject+0x1f 
00000000`18187940 00000000`ffffffff system_web_ni!System.Web.HttpContext.GetGlobalResourceObject+0x27 

這是正常的應用程序的工作。 但這種情況發生

 
000000001819D600 000007FF001E116B App_Code!FunBeatRace.Configuration.SiteConfiguration.get_CurrentBrand()+0x1cb 
000000001819D640 000007FF001E2F06 App_Code!FunBeatRace.Globalization.CustomResourceProvider.CreateResourceKeyFromCultureName(System.String)+0x16 
000000001819D690 000007FF001E29E8 App_Code!FunBeatRace.Globalization.CustomResourceProvider.GetResourceCache(System.String)+0x78 

MANAGED_STACK_COMMAND: _EFN_StackTrace 

LAST_CONTROL_TRANSFER: from 000007fef99c3742 to 000007fef80b2296 

ADDITIONAL_DEBUG_TEXT: Followup set based on attribute [Is_ChosenCrashFollowupThread] from Frame:[0] on thread:[PSEUDO_THREAD] 

FAULTING_THREAD: ffffffffffffffff 

BUGCHECK_STR: APPLICATION_FAULT_STACK_OVERFLOW_WRONG_SYMBOLS_CALL 

PRIMARY_PROBLEM_CLASS: STACK_OVERFLOW_CALL 

DEFAULT_BUCKET_ID: STACK_OVERFLOW_CALL 

STACK_TEXT: 
00000000`18187530 00000000`ffffffff mscorlib_ni!DomainNeutralILStubClass.IL_STUB_PInvoke+0xbe 
00000000`18187620 00000000`ffffffff mscorlib_ni!System.Globalization.CompareInfo.GetHashCodeOfString+0xa9 
00000000`18187670 00000000`ffffffff mscorlib_ni!System.Collections.Hashtable.get_Item+0x5c 
00000000`18187720 00000000`ffffffff system_web_ni!System.Web.SessionState.SessionStateItemCollection.get_Item+0x32 

在結果後,我們有:

 
SYMBOL_NAME: mscorlib_ni!DomainNeutralILStubClass.IL_STUB_PInvoke 

FOLLOWUP_NAME: MachineOwner 

MODULE_NAME: mscorlib_ni 

IMAGE_NAME: mscorlib.ni.dll 

DEBUG_FLR_IMAGE_TIMESTAMP: 4ec9f74e 

STACK_COMMAND: _EFN_StackTrace ; ** Pseudo Context ** ; kb 

FAILURE_BUCKET_ID: STACK_OVERFLOW_CALL_c00000fd_mscorlib.ni.dll!DomainNeutralILStubClass.IL_STUB_PInvoke 

BUCKET_ID: X64_APPLICATION_FAULT_STACK_OVERFLOW_WRONG_SYMBOLS_CALL_mscorlib_ni!DomainNeutralILStubClass.IL_STUB_PInvoke 

WATSON_STAGEONE_URL: http://watson.microsoft.com/StageOne/w3wp_exe/7_5_7601_17514/4ce7afa2/nlssorting_dll/4_0_30319_261/4ec9f3aa/c00000fd/00002296.htm?Retriage=1 

Followup: MachineOwner 

但是,我在煩惱什麼undertand。

請指教我如何解決此問題。

回答

0

這看起來類似於:http://connect.microsoft.com/VisualStudio/feedback/details/665157/nlssorting-fault-crashes-iis

您也可以在試圖趕上在Global.asax.cs中的的Application_Error與代碼中的錯誤()方法,像這樣尋找價值:

protected void Application_Error(Object sender, EventArgs e) { 
    Exception ex = HttpContext.Current.Server.GetLastError(); 
    // handle it 
    HttpContext.Current.Context.ClearError(); 
} 

隨着時間的推移,你還可以如How to get ELMAH to work with ASP.NET MVC [HandleError] attribute?

+0

在上面的鏈接我不會回答我的問題( – Diver63 2012-04-28 10:19:35

0

根據微軟的文檔w3wp.exe遇到未處理的異常時有時會崩潰。

根據我的經驗w3wp.exe當堆棧由於溢出而被無望損壞時會崩潰,並且由於內存損壞,try-catch塊無法處理這種錯誤。

主要原因可能是遞歸調用太多,因爲每次調用都會使用一定數量的堆棧直到退出。可能會有無限的遞歸?

第二個原因是w3wp.exe或.NET Framework中的內存管理不足,導致發生內存損壞而不是檢測到這種情況並通知用戶堆棧溢出。