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/06/26 13:53:20 UTC

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

Reto Bachmann-Gmür created CLEREZZA-792:
-------------------------------------------

             Summary: 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


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 is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira