commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Phil Steitz (JIRA)" <>
Subject [jira] Resolved: (DBCP-277) DBCP Locking Up
Date Sat, 24 Jan 2009 21:43:59 GMT


Phil Steitz resolved DBCP-277.

    Resolution: Incomplete

Please reopen, attaching a fuller thread dump (including the thread that is holding the lock
on the GenericObjectPool)  if the explanation below is incorrect / inconsistent with examination
of full thread dumps.

>From the line numbers in the stack trace, it looks like you are using Pool 1.3, which
fully synchronizes borrowObject and returnObject. If a thread that is opening, validating
or closing a connection hangs, it will effectively "lock up" the pool.  See POOL=93.  Synchronization
of borrow/return methods was narrowed in Pool 1.4, so upgrading pool might resolve your problem.

> DBCP Locking Up
> ---------------
>                 Key: DBCP-277
>                 URL:
>             Project: Commons Dbcp
>          Issue Type: Bug
>    Affects Versions: 1.2.2
>            Reporter: Jörg Hohwiller
> We had hanging threads that stalled in SocketInputStream.socketRead0 via Oracle-JDBC-Driver
in our tomcat. 
> Because we found DBCP-28, we decided to update to version 1.2.2 of commons-dbcp.
> Since that our Problems got worse because we experience some sort of deadlock in commons-dbcp.

> Thread-Dumps after a nightly loadtest expose that threads got stuck in GenericObjectPool.returnObject,
while others wait in borrowObject. 
> We stopped the load and waited for hours. The thread-dump still looks the same:
> "TP-Processor1361" daemon prio=1 tid=0x67379fb8 nid=0x36e9 waiting for monitor entry
> 	at org.apache.commons.pool.impl.GenericObjectPool.returnObject(
> 	- waiting to lock <0x716c4e50> (a org.apache.commons.pool.impl.GenericObjectPool)
> 	at org.apache.commons.dbcp.PoolableConnection.close(
> 	- locked <0x7a6d0408> (a org.apache.commons.dbcp.PoolableConnection)
> 	at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.close(
> 	at org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.closeConnection(
> 	at org.hibernate.jdbc.ConnectionManager.closeConnection(
> 	at org.hibernate.jdbc.ConnectionManager.cleanup(
> 	at org.hibernate.jdbc.ConnectionManager.close(
> 	at org.hibernate.impl.SessionImpl.close(
> 	at org.springframework.orm.hibernate3.SessionFactoryUtils.closeSession(
> 	at org.springframework.orm.hibernate3.SessionFactoryUtils.closeSessionOrRegisterDeferredClose(
> 	at org.springframework.orm.hibernate3.HibernateTransactionManager.doCleanupAfterCompletion(
> 	at
> 	at
> 	at
> ...
> The same issue was already discussed on the mailing-list so we are not the only ones
with this problem:

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message