Hi Andy

Andy Seaborne wrote:
> On 21/03/12 12:01, Paolo Castagna wrote:
>> Paolo Castagna wrote:
>>> Sam contributed this test case:
>>> https://github.com/castagna/jena-examples/blob/master/src/main/resources/data/single-bad-triple.nt
>>>
>>> https://github.com/castagna/jena-examples/blob/master/src/main/java/dev/Run3.java
>>>
>>> Looking at this, right now.
>>
>> Getting closer... do we have a bug here?
>>
>> Test case is here:
>> https://github.com/castagna/jena-examples/blob/master/src/main/java/dev/TestTDBUnicode.java
>>
>>
>> This is the data (i.e. a single triple with the Unicode character \uDAE0
>> in a literal value):<s>  <p>  "Hello \uDAE0 World" .
> 
> You need
> 
>     private static final String str_literal = "Hello \\uDAE0 World";
> 
> else it is a Java \u

Ack, silly mistake.

I still don't understand why with "Hello \\uDAE0 World" test_03() fails.

> 
> 
> Using
> 
> Dataset dataset = TDBFactory.createDataset ( ) ;
> 
> is way easier for testing.

Added test_04() which fails with the same exception:
org.openjena.riot.RiotParseException: [line: 1, col: 2 ] Broken token: Hello

I was using TDBFactory.createDataset ( location ) because I noticed that if
FileOps.clearDirectory( path ) is commented out and the test is executed
twice there is another exception:

12:35:00 WARN  NodeTableTrans            :: Txn[1]/W journalStartOffset not 
zero: 109/0x6D
************* UNEXPECTED [1]


Different ids for file:///opt/workspaces/jena/jena-examples/s: allocated: 
expected [000000000000006D], got [0000000000000000]
>>>>>>>>>>
label = nodes
txn = Transaction: 1 : Mode=WRITE : State=PREPARING : 
/opt/workspaces/jena/jena-examples/target/tdb/
offset = 109
journalStartOffset = 109
journal = nodes.dat-jrnl

com.hp.hpl.jena.tdb.TDBException: Different ids for 
file:///opt/workspaces/jena/jena-examples/s: allocated: expected 
[000000000000006D], got [0000000000000000]
        at 
com.hp.hpl.jena.tdb.transaction.NodeTableTrans.inconsistent(NodeTableTrans.java:212)
        at 
com.hp.hpl.jena.tdb.transaction.NodeTableTrans.append(NodeTableTrans.java:200)
        at 
com.hp.hpl.jena.tdb.transaction.NodeTableTrans.writeNodeJournal(NodeTableTrans.java:306)
        at 
com.hp.hpl.jena.tdb.transaction.NodeTableTrans.commitPrepare(NodeTableTrans.java:266)
        at 
com.hp.hpl.jena.tdb.transaction.Transaction.prepare(Transaction.java:131)
        at 
com.hp.hpl.jena.tdb.transaction.Transaction.commit(Transaction.java:112)
        at 
com.hp.hpl.jena.tdb.transaction.DatasetGraphTxn.commit(DatasetGraphTxn.java:40)
        at 
com.hp.hpl.jena.tdb.transaction.DatasetGraphTransaction._commit(DatasetGraphTransaction.java:106)
        at 
com.hp.hpl.jena.tdb.migrate.DatasetGraphTrackActive.commit(DatasetGraphTrackActive.java:60)
        at com.hp.hpl.jena.sparql.core.DatasetImpl.commit(DatasetImpl.java:143)
        at dev.TestTDBUnicode.test_03(TestTDBUnicode.java:66)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        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.runners.ParentRunner.runLeaf(ParentRunner.java:263)
        at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:69)
        at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:48)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:292)
        at 
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)
        at 
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

But, I'd like to understand the first problem first.

Paolo

> 
>     Andy

Reply via email to