After upgrading an ASP.NET solution to 4.0 we have noticed that every time the application pool recycles automatically (every 1740 minutes), exactly 32 seconds later we get an error in the event logs with event ID 5009.
I installed the debugger on the server and ran the analysis tool on the crash dump and below you can see what I got. Can you help me understand what could be the issue? This is happening on 4 different machines (which all happen to be virtual machines). I noticed that there is a "loop" going on in the full call stack (which I spare you here for space reasons), with the following group of calls being repeated over and over:
clr!Thread::DoAppropriateWaitWorkerAlertableHelper+4d 00000000
00000000 00000000
1bb30ba0 0000000020a0cf60 00000000
00000000
clr!Thread::DoAppropriateWaitWorker+146 000000001bb30ba0 00000000
00000001 0000000001c05970 00000000
00000000
clr!Thread::DoAppropriateWait+73 0000000020a0c0a0 00000000
00000001 000007fee4736ca9 000007fe
e4736c2c
clr!CLREvent::WaitEx+c1 0000000000000000 00000000
00000000 0000000000000000 000007fe
e7e7f960
clr!RegMeta::SaveToStream+134 0000000020a0b740 00000000
1bb30ba0 00000000dc951994 00000000
76df0e4a
clr!WaitForEndOfShutdown+9 0000000000010000 000007fe
e7804b65 0000000000000000 00000000
00000000
clr!Thread::RareDisablePreemptiveGC+490 000007fee4a8cca0 00000000
20a0b9f0 00000000dc951994 00000000
00001200
clr!EEHashTableBase,0>::FindItem+5c 000007fee4a8cca0 00000000
20a0b9f0 0000000000000001 000007fe
efbc229b
clr!IsCerRootMethod+b1 0000000000000001 00000000
00000000 0000000000000000 00000000
ffffff98
clr!TAStackCrawlCallBack+1e9 0000000020a0bd90 00000000
20a0b9f0 0000000020a0bd90 00000000
20a0bd90
clr!Thread::MakeStackwalkerCallback+2f 0000000020a0c2a0 00000000
00000002 0000000000000002 00000000
20a0c060
clr!Thread::StackWalkFramesEx+8d 000000001bb30ba0 00000000
1bb30ba0 000000001bb30ba0 00000000
00020019
clr!Thread::ReadyForAsyncException+197 0000000076f471ba 00000000
1bb30ba0 0000000000000000 00000000
00000000
clr!Thread::HandleThreadAbort+6c 0000000076def5e4 000007fe
e4da009a 000000001bb30ba0 00000000
00000000
clr!Thread::HandleThreadInterrupt+7e 00000000000007c0 00000000
000007c0 000007fee79ae71c 000007fe
e4d9f9dc
Analysis Summary
Type Description Recommendation
Error In w3wp_QAWEB4_PID_4668_Date__05_02_2012__Time_04_16_30PM_242_Second_Chance_Exception_C0000005.dmp the assembly instruction at clr!CLREvent::WaitEx+f in C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll from Microsoft Corporation has caused an access violation exception (0xC0000005) when trying to write to memory location 0x20990ff0 on thread 20
Please follow up with the vendor Microsoft Corporation for C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll
Information DebugDiag determined that this dump file (w3wp_QAWEB4_PID_4668_Date__05_02_2012__Time_04_16_30PM_242_Second_Chance_Exception_C0000005.dmp) is a crash dump and did not perform any hang analysis. If you wish to enable combined crash and hang analysis for crash dumps, edit the Globals.asp script (located in the DebugDiag\Scripts\inc folder) and set the g_DoCombinedAnalysis constant to True.
Analysis Details
Report for w3wp_QAWEB4_PID_4668_Date__05_02_2012__Time_04_16_30PM_242_Second_Chance_Exception_C0000005.dmp
Type of Analysis Performed Crash Analysis
Machine Name XXXX01-QA-WEB01
Operating System Windows Server 2008 Service Pack 2
Number Of Processors
Process ID 4668
Process Image c:\Windows\System32\inetsrv\w3wp.exe
System Up-Time 4 day(s) 14:59:36
Process Up-Time 00:06:32
Thread 20 - System ID 4364 Entry point clr!Thread::intermediateThreadProc Create time 5/2/2012 4:10:16 PM Time spent in user mode 0 Days 0:0:1.421 Time spent in kernel mode 0 Days 0:0:0.453
.NET Call Stack
Function System.Threading.Thread.SleepInternal(Int32) System.Threading.Thread.Sleep(System.TimeSpan) Sitecore.Services.Heartbeat.WorkLoop()* ERROR: Module load completed but symbols could not be loaded for Sitecore.Kernel.dll System.Threading.ExecutionContext.runTryCode(System.Object) System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode, CleanupCode, System.Object) System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) System.Threading.ThreadHelper.ThreadStart()
Full Call Stack removed for space reasons
Exception Information CLR!CLREVENT::WAITEX+FIn w3wp_QAWEB4_PID_4668_Date__05_02_2012__Time_04_16_30PM_242_Second_Chance_Exception_C0000005.dmp the assembly instruction at clr!CLREvent::WaitEx+f in C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll from Microsoft Corporation has caused an access violation exception (0xC0000005) when trying to write to memory location 0x20990ff0 on thread 20
Module Information
Image Name: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll Symbol Type: PDB
Base address: 0x0000000300905a4d Time Stamp: Sat Jul 09 05:44:20 2011
00000000 Comments: Flavor=Retail
COM DLL: False Company Name: Microsoft Corporation
ISAPIExtension: False File Description: Microsoft .NET Runtime Common Language Runtime - WorkStation
ISAPIFilter: False File Version: 4.0.30319.239 (RTMGDR.030319-2300)
Managed DLL: False Internal Name: clr.dll
VB DLL: False Legal Copyright: © Microsoft Corporation. All rights reserved.
Loaded Image Name: clr.dll Legal Trademarks:
Checksum: 0x00000000
Mapped Image Name: Original filename: clr.dll
Module name: clr Private Build: DDBLD205
Single Threaded: False Product Name: Microsoft® .NET Framework
Module Size: 9.39 MBytes Product Version: 4.0.30319.239
Symbol File Name: c:\symcache\clr.pdb\887DDF30473443C9905C3217115D7DE72\clr.pdb Special Build: &
Script Summary
Script Name Status Error Code Error Source Error Description Source Line
CrashHangAnalysis.asp Completed