Return-Path: Delivered-To: apmail-jackrabbit-dev-archive@www.apache.org Received: (qmail 98282 invoked from network); 19 Sep 2007 14:00:05 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 19 Sep 2007 14:00:05 -0000 Received: (qmail 72252 invoked by uid 500); 19 Sep 2007 13:59:56 -0000 Delivered-To: apmail-jackrabbit-dev-archive@jackrabbit.apache.org Received: (qmail 72226 invoked by uid 500); 19 Sep 2007 13:59:56 -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 72217 invoked by uid 99); 19 Sep 2007 13:59:56 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 19 Sep 2007 06:59:56 -0700 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO brutus.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 19 Sep 2007 14:00:03 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 8FD167141ED for ; Wed, 19 Sep 2007 06:59:43 -0700 (PDT) Message-ID: <8773553.1190210383564.JavaMail.jira@brutus> Date: Wed, 19 Sep 2007 06:59:43 -0700 (PDT) From: "Stefan Guggisberg (JIRA)" To: dev@jackrabbit.apache.org Subject: [jira] Commented: (JCR-935) ConcurrentModificationException during logout (cont'd) In-Reply-To: <6443646.1179773836295.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/JCR-935?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12528769 ] Stefan Guggisberg commented on JCR-935: --------------------------------------- hi esteban, thanks for sharing your results. as mentioned earlier, FineGrainedISMLocking represents experimental code. it's work in progress and hasn't (yet?) been 'officially' endorsed. therefore i don't consider this issue a jackrabbit bug. if we agree to follow the approach of FineGrainedISMLocking we'll need to carefully investigate the new concurrency issues (such as the NPE mentioned earlier). the current 'synchronized' statements have been very carefully placed and are the result of exhaustive debugging sessions hunting down concurrency issues with DefaultISMLocking. synchronizing on the various ItemState methods as suggested bears IMO a high risk of causing dead locks. cheers stefan > ConcurrentModificationException during logout (cont'd) > ------------------------------------------------------ > > Key: JCR-935 > URL: https://issues.apache.org/jira/browse/JCR-935 > Project: Jackrabbit > Issue Type: Bug > Components: core > Affects Versions: 1.3 > Reporter: Pablo Rios > > I "seldom" get a CME running ConcurrentReadWriteTest.testReadWrite test. > Following are different stack traces of two runs: > > Exception in thread "Thread-9" java.util.ConcurrentModificationException > at org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntrySetIterator.checkMod(AbstractReferenceMap.java:761) > at org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntrySetIterator.hasNext(AbstractReferenceMap.java:735) > at org.apache.commons.collections.map.AbstractReferenceMap$ReferenceValues.toArray(AbstractReferenceMap.java:543) > at java.util.Collections$UnmodifiableCollection.toArray(Unknown Source) > at java.util.Collections$UnmodifiableCollection.toArray(Unknown Source) > at org.apache.jackrabbit.core.state.LocalItemStateManager.dispose(LocalItemStateManager.java:341) > at org.apache.jackrabbit.core.state.SessionItemStateManager.dispose(SessionItemStateManager.java:316) > at org.apache.jackrabbit.core.SessionImpl.logout(SessionImpl.java:1269) > at org.apache.jackrabbit.core.XASessionImpl.logout(XASessionImpl.java:379) > at org.apache.jackrabbit.core.AbstractConcurrencyTest$Executor.run(AbstractConcurrencyTest.java:114) > at java.lang.Thread.run(Unknown Source) > Exception in thread "Thread-9" java.util.ConcurrentModificationException > at org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntrySetIterator.checkMod(AbstractReferenceMap.java:761) > at org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntrySetIterator.nextEntry(AbstractReferenceMap.java:770) > at org.apache.commons.collections.map.AbstractReferenceMap$ReferenceValuesIterator.next(AbstractReferenceMap.java:829) > at org.apache.commons.collections.map.AbstractReferenceMap$ReferenceValues.toArray(AbstractReferenceMap.java:544) > at java.util.Collections$UnmodifiableCollection.toArray(Unknown Source) > at java.util.Collections$UnmodifiableCollection.toArray(Unknown Source) > at org.apache.jackrabbit.core.state.LocalItemStateManager.dispose(LocalItemStateManager.java:341) > at org.apache.jackrabbit.core.state.SessionItemStateManager.dispose(SessionItemStateManager.java:316) > at org.apache.jackrabbit.core.SessionImpl.logout(SessionImpl.java:1269) > at org.apache.jackrabbit.core.XASessionImpl.logout(XASessionImpl.java:379) > at org.apache.jackrabbit.core.AbstractConcurrencyTest$Executor.run(AbstractConcurrencyTest.java:114) > at java.lang.Thread.run(Unknown Source) > My working copy is revision 538918 with both JCR-314 patches applied, using FineGrainedISMLocking strategy. > I run this test manually from within Eclipse 3.2.1 / JRE 1.5.0_10-b03. > The workstation were I run this test has an Intel Dual-Core Xeon 5130 2 GHz. To able to compare this CPU with another, with the default params of this test (NUM_NODES = 5, NUM_THREADS = 5, RUN_NUM_SECONDS = 20), the number of operations are ~ #writes performed: 300-400, #reads performed: 4700000 - 4900000. > Regards, > Pablo -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.