Hi Paolo, Andy, others,

I was able to reproduce the problem (somewhat) by tweaking 
TestTransSystem. Please find the patch attached. I get the exception below 
almost instantly, although this time it complains about the predicate. 
However, when I tried debugging this, I also ran in the version where it 
complains the object was null. Either way, it seems to reliably reproduce 
the problem. I'll re-open JENA-91 and we can move the discussion there

Simon



START (disk, 100 iterations)
000: ..java.lang.UnsupportedOperationException: Quad: predicate cannot be 
null
        at com.hp.hpl.jena.sparql.core.Quad.<init>(Quad.java:49)
        at com.hp.hpl.jena.tdb.lib.TupleLib.quad(TupleLib.java:127)
        at com.hp.hpl.jena.tdb.lib.TupleLib.quad(TupleLib.java:118)
        at com.hp.hpl.jena.tdb.lib.TupleLib.access$1(TupleLib.java:114)
        at com.hp.hpl.jena.tdb.lib.TupleLib$4.convert(TupleLib.java:76)
        at com.hp.hpl.jena.tdb.lib.TupleLib$4.convert(TupleLib.java:1)
        at org.openjena.atlas.iterator.Iter$4.next(Iter.java:268)
        at 
com.hp.hpl.jena.tdb.store.GraphTDBBase$ProjectQuadsToTriples.next(
GraphTDBBase.java:183)
        at 
com.hp.hpl.jena.tdb.store.GraphTDBBase$ProjectQuadsToTriples.next(
GraphTDBBase.java:1)
        at com.hp.hpl.jena.util.iterator.WrappedIterator.next(
WrappedIterator.java:68)
        at com.hp.hpl.jena.util.iterator.Map1Iterator.next(
Map1Iterator.java:35)
        at com.hp.hpl.jena.util.iterator.WrappedIterator.next(
WrappedIterator.java:68)
        at com.hp.hpl.jena.rdf.model.impl.StmtIteratorImpl.next(
StmtIteratorImpl.java:33)
        at com.hp.hpl.jena.rdf.model.impl.StmtIteratorImpl.next(
StmtIteratorImpl.java:21)
        at com.hp.hpl.jena.tdb.transaction.TestTransSystem.readModel(
TestTransSystem.java:446)
        at com.hp.hpl.jena.tdb.transaction.TestTransSystem.access$1(
TestTransSystem.java:438)
        at com.hp.hpl.jena.tdb.transaction.TestTransSystem$Reader.call(
TestTransSystem.java:163)
        at java.util.concurrent.FutureTask$Sync.innerRun(
FutureTask.java:314)
        at java.util.concurrent.FutureTask.run(FutureTask.java:149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(
ThreadPoolExecutor.java:897)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(
ThreadPoolExecutor.java:919)
        at java.lang.Thread.run(Thread.java:736)



From:
Andy Seaborne <[email protected]>
To:
[email protected]
Date:
09/13/2011 12:52 PM
Subject:
Re: Jena-91 still an issue (?)



Hi Simon,

On 13/09/11 16:58, Simon Helsen wrote:
> Hi everyone,
>
> after my leave, I spent some time adopting the latest TDB-TX build 
(August
> 31) and I noticed I kept seeing the same problems as before. After some
> messing around, I noticed that the patch Paolo attached to Jena-91 was 
not
> actually applied to the sources in this latest TDB 0.9.0 snapshot (
> tx-tdb-0.9.0-20110831.124751-10). When I updated the tx-TDB component 
from
> SVN and looked NodeTableTrans, it seemed that the patch was not applied
> there either, so perhaps it was not actually delivered ? Paolo, can you
> please verify this?

There is a fix in the Aug 31 build that addressed the Report_JENA91 
tests - it's not that patch though.  Further investigation found a 
deeper problem that the patch perturbed, but did not necessarily fix.

> Anyhow, I manually applied the patch on this build, but I keep running
> into the same problems. The first exception that shows is :

Is your copy of ARQ in step with that TDB build?

>
> java.lang.UnsupportedOperationException: Quad: object cannot be null
>          at com.hp.hpl.jena.sparql.core.Quad.<init>(Quad.java:50)
>          at com.hp.hpl.jena.tdb.lib.TupleLib.quad(TupleLib.java:127)
>          at com.hp.hpl.jena.tdb.lib.TupleLib.quad(TupleLib.java:118)
>          at 
com.hp.hpl.jena.tdb.lib.TupleLib.access$100(TupleLib.java:32)
>          at com.hp.hpl.jena.tdb.lib.TupleLib$4.convert(TupleLib.java:76)
>          at com.hp.hpl.jena.tdb.lib.TupleLib$4.convert(TupleLib.java:72)
>          at org.openjena.atlas.iterator.Iter$4.next(Iter.java:267)
>          at
> com.hp.hpl.jena.tdb.store.GraphTDBBase$ProjectQuadsToTriples.next(
> GraphTDBBase.java:183)
>          at
> com.hp.hpl.jena.tdb.store.GraphTDBBase$ProjectQuadsToTriples.next(
> GraphTDBBase.java:171)
>          at com.hp.hpl.jena.util.iterator.WrappedIterator.next(
> WrappedIterator.java:68)
>          at com.hp.hpl.jena.util.iterator.Map1Iterator.next(
> Map1Iterator.java:35)
>          at com.hp.hpl.jena.util.iterator.WrappedIterator.next(
> WrappedIterator.java:68)
>          at com.hp.hpl.jena.rdf.model.impl.StmtIteratorImpl.next(
> StmtIteratorImpl.java:33)
>          at com.hp.hpl.jena.rdf.model.impl.StmtIteratorImpl.next(
> StmtIteratorImpl.java:21)
>
> and after that I also see
>
> 11:40:43,857 [jazz.jfs.resuming.indexer.internal.triple] ERROR
> com.ibm.team.jfs                                    - Originating
> Exception:
> com.hp.hpl.jena.tdb.base.file.FileException:
> ObjectFile.read(61)[361][361]: Impossibly large object : 1869495647 
bytes
>          at com.hp.hpl.jena.tdb.base.objectfile.ObjectFileStorage.read(
> ObjectFileStorage.java:282)
>          at com.hp.hpl.jena.tdb.lib.NodeLib.fetchDecode(NodeLib.java:60)
>          at
> com.hp.hpl.jena.tdb.nodetable.NodeTableNative.readNodeFromTable(
> NodeTableNative.java:164)
>          at
> com.hp.hpl.jena.tdb.nodetable.NodeTableNative._retrieveNodeByNodeId(
> NodeTableNative.java:88)
>          at 
com.hp.hpl.jena.tdb.nodetable.NodeTableNative.getNodeForNodeId(
> NodeTableNative.java:59)
>          at
> com.hp.hpl.jena.tdb.nodetable.NodeTableCache._retrieveNodeByNodeId(
> NodeTableCache.java:89)
>          at 
com.hp.hpl.jena.tdb.nodetable.NodeTableCache.getNodeForNodeId(
> NodeTableCache.java:60)
>          at
> com.hp.hpl.jena.tdb.nodetable.NodeTableWrapper.getNodeForNodeId(
> NodeTableWrapper.java:44)
>          at 
com.hp.hpl.jena.tdb.nodetable.NodeTableInline.getNodeForNodeId(
> NodeTableInline.java:56)
>          at com.hp.hpl.jena.tdb.lib.TupleLib.quad(TupleLib.java:125)
>          at com.hp.hpl.jena.tdb.lib.TupleLib.quad(TupleLib.java:118)
>          at 
com.hp.hpl.jena.tdb.lib.TupleLib.access$100(TupleLib.java:32)
>          at com.hp.hpl.jena.tdb.lib.TupleLib$4.convert(TupleLib.java:76)
>          at com.hp.hpl.jena.tdb.lib.TupleLib$4.convert(TupleLib.java:72)
>          at org.openjena.atlas.iterator.Iter$4.next(Iter.java:267)
>          at
> com.hp.hpl.jena.tdb.store.GraphTDBBase$ProjectQuadsToTriples.next(
> GraphTDBBase.java:183)
>          at
> com.hp.hpl.jena.tdb.store.GraphTDBBase$ProjectQuadsToTriples.next(
> GraphTDBBase.java:171)
>          at com.hp.hpl.jena.util.iterator.WrappedIterator.next(
> WrappedIterator.java:68)
>          at com.hp.hpl.jena.util.iterator.Map1Iterator.next(
> Map1Iterator.java:35)
>          at com.hp.hpl.jena.util.iterator.WrappedIterator.next(
> WrappedIterator.java:68)
>          at com.hp.hpl.jena.rdf.model.impl.StmtIteratorImpl.next(
> StmtIteratorImpl.java:33)
>          at com.hp.hpl.jena.rdf.model.impl.StmtIteratorImpl.next(
> StmtIteratorImpl.java:21)
>
> This seems to be the same as what I saw before. It is possible I am 
still
> messing something up by manually applying the patch, I'll definitely 
keep
> looking at that. If I can get a new TDB 0.9.0 build with the patch
> applied, I will definitely check again

Let's break this down into smaller elements.

First exception first (because the second one may be caused by the first).

Do you have a test case for

java.lang.UnsupportedOperationException: Quad: object cannot be null

What's the operation causing it (the stacktrace does nto go back far 
enough but I presume a SPARQL Update or something is being done.)

                 Andy



Reply via email to