You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Tobias Mattsson (Created) (JIRA)" <ji...@apache.org> on 2011/11/25 15:59:39 UTC

[jira] [Created] (JCR-3158) Deadlock in DBCP when accessing node

Deadlock in DBCP when accessing node
------------------------------------

                 Key: JCR-3158
                 URL: https://issues.apache.org/jira/browse/JCR-3158
             Project: Jackrabbit Content Repository
          Issue Type: Bug
          Components: jackrabbit-core
    Affects Versions: 2.3.3, 2.2.9
         Environment: Java 6
Jackrabbit 2.2.9
Derby
            Reporter: Tobias Mattsson
            Priority: Critical


I found a deadlock situation using JR 2.2.9, the problem is with DBCP 1.2.2 and is fixed in DBCP 1.3, JR trunk also uses DBCP 1.2.2 and should also be updated

The ticket in dbcp is #DBCP-270, related tickets are #DBCP-65 #DBCP-281 #DBCP-271

Stack trace of where my call is stalled:
{code}
main@1, prio=5, in group 'main', status: 'MONITOR'
	 blocks Timer-1@2545
	 waiting for Timer-1@2545 to release lock on {1}
	  at org.apache.commons.pool.impl.GenericObjectPool.addObjectToPool(GenericObjectPool.java:1137)
	  at org.apache.commons.pool.impl.GenericObjectPool.returnObject(GenericObjectPool.java:1076)
	  at org.apache.commons.dbcp.PoolableConnection.close(PoolableConnection.java:87)
	  at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.close(PoolingDataSource.java:181)
	  at org.apache.jackrabbit.core.util.db.DbUtility.close(DbUtility.java:75)
	  at org.apache.jackrabbit.core.util.db.ResultSetWrapper.invoke(ResultSetWrapper.java:63)
	  at $Proxy12.close(Unknown Source:-1)
	  at org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.loadBundle(BundleDbPersistenceManager.java:1042)
	  at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.getBundle(AbstractBundlePersistenceManager.java:669)
	  at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.load(AbstractBundlePersistenceManager.java:415)
	  at org.apache.jackrabbit.core.state.SharedItemStateManager.loadItemState(SharedItemStateManager.java:1830)
	  at org.apache.jackrabbit.core.state.SharedItemStateManager.getNonVirtualItemState(SharedItemStateManager.java:1750)
	  at org.apache.jackrabbit.core.state.SharedItemStateManager.getItemState(SharedItemStateManager.java:265)
	  at org.apache.jackrabbit.core.state.LocalItemStateManager.getNodeState(LocalItemStateManager.java:109)
	  at org.apache.jackrabbit.core.state.LocalItemStateManager.getItemState(LocalItemStateManager.java:174)
	  at org.apache.jackrabbit.core.state.XAItemStateManager.getItemState(XAItemStateManager.java:260)
	  at org.apache.jackrabbit.core.state.SessionItemStateManager.getItemState(SessionItemStateManager.java:161)
	  at org.apache.jackrabbit.core.ItemManager.getItemData(ItemManager.java:382)
	  at org.apache.jackrabbit.core.ItemManager.getNode(ItemManager.java:669)
	  at org.apache.jackrabbit.core.ItemManager.getNode(ItemManager.java:647)
	  at org.apache.jackrabbit.core.LazyItemIterator.prefetchNext(LazyItemIterator.java:120)
	  at org.apache.jackrabbit.core.LazyItemIterator.next(LazyItemIterator.java:257)
	  at info.magnolia.jcr.iterator.DelegatingNodeIterator.next(DelegatingNodeIterator.java:79)
{code}

This is the offending thread:
{code}
Timer-1@2545 daemon, prio=5, in group 'main', status: 'MONITOR'
	 blocks main@1
	 waiting for main@1 to release lock on {1}
	  at org.apache.commons.dbcp.AbandonedTrace.addTrace(AbandonedTrace.java:176)
	  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)
	  at org.apache.commons.pool.impl.GenericObjectPool$Evictor.run(GenericObjectPool.java:1341)
	  at java.util.TimerThread.mainLoop(Timer.java:512)
	  at java.util.TimerThread.run(Timer.java:462)
{code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Resolved] (JCR-3158) Deadlock in DBCP when accessing node

Posted by "Alex Parvulescu (Resolved) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-3158?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alex Parvulescu resolved JCR-3158.
----------------------------------

       Resolution: Fixed
    Fix Version/s: 2.5

this looks serious enough.
I've ran all the tests with DBCP 1.3 and everything passes.

fixed in revision 1296226.
                
> Deadlock in DBCP when accessing node
> ------------------------------------
>
>                 Key: JCR-3158
>                 URL: https://issues.apache.org/jira/browse/JCR-3158
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core
>    Affects Versions: 2.2.10, 2.3.3, 2.4
>         Environment: Java 6
> Jackrabbit 2.2.10
> Derby
>            Reporter: Tobias Mattsson
>            Priority: Critical
>             Fix For: 2.5
>
>
> I found a deadlock situation using JR 2.2.10, the problem is with DBCP 1.2.2 and is fixed in DBCP 1.3, JR trunk also uses DBCP 1.2.2 and should also be updated
> The ticket in dbcp is #DBCP-270, related tickets are #DBCP-65 #DBCP-281 #DBCP-271
> Stack trace of where my call is stalled:
> {code}
> main@1, prio=5, in group 'main', status: 'MONITOR'
> 	 blocks Timer-1@2545
> 	 waiting for Timer-1@2545 to release lock on {1}
> 	  at org.apache.commons.pool.impl.GenericObjectPool.addObjectToPool(GenericObjectPool.java:1137)
> 	  at org.apache.commons.pool.impl.GenericObjectPool.returnObject(GenericObjectPool.java:1076)
> 	  at org.apache.commons.dbcp.PoolableConnection.close(PoolableConnection.java:87)
> 	  at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.close(PoolingDataSource.java:181)
> 	  at org.apache.jackrabbit.core.util.db.DbUtility.close(DbUtility.java:75)
> 	  at org.apache.jackrabbit.core.util.db.ResultSetWrapper.invoke(ResultSetWrapper.java:63)
> 	  at $Proxy12.close(Unknown Source:-1)
> 	  at org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.loadBundle(BundleDbPersistenceManager.java:1042)
> 	  at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.getBundle(AbstractBundlePersistenceManager.java:669)
> 	  at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.load(AbstractBundlePersistenceManager.java:415)
> 	  at org.apache.jackrabbit.core.state.SharedItemStateManager.loadItemState(SharedItemStateManager.java:1830)
> 	  at org.apache.jackrabbit.core.state.SharedItemStateManager.getNonVirtualItemState(SharedItemStateManager.java:1750)
> 	  at org.apache.jackrabbit.core.state.SharedItemStateManager.getItemState(SharedItemStateManager.java:265)
> 	  at org.apache.jackrabbit.core.state.LocalItemStateManager.getNodeState(LocalItemStateManager.java:109)
> 	  at org.apache.jackrabbit.core.state.LocalItemStateManager.getItemState(LocalItemStateManager.java:174)
> 	  at org.apache.jackrabbit.core.state.XAItemStateManager.getItemState(XAItemStateManager.java:260)
> 	  at org.apache.jackrabbit.core.state.SessionItemStateManager.getItemState(SessionItemStateManager.java:161)
> 	  at org.apache.jackrabbit.core.ItemManager.getItemData(ItemManager.java:382)
> 	  at org.apache.jackrabbit.core.ItemManager.getNode(ItemManager.java:669)
> 	  at org.apache.jackrabbit.core.ItemManager.getNode(ItemManager.java:647)
> 	  at org.apache.jackrabbit.core.LazyItemIterator.prefetchNext(LazyItemIterator.java:120)
> 	  at org.apache.jackrabbit.core.LazyItemIterator.next(LazyItemIterator.java:257)
> 	  at info.magnolia.jcr.iterator.DelegatingNodeIterator.next(DelegatingNodeIterator.java:79)
> {code}
> This is the offending thread:
> {code}
> Timer-1@2545 daemon, prio=5, in group 'main', status: 'MONITOR'
> 	 blocks main@1
> 	 waiting for main@1 to release lock on {1}
> 	  at org.apache.commons.dbcp.AbandonedTrace.addTrace(AbandonedTrace.java:176)
> 	  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)
> 	  at org.apache.commons.pool.impl.GenericObjectPool$Evictor.run(GenericObjectPool.java:1341)
> 	  at java.util.TimerThread.mainLoop(Timer.java:512)
> 	  at java.util.TimerThread.run(Timer.java:462)
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (JCR-3158) Deadlock in DBCP when accessing node

Posted by "Tobias Mattsson (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-3158?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tobias Mattsson updated JCR-3158:
---------------------------------

    Affects Version/s: 2.4

Added affects version 2.4 since it also uses DBCP 1.2.2.
                
> Deadlock in DBCP when accessing node
> ------------------------------------
>
>                 Key: JCR-3158
>                 URL: https://issues.apache.org/jira/browse/JCR-3158
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core
>    Affects Versions: 2.2.10, 2.3.3, 2.4
>         Environment: Java 6
> Jackrabbit 2.2.10
> Derby
>            Reporter: Tobias Mattsson
>            Priority: Critical
>
> I found a deadlock situation using JR 2.2.10, the problem is with DBCP 1.2.2 and is fixed in DBCP 1.3, JR trunk also uses DBCP 1.2.2 and should also be updated
> The ticket in dbcp is #DBCP-270, related tickets are #DBCP-65 #DBCP-281 #DBCP-271
> Stack trace of where my call is stalled:
> {code}
> main@1, prio=5, in group 'main', status: 'MONITOR'
> 	 blocks Timer-1@2545
> 	 waiting for Timer-1@2545 to release lock on {1}
> 	  at org.apache.commons.pool.impl.GenericObjectPool.addObjectToPool(GenericObjectPool.java:1137)
> 	  at org.apache.commons.pool.impl.GenericObjectPool.returnObject(GenericObjectPool.java:1076)
> 	  at org.apache.commons.dbcp.PoolableConnection.close(PoolableConnection.java:87)
> 	  at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.close(PoolingDataSource.java:181)
> 	  at org.apache.jackrabbit.core.util.db.DbUtility.close(DbUtility.java:75)
> 	  at org.apache.jackrabbit.core.util.db.ResultSetWrapper.invoke(ResultSetWrapper.java:63)
> 	  at $Proxy12.close(Unknown Source:-1)
> 	  at org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.loadBundle(BundleDbPersistenceManager.java:1042)
> 	  at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.getBundle(AbstractBundlePersistenceManager.java:669)
> 	  at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.load(AbstractBundlePersistenceManager.java:415)
> 	  at org.apache.jackrabbit.core.state.SharedItemStateManager.loadItemState(SharedItemStateManager.java:1830)
> 	  at org.apache.jackrabbit.core.state.SharedItemStateManager.getNonVirtualItemState(SharedItemStateManager.java:1750)
> 	  at org.apache.jackrabbit.core.state.SharedItemStateManager.getItemState(SharedItemStateManager.java:265)
> 	  at org.apache.jackrabbit.core.state.LocalItemStateManager.getNodeState(LocalItemStateManager.java:109)
> 	  at org.apache.jackrabbit.core.state.LocalItemStateManager.getItemState(LocalItemStateManager.java:174)
> 	  at org.apache.jackrabbit.core.state.XAItemStateManager.getItemState(XAItemStateManager.java:260)
> 	  at org.apache.jackrabbit.core.state.SessionItemStateManager.getItemState(SessionItemStateManager.java:161)
> 	  at org.apache.jackrabbit.core.ItemManager.getItemData(ItemManager.java:382)
> 	  at org.apache.jackrabbit.core.ItemManager.getNode(ItemManager.java:669)
> 	  at org.apache.jackrabbit.core.ItemManager.getNode(ItemManager.java:647)
> 	  at org.apache.jackrabbit.core.LazyItemIterator.prefetchNext(LazyItemIterator.java:120)
> 	  at org.apache.jackrabbit.core.LazyItemIterator.next(LazyItemIterator.java:257)
> 	  at info.magnolia.jcr.iterator.DelegatingNodeIterator.next(DelegatingNodeIterator.java:79)
> {code}
> This is the offending thread:
> {code}
> Timer-1@2545 daemon, prio=5, in group 'main', status: 'MONITOR'
> 	 blocks main@1
> 	 waiting for main@1 to release lock on {1}
> 	  at org.apache.commons.dbcp.AbandonedTrace.addTrace(AbandonedTrace.java:176)
> 	  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)
> 	  at org.apache.commons.pool.impl.GenericObjectPool$Evictor.run(GenericObjectPool.java:1341)
> 	  at java.util.TimerThread.mainLoop(Timer.java:512)
> 	  at java.util.TimerThread.run(Timer.java:462)
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (JCR-3158) Deadlock in DBCP when accessing node

Posted by "Tobias Mattsson (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-3158?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tobias Mattsson updated JCR-3158:
---------------------------------

          Environment: 
Java 6
Jackrabbit 2.2.10
Derby

  was:
Java 6
Jackrabbit 2.2.9
Derby

    Affects Version/s:     (was: 2.2.9)
                       2.2.10
    
> Deadlock in DBCP when accessing node
> ------------------------------------
>
>                 Key: JCR-3158
>                 URL: https://issues.apache.org/jira/browse/JCR-3158
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core
>    Affects Versions: 2.2.10, 2.3.3
>         Environment: Java 6
> Jackrabbit 2.2.10
> Derby
>            Reporter: Tobias Mattsson
>            Priority: Critical
>
> I found a deadlock situation using JR 2.2.9, the problem is with DBCP 1.2.2 and is fixed in DBCP 1.3, JR trunk also uses DBCP 1.2.2 and should also be updated
> The ticket in dbcp is #DBCP-270, related tickets are #DBCP-65 #DBCP-281 #DBCP-271
> Stack trace of where my call is stalled:
> {code}
> main@1, prio=5, in group 'main', status: 'MONITOR'
> 	 blocks Timer-1@2545
> 	 waiting for Timer-1@2545 to release lock on {1}
> 	  at org.apache.commons.pool.impl.GenericObjectPool.addObjectToPool(GenericObjectPool.java:1137)
> 	  at org.apache.commons.pool.impl.GenericObjectPool.returnObject(GenericObjectPool.java:1076)
> 	  at org.apache.commons.dbcp.PoolableConnection.close(PoolableConnection.java:87)
> 	  at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.close(PoolingDataSource.java:181)
> 	  at org.apache.jackrabbit.core.util.db.DbUtility.close(DbUtility.java:75)
> 	  at org.apache.jackrabbit.core.util.db.ResultSetWrapper.invoke(ResultSetWrapper.java:63)
> 	  at $Proxy12.close(Unknown Source:-1)
> 	  at org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.loadBundle(BundleDbPersistenceManager.java:1042)
> 	  at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.getBundle(AbstractBundlePersistenceManager.java:669)
> 	  at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.load(AbstractBundlePersistenceManager.java:415)
> 	  at org.apache.jackrabbit.core.state.SharedItemStateManager.loadItemState(SharedItemStateManager.java:1830)
> 	  at org.apache.jackrabbit.core.state.SharedItemStateManager.getNonVirtualItemState(SharedItemStateManager.java:1750)
> 	  at org.apache.jackrabbit.core.state.SharedItemStateManager.getItemState(SharedItemStateManager.java:265)
> 	  at org.apache.jackrabbit.core.state.LocalItemStateManager.getNodeState(LocalItemStateManager.java:109)
> 	  at org.apache.jackrabbit.core.state.LocalItemStateManager.getItemState(LocalItemStateManager.java:174)
> 	  at org.apache.jackrabbit.core.state.XAItemStateManager.getItemState(XAItemStateManager.java:260)
> 	  at org.apache.jackrabbit.core.state.SessionItemStateManager.getItemState(SessionItemStateManager.java:161)
> 	  at org.apache.jackrabbit.core.ItemManager.getItemData(ItemManager.java:382)
> 	  at org.apache.jackrabbit.core.ItemManager.getNode(ItemManager.java:669)
> 	  at org.apache.jackrabbit.core.ItemManager.getNode(ItemManager.java:647)
> 	  at org.apache.jackrabbit.core.LazyItemIterator.prefetchNext(LazyItemIterator.java:120)
> 	  at org.apache.jackrabbit.core.LazyItemIterator.next(LazyItemIterator.java:257)
> 	  at info.magnolia.jcr.iterator.DelegatingNodeIterator.next(DelegatingNodeIterator.java:79)
> {code}
> This is the offending thread:
> {code}
> Timer-1@2545 daemon, prio=5, in group 'main', status: 'MONITOR'
> 	 blocks main@1
> 	 waiting for main@1 to release lock on {1}
> 	  at org.apache.commons.dbcp.AbandonedTrace.addTrace(AbandonedTrace.java:176)
> 	  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)
> 	  at org.apache.commons.pool.impl.GenericObjectPool$Evictor.run(GenericObjectPool.java:1341)
> 	  at java.util.TimerThread.mainLoop(Timer.java:512)
> 	  at java.util.TimerThread.run(Timer.java:462)
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (JCR-3158) Deadlock in DBCP when accessing node

Posted by "Alex Parvulescu (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-3158?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13236571#comment-13236571 ] 

Alex Parvulescu commented on JCR-3158:
--------------------------------------

backported to 2.4 in revision 1304328.
                
> Deadlock in DBCP when accessing node
> ------------------------------------
>
>                 Key: JCR-3158
>                 URL: https://issues.apache.org/jira/browse/JCR-3158
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core
>    Affects Versions: 2.2.10, 2.3.3, 2.4
>         Environment: Java 6
> Jackrabbit 2.2.10
> Derby
>            Reporter: Tobias Mattsson
>            Priority: Critical
>             Fix For: 2.4.1, 2.6
>
>
> I found a deadlock situation using JR 2.2.10, the problem is with DBCP 1.2.2 and is fixed in DBCP 1.3, JR trunk also uses DBCP 1.2.2 and should also be updated
> The ticket in dbcp is #DBCP-270, related tickets are #DBCP-65 #DBCP-281 #DBCP-271
> Stack trace of where my call is stalled:
> {code}
> main@1, prio=5, in group 'main', status: 'MONITOR'
> 	 blocks Timer-1@2545
> 	 waiting for Timer-1@2545 to release lock on {1}
> 	  at org.apache.commons.pool.impl.GenericObjectPool.addObjectToPool(GenericObjectPool.java:1137)
> 	  at org.apache.commons.pool.impl.GenericObjectPool.returnObject(GenericObjectPool.java:1076)
> 	  at org.apache.commons.dbcp.PoolableConnection.close(PoolableConnection.java:87)
> 	  at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.close(PoolingDataSource.java:181)
> 	  at org.apache.jackrabbit.core.util.db.DbUtility.close(DbUtility.java:75)
> 	  at org.apache.jackrabbit.core.util.db.ResultSetWrapper.invoke(ResultSetWrapper.java:63)
> 	  at $Proxy12.close(Unknown Source:-1)
> 	  at org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.loadBundle(BundleDbPersistenceManager.java:1042)
> 	  at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.getBundle(AbstractBundlePersistenceManager.java:669)
> 	  at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.load(AbstractBundlePersistenceManager.java:415)
> 	  at org.apache.jackrabbit.core.state.SharedItemStateManager.loadItemState(SharedItemStateManager.java:1830)
> 	  at org.apache.jackrabbit.core.state.SharedItemStateManager.getNonVirtualItemState(SharedItemStateManager.java:1750)
> 	  at org.apache.jackrabbit.core.state.SharedItemStateManager.getItemState(SharedItemStateManager.java:265)
> 	  at org.apache.jackrabbit.core.state.LocalItemStateManager.getNodeState(LocalItemStateManager.java:109)
> 	  at org.apache.jackrabbit.core.state.LocalItemStateManager.getItemState(LocalItemStateManager.java:174)
> 	  at org.apache.jackrabbit.core.state.XAItemStateManager.getItemState(XAItemStateManager.java:260)
> 	  at org.apache.jackrabbit.core.state.SessionItemStateManager.getItemState(SessionItemStateManager.java:161)
> 	  at org.apache.jackrabbit.core.ItemManager.getItemData(ItemManager.java:382)
> 	  at org.apache.jackrabbit.core.ItemManager.getNode(ItemManager.java:669)
> 	  at org.apache.jackrabbit.core.ItemManager.getNode(ItemManager.java:647)
> 	  at org.apache.jackrabbit.core.LazyItemIterator.prefetchNext(LazyItemIterator.java:120)
> 	  at org.apache.jackrabbit.core.LazyItemIterator.next(LazyItemIterator.java:257)
> 	  at info.magnolia.jcr.iterator.DelegatingNodeIterator.next(DelegatingNodeIterator.java:79)
> {code}
> This is the offending thread:
> {code}
> Timer-1@2545 daemon, prio=5, in group 'main', status: 'MONITOR'
> 	 blocks main@1
> 	 waiting for main@1 to release lock on {1}
> 	  at org.apache.commons.dbcp.AbandonedTrace.addTrace(AbandonedTrace.java:176)
> 	  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)
> 	  at org.apache.commons.pool.impl.GenericObjectPool$Evictor.run(GenericObjectPool.java:1341)
> 	  at java.util.TimerThread.mainLoop(Timer.java:512)
> 	  at java.util.TimerThread.run(Timer.java:462)
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (JCR-3158) Deadlock in DBCP when accessing node

Posted by "Grégory Joseph (Commented JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-3158?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13220963#comment-13220963 ] 

Grégory Joseph commented on JCR-3158:
-------------------------------------

Any chance of a backport to the 2.4 branch ?
                
> Deadlock in DBCP when accessing node
> ------------------------------------
>
>                 Key: JCR-3158
>                 URL: https://issues.apache.org/jira/browse/JCR-3158
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core
>    Affects Versions: 2.2.10, 2.3.3, 2.4
>         Environment: Java 6
> Jackrabbit 2.2.10
> Derby
>            Reporter: Tobias Mattsson
>            Priority: Critical
>             Fix For: 2.5
>
>
> I found a deadlock situation using JR 2.2.10, the problem is with DBCP 1.2.2 and is fixed in DBCP 1.3, JR trunk also uses DBCP 1.2.2 and should also be updated
> The ticket in dbcp is #DBCP-270, related tickets are #DBCP-65 #DBCP-281 #DBCP-271
> Stack trace of where my call is stalled:
> {code}
> main@1, prio=5, in group 'main', status: 'MONITOR'
> 	 blocks Timer-1@2545
> 	 waiting for Timer-1@2545 to release lock on {1}
> 	  at org.apache.commons.pool.impl.GenericObjectPool.addObjectToPool(GenericObjectPool.java:1137)
> 	  at org.apache.commons.pool.impl.GenericObjectPool.returnObject(GenericObjectPool.java:1076)
> 	  at org.apache.commons.dbcp.PoolableConnection.close(PoolableConnection.java:87)
> 	  at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.close(PoolingDataSource.java:181)
> 	  at org.apache.jackrabbit.core.util.db.DbUtility.close(DbUtility.java:75)
> 	  at org.apache.jackrabbit.core.util.db.ResultSetWrapper.invoke(ResultSetWrapper.java:63)
> 	  at $Proxy12.close(Unknown Source:-1)
> 	  at org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.loadBundle(BundleDbPersistenceManager.java:1042)
> 	  at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.getBundle(AbstractBundlePersistenceManager.java:669)
> 	  at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.load(AbstractBundlePersistenceManager.java:415)
> 	  at org.apache.jackrabbit.core.state.SharedItemStateManager.loadItemState(SharedItemStateManager.java:1830)
> 	  at org.apache.jackrabbit.core.state.SharedItemStateManager.getNonVirtualItemState(SharedItemStateManager.java:1750)
> 	  at org.apache.jackrabbit.core.state.SharedItemStateManager.getItemState(SharedItemStateManager.java:265)
> 	  at org.apache.jackrabbit.core.state.LocalItemStateManager.getNodeState(LocalItemStateManager.java:109)
> 	  at org.apache.jackrabbit.core.state.LocalItemStateManager.getItemState(LocalItemStateManager.java:174)
> 	  at org.apache.jackrabbit.core.state.XAItemStateManager.getItemState(XAItemStateManager.java:260)
> 	  at org.apache.jackrabbit.core.state.SessionItemStateManager.getItemState(SessionItemStateManager.java:161)
> 	  at org.apache.jackrabbit.core.ItemManager.getItemData(ItemManager.java:382)
> 	  at org.apache.jackrabbit.core.ItemManager.getNode(ItemManager.java:669)
> 	  at org.apache.jackrabbit.core.ItemManager.getNode(ItemManager.java:647)
> 	  at org.apache.jackrabbit.core.LazyItemIterator.prefetchNext(LazyItemIterator.java:120)
> 	  at org.apache.jackrabbit.core.LazyItemIterator.next(LazyItemIterator.java:257)
> 	  at info.magnolia.jcr.iterator.DelegatingNodeIterator.next(DelegatingNodeIterator.java:79)
> {code}
> This is the offending thread:
> {code}
> Timer-1@2545 daemon, prio=5, in group 'main', status: 'MONITOR'
> 	 blocks main@1
> 	 waiting for main@1 to release lock on {1}
> 	  at org.apache.commons.dbcp.AbandonedTrace.addTrace(AbandonedTrace.java:176)
> 	  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)
> 	  at org.apache.commons.pool.impl.GenericObjectPool$Evictor.run(GenericObjectPool.java:1341)
> 	  at java.util.TimerThread.mainLoop(Timer.java:512)
> 	  at java.util.TimerThread.run(Timer.java:462)
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] [Updated] (JCR-3158) Deadlock in DBCP when accessing node

Posted by "Jukka Zitting (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-3158?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jukka Zitting updated JCR-3158:
-------------------------------

    Fix Version/s: 2.2.12

Merged to the 2.2 branch in revision 1307473.
                
> Deadlock in DBCP when accessing node
> ------------------------------------
>
>                 Key: JCR-3158
>                 URL: https://issues.apache.org/jira/browse/JCR-3158
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core
>    Affects Versions: 2.2.10, 2.3.3, 2.4
>         Environment: Java 6
> Jackrabbit 2.2.10
> Derby
>            Reporter: Tobias Mattsson
>            Priority: Critical
>             Fix For: 2.2.12, 2.4.1, 2.6
>
>
> I found a deadlock situation using JR 2.2.10, the problem is with DBCP 1.2.2 and is fixed in DBCP 1.3, JR trunk also uses DBCP 1.2.2 and should also be updated
> The ticket in dbcp is #DBCP-270, related tickets are #DBCP-65 #DBCP-281 #DBCP-271
> Stack trace of where my call is stalled:
> {code}
> main@1, prio=5, in group 'main', status: 'MONITOR'
> 	 blocks Timer-1@2545
> 	 waiting for Timer-1@2545 to release lock on {1}
> 	  at org.apache.commons.pool.impl.GenericObjectPool.addObjectToPool(GenericObjectPool.java:1137)
> 	  at org.apache.commons.pool.impl.GenericObjectPool.returnObject(GenericObjectPool.java:1076)
> 	  at org.apache.commons.dbcp.PoolableConnection.close(PoolableConnection.java:87)
> 	  at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.close(PoolingDataSource.java:181)
> 	  at org.apache.jackrabbit.core.util.db.DbUtility.close(DbUtility.java:75)
> 	  at org.apache.jackrabbit.core.util.db.ResultSetWrapper.invoke(ResultSetWrapper.java:63)
> 	  at $Proxy12.close(Unknown Source:-1)
> 	  at org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.loadBundle(BundleDbPersistenceManager.java:1042)
> 	  at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.getBundle(AbstractBundlePersistenceManager.java:669)
> 	  at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.load(AbstractBundlePersistenceManager.java:415)
> 	  at org.apache.jackrabbit.core.state.SharedItemStateManager.loadItemState(SharedItemStateManager.java:1830)
> 	  at org.apache.jackrabbit.core.state.SharedItemStateManager.getNonVirtualItemState(SharedItemStateManager.java:1750)
> 	  at org.apache.jackrabbit.core.state.SharedItemStateManager.getItemState(SharedItemStateManager.java:265)
> 	  at org.apache.jackrabbit.core.state.LocalItemStateManager.getNodeState(LocalItemStateManager.java:109)
> 	  at org.apache.jackrabbit.core.state.LocalItemStateManager.getItemState(LocalItemStateManager.java:174)
> 	  at org.apache.jackrabbit.core.state.XAItemStateManager.getItemState(XAItemStateManager.java:260)
> 	  at org.apache.jackrabbit.core.state.SessionItemStateManager.getItemState(SessionItemStateManager.java:161)
> 	  at org.apache.jackrabbit.core.ItemManager.getItemData(ItemManager.java:382)
> 	  at org.apache.jackrabbit.core.ItemManager.getNode(ItemManager.java:669)
> 	  at org.apache.jackrabbit.core.ItemManager.getNode(ItemManager.java:647)
> 	  at org.apache.jackrabbit.core.LazyItemIterator.prefetchNext(LazyItemIterator.java:120)
> 	  at org.apache.jackrabbit.core.LazyItemIterator.next(LazyItemIterator.java:257)
> 	  at info.magnolia.jcr.iterator.DelegatingNodeIterator.next(DelegatingNodeIterator.java:79)
> {code}
> This is the offending thread:
> {code}
> Timer-1@2545 daemon, prio=5, in group 'main', status: 'MONITOR'
> 	 blocks main@1
> 	 waiting for main@1 to release lock on {1}
> 	  at org.apache.commons.dbcp.AbandonedTrace.addTrace(AbandonedTrace.java:176)
> 	  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)
> 	  at org.apache.commons.pool.impl.GenericObjectPool$Evictor.run(GenericObjectPool.java:1341)
> 	  at java.util.TimerThread.mainLoop(Timer.java:512)
> 	  at java.util.TimerThread.run(Timer.java:462)
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (JCR-3158) Deadlock in DBCP when accessing node

Posted by "Tobias Mattsson (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-3158?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tobias Mattsson updated JCR-3158:
---------------------------------

    Description: 
I found a deadlock situation using JR 2.2.10, the problem is with DBCP 1.2.2 and is fixed in DBCP 1.3, JR trunk also uses DBCP 1.2.2 and should also be updated

The ticket in dbcp is #DBCP-270, related tickets are #DBCP-65 #DBCP-281 #DBCP-271

Stack trace of where my call is stalled:
{code}
main@1, prio=5, in group 'main', status: 'MONITOR'
	 blocks Timer-1@2545
	 waiting for Timer-1@2545 to release lock on {1}
	  at org.apache.commons.pool.impl.GenericObjectPool.addObjectToPool(GenericObjectPool.java:1137)
	  at org.apache.commons.pool.impl.GenericObjectPool.returnObject(GenericObjectPool.java:1076)
	  at org.apache.commons.dbcp.PoolableConnection.close(PoolableConnection.java:87)
	  at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.close(PoolingDataSource.java:181)
	  at org.apache.jackrabbit.core.util.db.DbUtility.close(DbUtility.java:75)
	  at org.apache.jackrabbit.core.util.db.ResultSetWrapper.invoke(ResultSetWrapper.java:63)
	  at $Proxy12.close(Unknown Source:-1)
	  at org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.loadBundle(BundleDbPersistenceManager.java:1042)
	  at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.getBundle(AbstractBundlePersistenceManager.java:669)
	  at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.load(AbstractBundlePersistenceManager.java:415)
	  at org.apache.jackrabbit.core.state.SharedItemStateManager.loadItemState(SharedItemStateManager.java:1830)
	  at org.apache.jackrabbit.core.state.SharedItemStateManager.getNonVirtualItemState(SharedItemStateManager.java:1750)
	  at org.apache.jackrabbit.core.state.SharedItemStateManager.getItemState(SharedItemStateManager.java:265)
	  at org.apache.jackrabbit.core.state.LocalItemStateManager.getNodeState(LocalItemStateManager.java:109)
	  at org.apache.jackrabbit.core.state.LocalItemStateManager.getItemState(LocalItemStateManager.java:174)
	  at org.apache.jackrabbit.core.state.XAItemStateManager.getItemState(XAItemStateManager.java:260)
	  at org.apache.jackrabbit.core.state.SessionItemStateManager.getItemState(SessionItemStateManager.java:161)
	  at org.apache.jackrabbit.core.ItemManager.getItemData(ItemManager.java:382)
	  at org.apache.jackrabbit.core.ItemManager.getNode(ItemManager.java:669)
	  at org.apache.jackrabbit.core.ItemManager.getNode(ItemManager.java:647)
	  at org.apache.jackrabbit.core.LazyItemIterator.prefetchNext(LazyItemIterator.java:120)
	  at org.apache.jackrabbit.core.LazyItemIterator.next(LazyItemIterator.java:257)
	  at info.magnolia.jcr.iterator.DelegatingNodeIterator.next(DelegatingNodeIterator.java:79)
{code}

This is the offending thread:
{code}
Timer-1@2545 daemon, prio=5, in group 'main', status: 'MONITOR'
	 blocks main@1
	 waiting for main@1 to release lock on {1}
	  at org.apache.commons.dbcp.AbandonedTrace.addTrace(AbandonedTrace.java:176)
	  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)
	  at org.apache.commons.pool.impl.GenericObjectPool$Evictor.run(GenericObjectPool.java:1341)
	  at java.util.TimerThread.mainLoop(Timer.java:512)
	  at java.util.TimerThread.run(Timer.java:462)
{code}

  was:
I found a deadlock situation using JR 2.2.9, the problem is with DBCP 1.2.2 and is fixed in DBCP 1.3, JR trunk also uses DBCP 1.2.2 and should also be updated

The ticket in dbcp is #DBCP-270, related tickets are #DBCP-65 #DBCP-281 #DBCP-271

Stack trace of where my call is stalled:
{code}
main@1, prio=5, in group 'main', status: 'MONITOR'
	 blocks Timer-1@2545
	 waiting for Timer-1@2545 to release lock on {1}
	  at org.apache.commons.pool.impl.GenericObjectPool.addObjectToPool(GenericObjectPool.java:1137)
	  at org.apache.commons.pool.impl.GenericObjectPool.returnObject(GenericObjectPool.java:1076)
	  at org.apache.commons.dbcp.PoolableConnection.close(PoolableConnection.java:87)
	  at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.close(PoolingDataSource.java:181)
	  at org.apache.jackrabbit.core.util.db.DbUtility.close(DbUtility.java:75)
	  at org.apache.jackrabbit.core.util.db.ResultSetWrapper.invoke(ResultSetWrapper.java:63)
	  at $Proxy12.close(Unknown Source:-1)
	  at org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.loadBundle(BundleDbPersistenceManager.java:1042)
	  at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.getBundle(AbstractBundlePersistenceManager.java:669)
	  at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.load(AbstractBundlePersistenceManager.java:415)
	  at org.apache.jackrabbit.core.state.SharedItemStateManager.loadItemState(SharedItemStateManager.java:1830)
	  at org.apache.jackrabbit.core.state.SharedItemStateManager.getNonVirtualItemState(SharedItemStateManager.java:1750)
	  at org.apache.jackrabbit.core.state.SharedItemStateManager.getItemState(SharedItemStateManager.java:265)
	  at org.apache.jackrabbit.core.state.LocalItemStateManager.getNodeState(LocalItemStateManager.java:109)
	  at org.apache.jackrabbit.core.state.LocalItemStateManager.getItemState(LocalItemStateManager.java:174)
	  at org.apache.jackrabbit.core.state.XAItemStateManager.getItemState(XAItemStateManager.java:260)
	  at org.apache.jackrabbit.core.state.SessionItemStateManager.getItemState(SessionItemStateManager.java:161)
	  at org.apache.jackrabbit.core.ItemManager.getItemData(ItemManager.java:382)
	  at org.apache.jackrabbit.core.ItemManager.getNode(ItemManager.java:669)
	  at org.apache.jackrabbit.core.ItemManager.getNode(ItemManager.java:647)
	  at org.apache.jackrabbit.core.LazyItemIterator.prefetchNext(LazyItemIterator.java:120)
	  at org.apache.jackrabbit.core.LazyItemIterator.next(LazyItemIterator.java:257)
	  at info.magnolia.jcr.iterator.DelegatingNodeIterator.next(DelegatingNodeIterator.java:79)
{code}

This is the offending thread:
{code}
Timer-1@2545 daemon, prio=5, in group 'main', status: 'MONITOR'
	 blocks main@1
	 waiting for main@1 to release lock on {1}
	  at org.apache.commons.dbcp.AbandonedTrace.addTrace(AbandonedTrace.java:176)
	  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)
	  at org.apache.commons.pool.impl.GenericObjectPool$Evictor.run(GenericObjectPool.java:1341)
	  at java.util.TimerThread.mainLoop(Timer.java:512)
	  at java.util.TimerThread.run(Timer.java:462)
{code}

    
> Deadlock in DBCP when accessing node
> ------------------------------------
>
>                 Key: JCR-3158
>                 URL: https://issues.apache.org/jira/browse/JCR-3158
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core
>    Affects Versions: 2.2.10, 2.3.3
>         Environment: Java 6
> Jackrabbit 2.2.10
> Derby
>            Reporter: Tobias Mattsson
>            Priority: Critical
>
> I found a deadlock situation using JR 2.2.10, the problem is with DBCP 1.2.2 and is fixed in DBCP 1.3, JR trunk also uses DBCP 1.2.2 and should also be updated
> The ticket in dbcp is #DBCP-270, related tickets are #DBCP-65 #DBCP-281 #DBCP-271
> Stack trace of where my call is stalled:
> {code}
> main@1, prio=5, in group 'main', status: 'MONITOR'
> 	 blocks Timer-1@2545
> 	 waiting for Timer-1@2545 to release lock on {1}
> 	  at org.apache.commons.pool.impl.GenericObjectPool.addObjectToPool(GenericObjectPool.java:1137)
> 	  at org.apache.commons.pool.impl.GenericObjectPool.returnObject(GenericObjectPool.java:1076)
> 	  at org.apache.commons.dbcp.PoolableConnection.close(PoolableConnection.java:87)
> 	  at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.close(PoolingDataSource.java:181)
> 	  at org.apache.jackrabbit.core.util.db.DbUtility.close(DbUtility.java:75)
> 	  at org.apache.jackrabbit.core.util.db.ResultSetWrapper.invoke(ResultSetWrapper.java:63)
> 	  at $Proxy12.close(Unknown Source:-1)
> 	  at org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.loadBundle(BundleDbPersistenceManager.java:1042)
> 	  at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.getBundle(AbstractBundlePersistenceManager.java:669)
> 	  at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.load(AbstractBundlePersistenceManager.java:415)
> 	  at org.apache.jackrabbit.core.state.SharedItemStateManager.loadItemState(SharedItemStateManager.java:1830)
> 	  at org.apache.jackrabbit.core.state.SharedItemStateManager.getNonVirtualItemState(SharedItemStateManager.java:1750)
> 	  at org.apache.jackrabbit.core.state.SharedItemStateManager.getItemState(SharedItemStateManager.java:265)
> 	  at org.apache.jackrabbit.core.state.LocalItemStateManager.getNodeState(LocalItemStateManager.java:109)
> 	  at org.apache.jackrabbit.core.state.LocalItemStateManager.getItemState(LocalItemStateManager.java:174)
> 	  at org.apache.jackrabbit.core.state.XAItemStateManager.getItemState(XAItemStateManager.java:260)
> 	  at org.apache.jackrabbit.core.state.SessionItemStateManager.getItemState(SessionItemStateManager.java:161)
> 	  at org.apache.jackrabbit.core.ItemManager.getItemData(ItemManager.java:382)
> 	  at org.apache.jackrabbit.core.ItemManager.getNode(ItemManager.java:669)
> 	  at org.apache.jackrabbit.core.ItemManager.getNode(ItemManager.java:647)
> 	  at org.apache.jackrabbit.core.LazyItemIterator.prefetchNext(LazyItemIterator.java:120)
> 	  at org.apache.jackrabbit.core.LazyItemIterator.next(LazyItemIterator.java:257)
> 	  at info.magnolia.jcr.iterator.DelegatingNodeIterator.next(DelegatingNodeIterator.java:79)
> {code}
> This is the offending thread:
> {code}
> Timer-1@2545 daemon, prio=5, in group 'main', status: 'MONITOR'
> 	 blocks main@1
> 	 waiting for main@1 to release lock on {1}
> 	  at org.apache.commons.dbcp.AbandonedTrace.addTrace(AbandonedTrace.java:176)
> 	  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)
> 	  at org.apache.commons.pool.impl.GenericObjectPool$Evictor.run(GenericObjectPool.java:1341)
> 	  at java.util.TimerThread.mainLoop(Timer.java:512)
> 	  at java.util.TimerThread.run(Timer.java:462)
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (JCR-3158) Deadlock in DBCP when accessing node

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

Jukka Zitting updated JCR-3158:
-------------------------------

    Fix Version/s:     (was: 2.6)
                   2.5
    
> Deadlock in DBCP when accessing node
> ------------------------------------
>
>                 Key: JCR-3158
>                 URL: https://issues.apache.org/jira/browse/JCR-3158
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core
>    Affects Versions: 2.2.10, 2.3.3, 2.4
>         Environment: Java 6
> Jackrabbit 2.2.10
> Derby
>            Reporter: Tobias Mattsson
>            Priority: Critical
>             Fix For: 2.2.12, 2.4.1, 2.5
>
>
> I found a deadlock situation using JR 2.2.10, the problem is with DBCP 1.2.2 and is fixed in DBCP 1.3, JR trunk also uses DBCP 1.2.2 and should also be updated
> The ticket in dbcp is #DBCP-270, related tickets are #DBCP-65 #DBCP-281 #DBCP-271
> Stack trace of where my call is stalled:
> {code}
> main@1, prio=5, in group 'main', status: 'MONITOR'
> 	 blocks Timer-1@2545
> 	 waiting for Timer-1@2545 to release lock on {1}
> 	  at org.apache.commons.pool.impl.GenericObjectPool.addObjectToPool(GenericObjectPool.java:1137)
> 	  at org.apache.commons.pool.impl.GenericObjectPool.returnObject(GenericObjectPool.java:1076)
> 	  at org.apache.commons.dbcp.PoolableConnection.close(PoolableConnection.java:87)
> 	  at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.close(PoolingDataSource.java:181)
> 	  at org.apache.jackrabbit.core.util.db.DbUtility.close(DbUtility.java:75)
> 	  at org.apache.jackrabbit.core.util.db.ResultSetWrapper.invoke(ResultSetWrapper.java:63)
> 	  at $Proxy12.close(Unknown Source:-1)
> 	  at org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.loadBundle(BundleDbPersistenceManager.java:1042)
> 	  at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.getBundle(AbstractBundlePersistenceManager.java:669)
> 	  at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.load(AbstractBundlePersistenceManager.java:415)
> 	  at org.apache.jackrabbit.core.state.SharedItemStateManager.loadItemState(SharedItemStateManager.java:1830)
> 	  at org.apache.jackrabbit.core.state.SharedItemStateManager.getNonVirtualItemState(SharedItemStateManager.java:1750)
> 	  at org.apache.jackrabbit.core.state.SharedItemStateManager.getItemState(SharedItemStateManager.java:265)
> 	  at org.apache.jackrabbit.core.state.LocalItemStateManager.getNodeState(LocalItemStateManager.java:109)
> 	  at org.apache.jackrabbit.core.state.LocalItemStateManager.getItemState(LocalItemStateManager.java:174)
> 	  at org.apache.jackrabbit.core.state.XAItemStateManager.getItemState(XAItemStateManager.java:260)
> 	  at org.apache.jackrabbit.core.state.SessionItemStateManager.getItemState(SessionItemStateManager.java:161)
> 	  at org.apache.jackrabbit.core.ItemManager.getItemData(ItemManager.java:382)
> 	  at org.apache.jackrabbit.core.ItemManager.getNode(ItemManager.java:669)
> 	  at org.apache.jackrabbit.core.ItemManager.getNode(ItemManager.java:647)
> 	  at org.apache.jackrabbit.core.LazyItemIterator.prefetchNext(LazyItemIterator.java:120)
> 	  at org.apache.jackrabbit.core.LazyItemIterator.next(LazyItemIterator.java:257)
> 	  at info.magnolia.jcr.iterator.DelegatingNodeIterator.next(DelegatingNodeIterator.java:79)
> {code}
> This is the offending thread:
> {code}
> Timer-1@2545 daemon, prio=5, in group 'main', status: 'MONITOR'
> 	 blocks main@1
> 	 waiting for main@1 to release lock on {1}
> 	  at org.apache.commons.dbcp.AbandonedTrace.addTrace(AbandonedTrace.java:176)
> 	  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)
> 	  at org.apache.commons.pool.impl.GenericObjectPool$Evictor.run(GenericObjectPool.java:1341)
> 	  at java.util.TimerThread.mainLoop(Timer.java:512)
> 	  at java.util.TimerThread.run(Timer.java:462)
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (JCR-3158) Deadlock in DBCP when accessing node

Posted by "Alex Parvulescu (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-3158?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alex Parvulescu updated JCR-3158:
---------------------------------

    Fix Version/s:     (was: 2.5)
                   2.6
                   2.4.1
    
> Deadlock in DBCP when accessing node
> ------------------------------------
>
>                 Key: JCR-3158
>                 URL: https://issues.apache.org/jira/browse/JCR-3158
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core
>    Affects Versions: 2.2.10, 2.3.3, 2.4
>         Environment: Java 6
> Jackrabbit 2.2.10
> Derby
>            Reporter: Tobias Mattsson
>            Priority: Critical
>             Fix For: 2.4.1, 2.6
>
>
> I found a deadlock situation using JR 2.2.10, the problem is with DBCP 1.2.2 and is fixed in DBCP 1.3, JR trunk also uses DBCP 1.2.2 and should also be updated
> The ticket in dbcp is #DBCP-270, related tickets are #DBCP-65 #DBCP-281 #DBCP-271
> Stack trace of where my call is stalled:
> {code}
> main@1, prio=5, in group 'main', status: 'MONITOR'
> 	 blocks Timer-1@2545
> 	 waiting for Timer-1@2545 to release lock on {1}
> 	  at org.apache.commons.pool.impl.GenericObjectPool.addObjectToPool(GenericObjectPool.java:1137)
> 	  at org.apache.commons.pool.impl.GenericObjectPool.returnObject(GenericObjectPool.java:1076)
> 	  at org.apache.commons.dbcp.PoolableConnection.close(PoolableConnection.java:87)
> 	  at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.close(PoolingDataSource.java:181)
> 	  at org.apache.jackrabbit.core.util.db.DbUtility.close(DbUtility.java:75)
> 	  at org.apache.jackrabbit.core.util.db.ResultSetWrapper.invoke(ResultSetWrapper.java:63)
> 	  at $Proxy12.close(Unknown Source:-1)
> 	  at org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.loadBundle(BundleDbPersistenceManager.java:1042)
> 	  at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.getBundle(AbstractBundlePersistenceManager.java:669)
> 	  at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.load(AbstractBundlePersistenceManager.java:415)
> 	  at org.apache.jackrabbit.core.state.SharedItemStateManager.loadItemState(SharedItemStateManager.java:1830)
> 	  at org.apache.jackrabbit.core.state.SharedItemStateManager.getNonVirtualItemState(SharedItemStateManager.java:1750)
> 	  at org.apache.jackrabbit.core.state.SharedItemStateManager.getItemState(SharedItemStateManager.java:265)
> 	  at org.apache.jackrabbit.core.state.LocalItemStateManager.getNodeState(LocalItemStateManager.java:109)
> 	  at org.apache.jackrabbit.core.state.LocalItemStateManager.getItemState(LocalItemStateManager.java:174)
> 	  at org.apache.jackrabbit.core.state.XAItemStateManager.getItemState(XAItemStateManager.java:260)
> 	  at org.apache.jackrabbit.core.state.SessionItemStateManager.getItemState(SessionItemStateManager.java:161)
> 	  at org.apache.jackrabbit.core.ItemManager.getItemData(ItemManager.java:382)
> 	  at org.apache.jackrabbit.core.ItemManager.getNode(ItemManager.java:669)
> 	  at org.apache.jackrabbit.core.ItemManager.getNode(ItemManager.java:647)
> 	  at org.apache.jackrabbit.core.LazyItemIterator.prefetchNext(LazyItemIterator.java:120)
> 	  at org.apache.jackrabbit.core.LazyItemIterator.next(LazyItemIterator.java:257)
> 	  at info.magnolia.jcr.iterator.DelegatingNodeIterator.next(DelegatingNodeIterator.java:79)
> {code}
> This is the offending thread:
> {code}
> Timer-1@2545 daemon, prio=5, in group 'main', status: 'MONITOR'
> 	 blocks main@1
> 	 waiting for main@1 to release lock on {1}
> 	  at org.apache.commons.dbcp.AbandonedTrace.addTrace(AbandonedTrace.java:176)
> 	  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)
> 	  at org.apache.commons.pool.impl.GenericObjectPool$Evictor.run(GenericObjectPool.java:1341)
> 	  at java.util.TimerThread.mainLoop(Timer.java:512)
> 	  at java.util.TimerThread.run(Timer.java:462)
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira