Home All Groups Group Topic Archive Search About

High CPU in .NET 1.1 Windows Service

Author
21 Feb 2007 5:16 PM
solidstore
The problem we are seeing, on our quad-cpu box, is 100% cpu (at random
intervals) from our service process for several hours (~2-15h) before it
recovers. Upon investigation with DebugDiag, Application Verifier and WinDbg
it appears that one thread is holding a critical section blocking 88 other
threads. Its this thread that is at 100%.

The following functions are trying to enter this critical section
mscorsvr!EE_EnterCriticalSection+c

The following module(s) are involved with this critical section
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\mscorsvr.dll

Below is the call stack of that thread:

ntdll!KiFastSystemCallRet   
ntdll!NtWaitForMultipleObjects+c   
kernel32!WaitForMultipleObjectsEx+11a   
kernel32!WaitForMultipleObjects+18   
mscorsvr!Thread::SysSuspendForGC+248   
mscorsvr!GCHeap::SuspendEE+cf   
mscorsvr!GCHeap::GarbageCollectGeneration+13f   
mscorsvr!gc_heap::allocate_more_space+181   
mscorsvr!GCHeap::Alloc+7b   
mscorsvr!Alloc+3a   
mscorsvr!SlowAllocateString+26   
mscorsvr!JIT_TrialAlloc::GenAllocArray+29c   
mscorsvr!COMString::NewString+2e   
mscorsvr!COMStreams::GetFullPathHelper+6b3   
0x0077b457   
mscorsvr!CallDescrWorker+30   
mscorsvr!MethodDesc::CallDescr+1b8   
mscorsvr!MethodDesc::CallDescr+4f   
mscorsvr!MethodDesc::Call+97   
mscorsvr!ThreadNative::KickOffThread_Worker+9d   
mscorsvr!ThreadNative::KickOffThread+c2   
mscorsvr!Thread::intermediateThreadProc+44   
kernel32!BaseThreadStart+34

We have a .NET 1.1 Windows Service running on Windows 2003 R2 with all the
latest updates. Help !!

AddThis Social Bookmark Button