incubator-jena-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Simon Helsen <>
Subject Re: [jira] [Commented] (JENA-91) extremely large buffer is being created in ObjectFileStorage
Date Wed, 14 Sep 2011 15:33:44 GMT
I just tested the TestTransSystem using the August 31 build and I get 
exactly the same symptons. Because the only difference between you and me 
is linux versus windows, I decided to run the test in direct mode (since 
windows mapped I/O is shaky - in fact, it is slower than linux and may 
have other problems)

When I run in direct mode, the (patched) test runs longer, but eventually 
fails with another problem. I am not sure if this helps. I am obviously 
observing an issue and the patched version of TestTransSystem shows the 
problem in my environment, so it would help if someone else is able to 
reproduce. I have added the complete TestTransSystem I am used (not just 
the patch)


START (disk, 100 iterations)
000: ..........
010: ..........
020: Different ids for 
"7293708485020687997"^^ allocated: 
expected [00000000000001EA], got [00000000000001A7]
        at com.hp.hpl.jena.tdb.transaction.NodeTableTrans.append(
        at com.hp.hpl.jena.tdb.transaction.NodeTableTrans.commitPrepare(
        at com.hp.hpl.jena.tdb.transaction.Transaction.prepare(
        at com.hp.hpl.jena.tdb.transaction.Transaction.commit(
        at com.hp.hpl.jena.tdb.DatasetGraphTxn.commit(
        at java.util.concurrent.FutureTask$Sync.innerRun(
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(
        at java.util.concurrent.ThreadPoolExecutor$

"Paolo Castagna (JIRA)" <>
09/14/2011 04:14 AM
[jira] [Commented] (JENA-91) extremely large buffer is being created in 



Paolo Castagna commented on JENA-91:

(Hi Simon, welcome back)

I have applied your patch to TestTransSystem to TxTDB trunk.
I run it a few times and I do not see any problem. All the times this is 
the output:

START (disk, 100 iterations)
000: ..........
090: ..........

DONE (100)

I am using a 64 bits OS (i.e. Linux) and the Oracle JDK 1.6, 64 bits.

Which OS and JVM are you using? (Could that be the reason why you see 
problems and I don't?)

> extremely large buffer is being created in ObjectFileStorage
> ------------------------------------------------------------
>                 Key: JENA-91
>                 URL:
>             Project: Jena
>          Issue Type: Bug
>          Components: TDB
>            Reporter: Simon Helsen
>            Assignee: Andy Seaborne
>            Priority: Critical
>         Attachments: JENA-91_NodeTableTrans_r1159121.patch, 
TestTransSystem.patch, TestTransSystem2.patch, TestTransSystem3.patch, 
> I tried to debug the OME and check why a bytebuffer is causing my native 
memory to explode in almost no time. It all seems to happen in this bit of 
code in com.hp.hpl.jena.tdb.base.objectfile.ObjectFileStorage (lines 243 
>   // No - it's in the underlying file storage.
>         lengthBuffer.clear() ;
>         int x =, loc) ;
>         if ( x != 4 )
>             throw new 
Failed to read the length : got "+x+" bytes") ;
>         int len = lengthBuffer.getInt(0) ;
>         ByteBuffer bb = ByteBuffer.allocate(len) ;
> My debugger shows that x==4. It also shows the lengthBuffer has the 
following content: [111, 110, 61, 95]. This amounts to the value of 
len=1869495647, which is rather a lot :-) Obviously, the next statement 
(ByteBuffer.allocate) causes the OME.

This message is automatically generated by JIRA.
For more information on JIRA, see:


  • Unnamed multipart/mixed (inline, None, 0 bytes)
View raw message