You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jena.apache.org by Martynas Jusevičius <ma...@graphity.org> on 2016/04/10 00:30:16 UTC

StackOverflowError when writing N-Quads (Jena 2.11.0)

Hey,

I'm trying to write an in-memory Dataset (guesstimate: a few hundred
thousand quads) like this:

RDFDataMgr.write(entityStream, dataset, lang);

What I get is:

java.lang.StackOverflowError
at org.apache.jena.atlas.iterator.IteratorCons.hasNext(IteratorCons.java:70)
at org.apache.jena.atlas.iterator.IteratorCons.hasNext(IteratorCons.java:70)
at org.apache.jena.atlas.iterator.IteratorCons.hasNext(IteratorCons.java:70)
at org.apache.jena.atlas.iterator.IteratorCons.hasNext(IteratorCons.java:70)
at org.apache.jena.atlas.iterator.IteratorCons.hasNext(IteratorCons.java:70)

Any ideas? Is Jena running out of memory?


Martynas

Re: StackOverflowError when writing N-Quads (Jena 2.11.0)

Posted by Andy Seaborne <an...@apache.org>.
Ping.

On 10/04/16 11:51, Andy Seaborne wrote:
> On 09/04/16 23:30, Martynas Jusevi\u010dius wrote:
>> Hey,
>>
>> I'm trying to write an in-memory Dataset (guesstimate: a few hundred
>> thousand quads) like this:
>>
>> RDFDataMgr.write(entityStream, dataset, lang);
>>
>> What I get is:
>>
>> java.lang.StackOverflowError
>> at
>> org.apache.jena.atlas.iterator.IteratorCons.hasNext(IteratorCons.java:70)
>> at
>> org.apache.jena.atlas.iterator.IteratorCons.hasNext(IteratorCons.java:70)
>> at
>> org.apache.jena.atlas.iterator.IteratorCons.hasNext(IteratorCons.java:70)
>> at
>> org.apache.jena.atlas.iterator.IteratorCons.hasNext(IteratorCons.java:70)
>> at
>> org.apache.jena.atlas.iterator.IteratorCons.hasNext(IteratorCons.java:70)
>>
>> Any ideas? Is Jena running out of memory?
>
> There is either a very long chain of IteratorCons or an IteratorCons
> object points to itself as the next IteratorCons.
>
> The full trace should tell you where the first IteratorCons.hasNext call
> is from.
>
> The NQuads writer does not use IteratorCons so it is something in the
> dataset setup.  NQuads writing uses an iterator from
> DatasetGraph.find(?,?,?,?).
>
>  >> (Jena 2.11.0)
>
>>
>> Martynas
>>
>
>      Andy
>
>


Re: StackOverflowError when writing N-Quads (Jena 2.11.0)

Posted by Andy Seaborne <an...@apache.org>.
On 09/04/16 23:30, Martynas Jusevičius wrote:
> Hey,
>
> I'm trying to write an in-memory Dataset (guesstimate: a few hundred
> thousand quads) like this:
>
> RDFDataMgr.write(entityStream, dataset, lang);
>
> What I get is:
>
> java.lang.StackOverflowError
> at org.apache.jena.atlas.iterator.IteratorCons.hasNext(IteratorCons.java:70)
> at org.apache.jena.atlas.iterator.IteratorCons.hasNext(IteratorCons.java:70)
> at org.apache.jena.atlas.iterator.IteratorCons.hasNext(IteratorCons.java:70)
> at org.apache.jena.atlas.iterator.IteratorCons.hasNext(IteratorCons.java:70)
> at org.apache.jena.atlas.iterator.IteratorCons.hasNext(IteratorCons.java:70)
>
> Any ideas? Is Jena running out of memory?

There is either a very long chain of IteratorCons or an IteratorCons 
object points to itself as the next IteratorCons.

The full trace should tell you where the first IteratorCons.hasNext call 
is from.

The NQuads writer does not use IteratorCons so it is something in the 
dataset setup.  NQuads writing uses an iterator from 
DatasetGraph.find(?,?,?,?).

 >> (Jena 2.11.0)

>
> Martynas
>

	Andy