Vadim Gritsenko wrote:
"http-8080-Processor17" daemon prio=1 tid=0x2e3d58c8 nid=0x19eb waiting for monitor entry [2d7f3000..2d7f587c] at org.apache.avalon.excalibur.pool.ResourceLimitingPool.get(ResourceLimitingPool.java:262)
- waiting to lock <0x60088180> (a java.lang.Object)

...

The only challenge here is to find source of org.apache.avalon.excalibur.component.PoolableComponentHandler, version excalibur-pool-1.2.jar. Which is not even in archive :(

Sorry, it's ResourceLimitingPool, and source can be found [1].

So line 262 is:

    public Poolable get() throws Exception
    {
        if( m_disposed ) throw new IllegalStateException( "Already Disposed" );

        Poolable poolable;
>>>     synchronized( m_semaphore )
        {


Ralph,

You should take another long look at the full thread dump - there has to be another thread somehwere in pooling code which is holding a lock on this semaphore.

Vadim

[1] http://archive.apache.org/dist/avalon/excalibur-pool/source/