Hello

We have an .NET 2.0 web application that periodically hang - a few times a
day. Actually there are 2 applications, which are deployed on several
servers. One strange thing is that the hangs occurr only on 1 machine - the
most heavily loaded one. It is running W2K SP4 with the last security
updates. When a hang occurrs both applications are blocked; they are
configured to run as high(isolated) protection level.
There are these entries in the application log:

>aspnet_wp.exe (PID: 3320) was recycled because it was suspected to be in a
deadlocked state. It did not send any responses for pending requests in the
last
>180 seconds. This timeout may be adjusted using the <processModel
responseDeadlockInterval> setting in machine.config.

We then installed Debug Diagnistic Tools, which reported:

>Detected a possible critical section related problem in
aspnet_wp.exe__PID__2524__Date__10_24_2006__Time_12_39_14PM__841__IIS Hang
Dump.dmp
>Lock at CA_Db+72c0c is Transitioning
>
>Impact analysis
>
>47.17% of threads blocked

All blocked threads look alike - this is one of them:

>Thread 20 - System ID 2708
>Entry point mscorwks!Thread::intermediateThreadProc
>Create time 10/24/2006 9:23:57 AM
>Time spent in user mode 0 Days 0:0:2.953
>Time spent in kernel mode 0 Days 0:0:2.140
>
>This thread is waiting on critical section CA_Db+72c0c which is
transitioning owners (no current owner)
>
>Function Source
>NTDLL!ZwWaitForSingleObject+b
>NTDLL!RtlpWaitForCriticalSection+9e
>NTDLL!RtlEnterCriticalSection+46
>mscorwks!StubRareDisableRETURN+9
>mscorwks!Thread::RareDisablePreemptiveGC+3c6
>mscorwks!StubRareDisableRETURNWorker+14
>mscorwks!StubRareDisableRETURN+9

CA_Db is a dll implementing a connection pool of OLEDB consumers. It is
written in native C++ with a C++/CLI wrapper ( One of the apps uses also ADO
to connect to the SQL server in addition to CA_Db, although I don't think
that matters ).
This doesn't seem to be a 'classic' deadlock - all threads wait on only 1
critical section. ( they have the same call stack too )
Any ideas will be appreciated.
I couldn't find anything about critical sections which are transitioning
owners - how could that happen?

Thanks,
Plamen