我有一个在.NET 4.5中运行的ASP.NET网站。自从几个月前它上线以来,我们开始偶尔和随机定时的崩溃。在大多数情况下,网站将缓慢运行一段时间,然后恢复到正常速度,在更严重的情况下应用程序池崩溃。
事件查看器几乎没有提供帮助,所以我安装了一些额外的调试软件。
理解崩溃转储很困难,似乎没有迹象表明我的代码中的哪个页面或函数导致了错误,只是对.net函数的一些引用。
我读过的一件事是这个错误很可能是由代码中某处的递归循环引起的......崩溃转储重复了大约40次以下的行,所以理论上这可能是递归函数但是我怎么能了解更多信息?
System_Web_ni+2163b0 015136a8 02b4fa04 0a7b94b0 0f588300
System_Web_ni+2163fc 00000014 00000000 00000005 0f588220
System_Web_ni+21e397 00000001 02b4ff1c 00000001 00000000
System_Web_ni+21df85 00000001 067ed14c 02992900 06933770
System_Web_ni+21deb9 02b4ff1c 0f588398 6ba7de4b 00000000
System_Web_ni+21de67 00000000 02b50344 0f588428 0f5883a8
System_Web_ni+21de4b 02b50344 00000000 00000000 00000000
System_Web_ni+81e6cc 00000000 00000000 029629e0 02b4fa04
System_Web_ni+81dfa3 00000001 00000000 02991590 0f588720
System_Web_ni+81e83a 00000001 00000000 02b47a34 0112e6ed
System_Web_ni+81e875 00000000 00000000 00000000 00000000
0x0112de53 068e3f5c 02b47dc0 02b47a34 0f588aa4
这是DebugDiag日志...减去上面的一些重复(它超过了所有的SO限制)。
Entry point clr!Thread::intermediateThreadProc
Create time 22/08/2016 10:09:42
Time spent in user mode 0 Days 0:0:0.78
Time spent in kernel mode 0 Days 0:0:0.15
.NET Call Stack
Function
System.Globalization.CompareInfo.InternalGetGlobalizedHashCode(IntPtr, IntPtr, System.String, System.String, Int32, Int32, Boolean, Int64)
System.Web.Hosting.UnsafeIISMethods.MgdIndicateCompletion(IntPtr, System.Web.RequestNotificationStatus ByRef)
Full Call Stack
Function Arg 1 Arg 2 Arg 3 Arg 4 Source
nlssorting+34fc 02125760 00000001 029d07d8 0000000e
clr!SortVersioning::SortDllGetSortKey+33 029d07d8 0000000e 00000000 00000000
clr!COMNlsInfo::InternalGetGlobalizedHashCode+184 02125760 6feee7c3 027b1230 029d07d8
mscorlib_ni+3b9803 00000000 00000000 00000000 08000001
mscorlib_ni+3a403f 00000000 00000000 00000000 00000001
mscorlib_ni+3a3fed 6d642750 0f5620a0 6d5a550e 0f5620b0
mscorlib_ni+3a277d 0f5620b0 6d5a54bf 028ca2d8 029d07d0
mscorlib_ni+30550e 028ca2d8 029d07d0 0f5620f8 6d5a53ba
mscorlib_ni+3054bf 0f5620e4 0f5620e8 00000059 0f5620dc
mscorlib_ni+3053ba 0f562108 6ed3733a 0f562110 6eda3099
System_ni+187594 0f562110 6eda3099 0f56213c 0112f68c
System_ni+18733a 0f56213c 0112f68c 00000000 028ca288
System_ni+1f3099 00000000 028ca288 00000000 029d07d0
0x0112f68c 00000000 00000000 00000000 00000000
0x0112f454 00000000 00000000 00000000 00000000
0x0112e62e 00000000 00000000 00000000 00000000
0x0112de53 068e3f5c 02de0f70 02de0be4 0f562764
(The below is repeated about 40 times)
System_Web_ni+2163b0 015136a8 02de06cc 0a7b94b0 0f562764
System_Web_ni+2163fc 00000014 00000000 00000005 0f562684
System_Web_ni+21e397 00000001 02de0be4 00000001 00000000
System_Web_ni+21df85 00000001 067ed14c 02992900 06933770
System_Web_ni+21deb9 02de0be4 0f5627fc 6ba7de4b 00000000
System_Web_ni+21de67 00000000 02de100c 0f56288c 0f56280c
System_Web_ni+21de4b 02de100c 00000000 00000000 00000000
System_Web_ni+81e6cc 00000000 00000000 029629e0 02de06cc
System_Web_ni+81dfa3 00000001 00000000 02991590 0f562b84
System_Web_ni+81e83a 00000001 00000000 02dd86fc 0112e6ed
System_Web_ni+81e875 00000000 00000000 00000000 00000000
0x0112de53 068e3f5c 02dd8a88 02dd86fc 0f562f08
(The above is repeated about 40 times)
System_Web_ni+2163b0 6b9bcb70 0298f5dc 0a7b94b0 0f59ea1c
System_Web_ni+2163fc 00020c5b 0f59e8a8 00000000 ffffffff
System_Web_ni+21e397 00000001 0298f5dc 00000001 00000000
System_Web_ni+21df85 00000001 067ed14c 02992900 06933770
System_Web_ni+21deb9 0298f5dc 0f59eab4 6ba7de4b 00000000
System_Web_ni+21de67 00000000 069323a4 06938c5c 0f59eac4
System_Web_ni+21de4b 06938c5c 0f59ea38 0f59edc0 6fff46c0
System_Web_ni+220f9d 0000000f 70de90ae 02940d3c 00000000
System_Web_ni+1ce516 0f59ebf4 00000000 00000000 0693a838
System_Web_ni+1dc6e3 00000000 00000000 0f59ec84 0f59ec90
System_Web_ni+1cee80 06821c74 0f59ec78 0f59ed28 a8a84fa1
System_Web_ni+1db222 069323a4 a8a84fa1 6faba404 0f59f25c
System_Web_ni+1cfce0 00000000 0000000b 00000002 00000000
System_Web_ni+1cf9cf 00c511cc 01447a7c 0000000b 00000000
webengine4!MgdGetServerVariableW+269 01447a7c 00000000 01446d80 01446d80
webengine4!MgdGetNextNotification+136 00000080 00000000 021d3524 01446dd8
webengine4!MgdGetServerVariableW+210 00000080 00000000 021d3524 01446d80
webengine4!MgdWebSocketWriteFragment+a83 01446d80 01446dd8 01446d84 0f59ef10
iiscore!NOTIFICATION_CONTEXT::RequestDoWork+128 021d3524 01446d80 00000000 01446dd8
iiscore!NOTIFICATION_CONTEXT::CallModulesInternal+305 00000000 00000000 00000000 01446d80
iiscore!NOTIFICATION_CONTEXT::CallModules+28 00000000 00000000 00000000 01446d80
iiscore!W3_CONTEXT::DoStateRequestExecuteHandler+36 00000000 00000000 00000000 00000000
iiscore!W3_CONTEXT::DoWork+d7 00000000 00000000 00000001 01446d80
iiscore!W3_MAIN_CONTEXT::ContinueNotificationLoop+1f 00000000 00000000 0f59f340 0f59f228
iiscore!W3_MAIN_CONTEXT::ProcessIndicateCompletion+1f 00000000 01447a7c 0f59f238 7150ef12
iiscore!W3_CONTEXT::IndicateCompletion+75 00000000 71510a52 0f59f248 71510a74
webengine4!STRU::Unescape+423 00000000 021c65a8 0f59f288 6ba85bad
webengine4!MgdIndicateCompletion+22 01447a7c 0f59f340 a8a84fa1 6faba404
System_Web_ni+225bad a8a84fa1 6faba404 0f59f45c 6b88fd90
System_Web_ni+1cfe83 00000004 00000003 9de68411 00000000
System_Web_ni+1cf9cf 021c65a8 0f59f41c 6fbb85f3 0f59f574
clr!UM2MThunk_WrapperHelper+10 0f59f574 00000010 009fd9ac 0f061c80
clr!UM2MThunk_Wrapper+76 0f59f508 9de68329 0f061c96 00000002
clr!Thread::DoADCallBack+b3 00000002 6fbb8582 0f59f508 01000001
clr!UM2MDoADCallBack+92 ffffffff 009fd9ac 0f59f574 00000010
0x009fda27 00000000 01447a7c 00000003 00000004
webengine4!MgdGetServerVariableW+269 700fd668 714b94f2 0f59f5e8 6fb89c65
webengine4!MgdGetServerVariableW+2c3 01447a7c 9de68279 0f59f615 0f59f617
clr!UnManagedPerAppDomainTPCount::DispatchWorkItem+1ce 0f59f615 0f59f617 00010002 021c65a8
clr!ThreadpoolMgr::ExecuteWorkRequest+42 9de681c1 6fb8b4d2 00000000 021c4590
clr!ThreadpoolMgr::WorkerThreadStart+390 00000000 00000000 00000000 00000000
clr!Thread::intermediateThreadProc+4d 021c4590 0f59f8cc 770b9902 021c4590
kernel32!BaseThreadInitThunk+e 021c4590 4256efbf 00000000 00000000
ntdll!__RtlUserThreadStart+70 6fbb6088 021c4590 ffffffff 77147514
ntdll!_RtlUserThreadStart+1b 6fbb6088 021c4590 00000000 00000000
Exception Information
NLSSORTING+34FCWARNING - DebugDiag was not able to locate debug symbols for nlssorting.dll, so the information below may be incomplete.
In W3F35D~1.DMP the assembly instruction at nlssorting+34fc in C:\Windows\Microsoft.NET\Framework\v4.0.30319\nlssorting.dll from Microsoft Corporation has caused an access violation exception (0xC0000005) when trying to write to memory location 0x0f560ce8 on thread 26
Module Information
Image Name: C:\Windows\Microsoft.NET\Framework\v4.0.30319\nlssorting.dll Symbol Type: Export
Base address: 0x00905a4d Time Stamp: Fri Nov 06 02:20:51 2015
Checksum: 0x00000000 Comments: Flavor=Retail
COM DLL: False Company Name: Microsoft Corporation
ISAPIExtension: False File Description: Microsoft Collation Support
ISAPIFilter: False File Version: 4.6.1055.0 built by: NETFXREL2
Managed DLL: False Internal Name: nlssorting.dll
VB DLL: False Legal Copyright: © Microsoft Corporation. All rights reserved.
Loaded Image Name: nlssorting.dll Legal Trademarks:
Mapped Image Name: Original filename: nlssorting.dll
Module name: nlssorting Private Build: DDBLD400
Single Threaded: False Product Name: Microsoft® .NET Framework
Module Size: 76.00 KBytes Product Version: 4.6.1055.0
Symbol File Name: nlssorting.dll Special Build: &
感谢任何帮助或建议。