379 CLR threads expected in dump branch

On one env, we have a kind of freeze when the application stops working as it should. I have a dump and when I open it in VS I see that I have 379 threads.

When I see the call stacks of these threads, I see something like

ntdll!NtWaitForSingleObject+0xa C/C++/ASM
KERNELBASE!WaitForSingleObjectEx+0x92   C/C++/ASM
clr!CLREventWaitHelper2+0x38    C/C++/ASM
clr!CLREventWaitHelper+0x1f C/C++/ASM
clr!CLREventBase::WaitEx+0x70   C/C++/ASM
clr!AppDomain::ADUnloadThreadStart+0x190    C/C++/ASM
clr!Thread::intermediateThreadProc+0x7d C/C++/ASM
kernel32!BaseThreadInitThunk+0x1a   C/C++/ASM
ntdll!RtlUserThreadStart+0x1d   C/C++/ASM

      

All of these threads are normal priority and take precedence over the call set, for example

ntdll!NtWaitForMultipleObjects+0xa  C/C++/ASM
KERNELBASE!WaitForMultipleObjectsEx+0xe5    C/C++/ASM
clr!SVR::WaitForFinalizerEvent+0xb7 C/C++/ASM
clr!SVR::GCHeap::FinalizerThreadWorker+0x4a C/C++/ASM
clr!ManagedThreadBase_DispatchInner+0x2d    C/C++/ASM
clr!ManagedThreadBase_DispatchMiddle+0x6c   C/C++/ASM
clr!ManagedThreadBase_DispatchOuter+0x75    C/C++/ASM
clr!SVR::GCHeap::FinalizerThreadStart+0xd7  C/C++/ASM
clr!Thread::intermediateThreadProc+0x7d C/C++/ASM
kernel32!BaseThreadInitThunk+0x1a   C/C++/ASM
ntdll!RtlUserThreadStart+0x1d   C/C++/ASM

      

I have experience in dump analysis. Can you explain what this means? It looks like threads are waiting for some event. But what event and why are there so many streams?

+3


source to share





All Articles