You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Stephen Evanchik (JIRA)" <ji...@apache.org> on 2009/12/15 17:28:18 UTC

[jira] Created: (POOL-153) Deadlock at GenericObjectPool.addObjectToPool and AbandonedTrace.addTrace

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.


[jira] Commented: (POOL-153) Deadlock at GenericObjectPool.addObjectToPool and AbandonedTrace.addTrace

Posted by "Gary Gregory (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/POOL-153?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12790851#action_12790851 ] 

Gary Gregory commented on POOL-153:
-----------------------------------

Can you test with the latest 1.5.x release?

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


[jira] Closed: (POOL-153) Deadlock at GenericObjectPool.addObjectToPool and AbandonedTrace.addTrace

Posted by "Phil Steitz (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/POOL-153?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Phil Steitz closed POOL-153.
----------------------------

    Resolution: Duplicate

This duplicates DBCP-270, which has been resolved and will be closed when DBCP 1.3/1.4 is released.

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