cc to the list…

Christian Grün <christian.gruen@gmail.com> schrieb am Mo., 7. Juni 2021, 13:50:
Thanks, Tim, that was helpful. It turned out that the index contains
an unusually high number of similar tokens for one search terms in
your query:

faraʼid : 13709 similar terms
muhammad : 131 similar terms
siraj : 50 similar terms
...

A new snapshot with a bug fix is available, in which similar terms are
collected non-recursively [1]. I’d have wished that your search was
evaluated faster (it takes around 6 seconds on machine) but at least
it succeeds. I’ll have some more thoughts.

Cheers,
Christian

[1] https://files.basex.org/releases/latest/



On Mon, Jun 7, 2021 at 1:17 PM Tim Thompson <timathom@gmail.com> wrote:
>
> Thank you, Christian. If it's still helpful, here is a link to download the document I am using as my full-text index.
>
> All best,
> Tim
>
>
> --
> Tim A. Thompson
> Metadata Librarian
> Yale University Library
>
> On Mon, Jun 7, 2021 at 6:19 AM Christian Grün <christian.gruen@gmail.com> wrote:
>>
>> I think I managed to build up a bug scenario that should resemble
>> yours [1]: If thousands of similar terms are found, the results cannot
>> be recursively joined anymore.
>>
>> [1] https://github.com/BaseXdb/basex/issues/2014
>>
>>
>>
>> On Mon, Jun 7, 2021 at 10:28 AM Christian Grün
>> <christian.gruen@gmail.com> wrote:
>> >
>> > Hi Tim,
>> >
>> > I’m still trying to get this reproduced.
>> >
>> > The error is caused by excessive recursive functions call. Out of
>> > interest, could you try to increase the size of the Java Stack Trace
>> > and see if the error persists? This can be achieved by assigning a
>> > large value to the JVM via the Xss flag [1]. You could e.g. add
>> > -Xss64m to the BASEX_JVM variable in the BaseX start scripts [2].
>> >
>> > Internal notes… If yes, we might be confronted with an infinite loop.
>> > If no, we should try to rewrite a recursive index lookup to an
>> > iterative one.
>> >
>> > If your data is not confidential, feel free to provide me with a download link.
>> >
>> > Cheers,
>> > Christian
>> >
>> > [1] https://stackoverflow.com/questions/3700459/how-to-increase-the-java-stack-size
>> > [2] https://docs.basex.org/wiki/Start_Scripts
>> >
>> >
>> >
>> > On Fri, Jun 4, 2021 at 11:03 PM Tim Thompson <timathom@gmail.com> wrote:
>> > >
>> > > Thanks, Christian. The rest of the stack trace was just many lines of "at org.basex.index.query.FTIndexIterator$2.pos(FTIndexIterator.java:74)" until the end:
>> > >
>> > > [qtp1546693040-47] WARN org.eclipse.jetty.server.handler.ErrorHandler - Error page too large: 500 java.lang.StackOverflowError Request(POST //10.5.157.229:10214/dba/query-eval)@7dcadc62
>> > > [qtp1546693040-47] INFO org.eclipse.jetty.server.handler.ErrorHandler - Disabling showsStacks for ErrorPageErrorHandler@53032c30{STARTED}
>> > >
>> > > Best regards,
>> > > Tim
>> > >
>> > >
>> > > --
>> > > Tim A. Thompson
>> > > Metadata Librarian
>> > > Yale University Library
>> > >
>> > > On Fri, Jun 4, 2021 at 1:30 PM Christian Grün <christian.gruen@gmail.com> wrote:
>> > >>
>> > >> Hi Tim,
>> > >>
>> > >> > [qtp1546693040-47] WARN org.eclipse.jetty.server.HttpChannel - /dba/query-eval
>> > >> > java.lang.StackOverflowError
>> > >> > at org.basex.index.query.FTIndexIterator$2.pos(FTIndexIterator.java:73)
>> > >> > at org.basex.index.query.FTIndexIterator$2.pos(FTIndexIterator.java:74)
>> > >>
>> > >> Could you share some more lines of the stack trace with us?
>> > >>
>> > >> Thanks in advance
>> > >> Christian