[ 
https://issues.apache.org/jira/browse/DBCP-277?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

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: https://issues.apache.org/jira/browse/DBCP-277
>             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 [0x5f5cb000..0x5f5cc0c0]
>       at 
> org.apache.commons.pool.impl.GenericObjectPool.returnObject(GenericObjectPool.java:916)
>       - waiting to lock <0x716c4e50> (a 
> org.apache.commons.pool.impl.GenericObjectPool)
>       at 
> org.apache.commons.dbcp.PoolableConnection.close(PoolableConnection.java:87)
>       - locked <0x7a6d0408> (a org.apache.commons.dbcp.PoolableConnection)
>       at 
> org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.close(PoolingDataSource.java:181)
>       at 
> org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.closeConnection(LocalDataSourceConnectionProvider.java:96)
>       at 
> org.hibernate.jdbc.ConnectionManager.closeConnection(ConnectionManager.java:451)
>       at 
> org.hibernate.jdbc.ConnectionManager.cleanup(ConnectionManager.java:385)
>       at 
> org.hibernate.jdbc.ConnectionManager.close(ConnectionManager.java:324)
>       at org.hibernate.impl.SessionImpl.close(SessionImpl.java:298)
>       at 
> org.springframework.orm.hibernate3.SessionFactoryUtils.closeSession(SessionFactoryUtils.java:774)
>       at 
> org.springframework.orm.hibernate3.SessionFactoryUtils.closeSessionOrRegisterDeferredClose(SessionFactoryUtils.java:760)
>       at 
> org.springframework.orm.hibernate3.HibernateTransactionManager.doCleanupAfterCompletion(HibernateTransactionManager.java:674)
>       at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.cleanupAfterCompletion(AbstractPlatformTransactionManager.java:966)
>       at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:759)
>       at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:678)
> ...
> The same issue was already discussed on the mailing-list so we are not the 
> only ones with this problem:
> http://mail-archives.apache.org/mod_mbox/commons-user/200712.mbox/%3c5611a9eaacbff444be35bf1daab314dde2a...@dkkob2101mb.tsden.tcad.telia.se%3e

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

Reply via email to