You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Marcel Reutegger (JIRA)" <ji...@apache.org> on 2007/12/18 10:56:43 UTC
[jira] Commented: (JCR-935) ConcurrentModificationException during
logout (cont'd)
[ https://issues.apache.org/jira/browse/JCR-935?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12552673 ]
Marcel Reutegger commented on JCR-935:
--------------------------------------
This issue is related to JCR-1271.
The cause is the same: LocalItemStateManager#cache is not properly synchronized. While one thread reads from the cache another thread notifying ItemState changes will modify the cache.
> ConcurrentModificationException during logout (cont'd)
> ------------------------------------------------------
>
> Key: JCR-935
> URL: https://issues.apache.org/jira/browse/JCR-935
> Project: Jackrabbit
> Issue Type: Bug
> Components: jackrabbit-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.