[ 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.