You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@clerezza.apache.org by "Reto Bachmann-Gmür (JIRA)" <ji...@apache.org> on 2013/10/11 20:40:42 UTC

[jira] [Resolved] (CLEREZZA-792) jena tdb.storage: test failure due to ConcurrentModificationExcveption

     [ https://issues.apache.org/jira/browse/CLEREZZA-792?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Reto Bachmann-Gmür resolved CLEREZZA-792.
-----------------------------------------

    Resolution: Fixed
      Assignee: Reto Bachmann-Gmür

That syncing thread was just there in the background messing things up....

> jena tdb.storage: test failure due to ConcurrentModificationExcveption
> ----------------------------------------------------------------------
>
>                 Key: CLEREZZA-792
>                 URL: https://issues.apache.org/jira/browse/CLEREZZA-792
>             Project: Clerezza
>          Issue Type: Bug
>            Reporter: Reto Bachmann-Gmür
>            Assignee: Reto Bachmann-Gmür
>
> The failure doesn't always occur. TODO: check locking in LockableMGraphWrapper.size, possibly add some specifc locking in JenaGraphAdaptor.size
> -------------------------------------------------------------------------------
> Test set: org.apache.clerezza.rdf.jena.tdb.storage.MultiThreadedTest
> -------------------------------------------------------------------------------
> Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 120.143 sec <<< FAILURE!
> perform(org.apache.clerezza.rdf.jena.tdb.storage.MultiThreadedTest)  Time elapsed: 120.14 sec  <<< ERROR!
> java.util.ConcurrentModificationException: Iterator: started at 81908, now 81909
> 	at com.hp.hpl.jena.tdb.sys.DatasetControlMRSW.policyError(DatasetControlMRSW.java:157)
> 	at com.hp.hpl.jena.tdb.sys.DatasetControlMRSW.access$000(DatasetControlMRSW.java:32)
> 	at com.hp.hpl.jena.tdb.sys.DatasetControlMRSW$IteratorCheckNotConcurrent.checkCourrentModification(DatasetControlMRSW.java:110)
> 	at com.hp.hpl.jena.tdb.sys.DatasetControlMRSW$IteratorCheckNotConcurrent.hasNext(DatasetControlMRSW.java:118)
> 	at org.apache.jena.atlas.iterator.Iter.count(Iter.java:476)
> 	at com.hp.hpl.jena.tdb.store.GraphTDBBase.graphBaseSize(GraphTDBBase.java:159)
> 	at com.hp.hpl.jena.graph.impl.GraphBase.size(GraphBase.java:344)
> 	at org.apache.clerezza.rdf.jena.storage.JenaGraphAdaptor.size(JenaGraphAdaptor.java:70)
> 	at org.apache.clerezza.rdf.core.impl.util.PrivilegedTripleCollectionWrapper$2.run(PrivilegedTripleCollectionWrapper.java:66)
> 	at org.apache.clerezza.rdf.core.impl.util.PrivilegedTripleCollectionWrapper$2.run(PrivilegedTripleCollectionWrapper.java:62)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at org.apache.clerezza.rdf.core.impl.util.PrivilegedTripleCollectionWrapper.size(PrivilegedTripleCollectionWrapper.java:62)
> 	at org.apache.clerezza.rdf.core.access.LockableMGraphWrapper.size(LockableMGraphWrapper.java:97)
> 	at org.apache.clerezza.rdf.jena.tdb.storage.MultiThreadedTest.perform(MultiThreadedTest.java:129)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:601)
> 	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
> 	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
> 	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
> 	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
> 	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
> 	at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
> 	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
> 	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
> 	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
> 	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
> 	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
> 	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
> 	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
> 	at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
> 	at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62)
> 	at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140)
> 	at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127)
> 	at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:601)
> 	at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:345)
> 	at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009)
> On another run I have no failure but the following output:
> Exception in thread "Thread-122" Exception in thread "Thread-157" java.util.ConcurrentModificationException: Reader = 0, Writer = 2
> 	at com.hp.hpl.jena.tdb.sys.DatasetControlMRSW.policyError(DatasetControlMRSW.java:157)
> 	at com.hp.hpl.jena.tdb.sys.DatasetControlMRSW.policyError(DatasetControlMRSW.java:152)
> 	at com.hp.hpl.jena.tdb.sys.DatasetControlMRSW.checkConcurrency(DatasetControlMRSW.java:81)
> 	at com.hp.hpl.jena.tdb.sys.DatasetControlMRSW.startUpdate(DatasetControlMRSW.java:60)
> 	at com.hp.hpl.jena.tdb.nodetable.NodeTupleTableConcrete.startWrite(NodeTupleTableConcrete.java:64)
> 	at com.hp.hpl.jena.tdb.nodetable.NodeTupleTableConcrete.sync(NodeTupleTableConcrete.java:255)
> 	at com.hp.hpl.jena.tdb.store.TableBase.sync(TableBase.java:52)
> 	at com.hp.hpl.jena.tdb.store.DatasetGraphTDB.sync(DatasetGraphTDB.java:285)
> 	at com.hp.hpl.jena.tdb.transaction.DatasetGraphTransaction.syncIfNotTransactional(DatasetGraphTransaction.java:146)
> 	at com.hp.hpl.jena.tdb.TDB.sync(TDB.java:152)
> 	at com.hp.hpl.jena.tdb.TDB.sync(TDB.java:134)
> 	at org.apache.clerezza.rdf.jena.tdb.storage.TdbTcProvider.syncWithFileSystem(TdbTcProvider.java:399)
> 	at org.apache.clerezza.rdf.jena.tdb.storage.TdbTcProvider$SyncThread.run(TdbTcProvider.java:110)
> java.util.ConcurrentModificationException: Reader = 0, Writer = 2
> 	at com.hp.hpl.jena.tdb.sys.DatasetControlMRSW.policyError(DatasetControlMRSW.java:157)
> 	at com.hp.hpl.jena.tdb.sys.DatasetControlMRSW.policyError(DatasetControlMRSW.java:152)
> 	at com.hp.hpl.jena.tdb.sys.DatasetControlMRSW.checkConcurrency(DatasetControlMRSW.java:81)
> 	at com.hp.hpl.jena.tdb.sys.DatasetControlMRSW.startUpdate(DatasetControlMRSW.java:60)
> 	at com.hp.hpl.jena.tdb.nodetable.NodeTupleTableConcrete.startWrite(NodeTupleTableConcrete.java:64)
> 	at com.hp.hpl.jena.tdb.nodetable.NodeTupleTableConcrete.addRow(NodeTupleTableConcrete.java:81)
> 	at com.hp.hpl.jena.tdb.store.TripleTable.add(TripleTable.java:58)
> 	at com.hp.hpl.jena.tdb.store.TripleTable.add(TripleTable.java:53)
> 	at com.hp.hpl.jena.tdb.store.GraphTriplesTDB._performAdd(GraphTriplesTDB.java:55)
> 	at com.hp.hpl.jena.tdb.store.GraphTDBBase.performAdd(GraphTDBBase.java:80)
> 	at com.hp.hpl.jena.graph.impl.GraphBase.add(GraphBase.java:202)
> 	at org.apache.clerezza.rdf.jena.storage.JenaGraphAdaptor.performAdd(JenaGraphAdaptor.java:144)
> 	at org.apache.clerezza.rdf.core.impl.AbstractTripleCollection.add(AbstractTripleCollection.java:112)
> 	at org.apache.clerezza.rdf.core.impl.AbstractTripleCollection.add(AbstractTripleCollection.java:46)
> 	at org.apache.clerezza.rdf.core.impl.util.PrivilegedTripleCollectionWrapper$8.run(PrivilegedTripleCollectionWrapper.java:132)
> 	at org.apache.clerezza.rdf.core.impl.util.PrivilegedTripleCollectionWrapper$8.run(PrivilegedTripleCollectionWrapper.java:128)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at org.apache.clerezza.rdf.core.impl.util.PrivilegedTripleCollectionWrapper.add(PrivilegedTripleCollectionWrapper.java:128)
> 	at org.apache.clerezza.rdf.core.impl.util.PrivilegedTripleCollectionWrapper.add(PrivilegedTripleCollectionWrapper.java:40)
> 	at org.apache.clerezza.rdf.core.access.LockableMGraphWrapper.add(LockableMGraphWrapper.java:168)
> 	at org.apache.clerezza.rdf.core.access.LockableMGraphWrapper.add(LockableMGraphWrapper.java:42)
> 	at org.apache.clerezza.rdf.jena.tdb.storage.MultiThreadedTest$TestThread.run(MultiThreadedTest.java:83)



--
This message was sent by Atlassian JIRA
(v6.1#6144)