Return-Path: X-Original-To: apmail-jackrabbit-dev-archive@www.apache.org Delivered-To: apmail-jackrabbit-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 4727D92BA for ; Wed, 15 Feb 2012 13:43:27 +0000 (UTC) Received: (qmail 64019 invoked by uid 500); 15 Feb 2012 13:43:27 -0000 Delivered-To: apmail-jackrabbit-dev-archive@jackrabbit.apache.org Received: (qmail 63960 invoked by uid 500); 15 Feb 2012 13:43:26 -0000 Mailing-List: contact dev-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@jackrabbit.apache.org Delivered-To: mailing list dev@jackrabbit.apache.org Received: (qmail 63941 invoked by uid 99); 15 Feb 2012 13:43:25 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 15 Feb 2012 13:43:25 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED,T_RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.116] (HELO hel.zones.apache.org) (140.211.11.116) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 15 Feb 2012 13:43:19 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id B78041B8A2F for ; Wed, 15 Feb 2012 13:42:59 +0000 (UTC) Date: Wed, 15 Feb 2012 13:42:59 +0000 (UTC) From: "Tobias Mattsson (Updated) (JIRA)" To: dev@jackrabbit.apache.org Message-ID: <462059689.40572.1329313379753.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <856363283.12011.1322233179912.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Updated] (JCR-3158) Deadlock in DBCP when accessing node MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ 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.(AbandonedTrace.java:82) at org.apache.commons.dbcp.DelegatingStatement.(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.(AbandonedTrace.java:82) at org.apache.commons.dbcp.DelegatingStatement.(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.(AbandonedTrace.java:82) > at org.apache.commons.dbcp.DelegatingStatement.(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