You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Jörg Hohwiller (JIRA)" <ji...@apache.org> on 2008/12/02 10:28:45 UTC
[jira] Created: (DBCP-277) DBCP Locking Up
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/%3C5611A9EAACBFF444BE35BF1DAAB314DDE2A71F@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.
[jira] Closed: (DBCP-277) DBCP Locking Up
Posted by "Phil Steitz (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/DBCP-277?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Phil Steitz closed DBCP-277.
----------------------------
> 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/%3C5611A9EAACBFF444BE35BF1DAAB314DDE2A71F@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.
[jira] Resolved: (DBCP-277) DBCP Locking Up
Posted by "Phil Steitz (JIRA)" <ji...@apache.org>.
[ 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/%3C5611A9EAACBFF444BE35BF1DAAB314DDE2A71F@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.