Deadlock at GenericObjectPool.addObjectToPool and AbandonedTrace.addTrace
-------------------------------------------------------------------------
Key: POOL-153
URL: https://issues.apache.org/jira/browse/POOL-153
Project: Commons Pool
Issue Type: Bug
Affects Versions: 1.4
Environment: 2009-12-14 13:42:42
Full thread dump OpenJDK Client VM (1.6.0_0-b12 mixed mode):
Reporter: Stephen Evanchik
Deadlock observed after 72 hours of continuous use. I'm not sure if this is a
DBCP or pool bug. Please feel free to reroute me accordingly.
commons-pool is used via commons-dbcp. DBCP Configuration is as follows:
initialSize=5
maxActive=75
maxIdle=15
minIdle=5
maxWait=20000
minEvictableIdleTimeMillis=15
poolPreparedStatements=false
maxOpenPreparedStatements=0
numTestsPerEvictionRun=15
testOnBorrow=false
testOnReturn=false
testWhileIdle=true
timeBetweenEvictionRunsMillis=30000
validationQuery=SELECT 1 FROM DUAL
Excerpt from a jstack dump:
"Timer-7":
at
org.apache.commons.dbcp.AbandonedTrace.addTrace(AbandonedTrace.java:175)
- waiting to lock <0x70ca1880> (a
org.apache.commons.dbcp.PoolableConnection)
at org.apache.commons.dbcp.AbandonedTrace.init(AbandonedTrace.java:92)
at org.apache.commons.dbcp.AbandonedTrace.<init>(AbandonedTrace.java:82)
at
org.apache.commons.dbcp.DelegatingStatement.<init>(DelegatingStatement.java:61)
at
org.apache.commons.dbcp.DelegatingConnection.createStatement(DelegatingConnection.java:224)
at
org.apache.commons.dbcp.PoolableConnectionFactory.validateConnection(PoolableConnectionFactory.java:331)
at
org.apache.commons.dbcp.PoolableConnectionFactory.validateObject(PoolableConnectionFactory.java:312)
at
org.apache.commons.pool.impl.GenericObjectPool.evict(GenericObjectPool.java:1217)
- locked <0x6e5ee6b0> (a org.apache.commons.pool.impl.GenericObjectPool)
at
org.apache.commons.pool.impl.GenericObjectPool$Evictor.run(GenericObjectPool.java:1341)
at java.util.TimerThread.mainLoop(Timer.java:534)
at java.util.TimerThread.run(Timer.java:484)
"Timer-12":
at
org.apache.commons.pool.impl.GenericObjectPool.addObjectToPool(GenericObjectPool.java:1136)
- waiting to lock <0x6e5ee6b0> (a
org.apache.commons.pool.impl.GenericObjectPool)
at
org.apache.commons.pool.impl.GenericObjectPool.returnObject(GenericObjectPool.java:1076)
at
org.apache.commons.dbcp.PoolableConnection.close(PoolableConnection.java:87)
- locked <0x70ca1880> (a org.apache.commons.dbcp.PoolableConnection)
at
org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.close(PoolingDataSource.java:181)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.