commons-issues mailing list archives

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

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


Mime
View raw message