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

Reply via email to