I wonder if this is related to
https://issues.apache.org/jira/browse/LUCENE-951

If it's easy enough for you to reproduce, could you try the trunk
version of Lucene and see if it's fixed?

-Yonik

On 8/16/07, Scott Montgomerie <[EMAIL PROTECTED]> wrote:
> I'm getting an ArrayIndexOutOfBoundsException in
> MultiLevelSkipListReader$SkipBuffer. This happens sporadically, on a
> fairly small index (18 MB, about 30,000 documents). The index is
> subject to a lot of adds and deletes, some of them concurrently. It
> happens after about 4 days of heavy usage. I was able to isolate a copy
> of the index that causes the exception, and I can reproduce the
> exception cleanly in a Junit test.
> I can see that readByte(), where the error is occuring, has no bounds
> checking, therefore I assume that the data in there must be correct?
> Hence, the index has obviously become corrupted. Further, optimizing
> the index fixes the problem.
>
> The problem is reproducible in working system. As I said, around 4-5
> days after optimization, the same error occurs sporadically.
> Any ideas?
>
> Oh and this is Lucene 2.2.0, jdk 1.5.0_12.
>
> The code from the junit test that calls this is pretty simple:
>
> Query profileQuery = new TermQuery(new
> Term(IndexFields.bookmark_profile_id, "1"));
> Hits h = searcher.search(profileQuery, filterPrivate());
>
> search is a plain old IndexSearcher, and filterPrivate() returns a
> QueryFilter based on a 2-term BooleanQuery.
>
>
> Full stack trace:
>
> Exception in thread "MultiSearcher thread #2"
> java.lang.ArrayIndexOutOfBoundsException: 14
> at
> org.apache.lucene.index.MultiLevelSkipListReader$SkipBuffer.readByte(MultiLevelSkipListReader.java:258)
> at org.apache.lucene.store.IndexInput.readVInt(IndexInput.java:57)
> at
> org.apache.lucene.index.DefaultSkipListReader.readSkipData(DefaultSkipListReader.java:110)
> at
> org.apache.lucene.index.MultiLevelSkipListReader.loadNextSkip(MultiLevelSkipListReader.java:140)
> at
> org.apache.lucene.index.MultiLevelSkipListReader.skipTo(MultiLevelSkipListReader.java:110)
> at
> org.apache.lucene.index.SegmentTermDocs.skipTo(SegmentTermDocs.java:164)
> at org.apache.lucene.index.MultiTermDocs.skipTo(MultiReader.java:413)
> at org.apache.lucene.search.TermScorer.skipTo(TermScorer.java:145)
> at
> org.apache.lucene.util.ScorerDocQueue.topSkipToAndAdjustElsePop(ScorerDocQueue.java:120)
> at
> org.apache.lucene.search.DisjunctionSumScorer.skipTo(DisjunctionSumScorer.java:229)
> at
> org.apache.lucene.search.BooleanScorer2.skipTo(BooleanScorer2.java:381)
> at
> org.apache.lucene.search.ConjunctionScorer.doNext(ConjunctionScorer.java:63)
> at
> org.apache.lucene.search.ConjunctionScorer.next(ConjunctionScorer.java:58)
> at
> org.apache.lucene.search.BooleanScorer2.score(BooleanScorer2.java:327)
> at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:146)
> at org.apache.lucene.search.Searcher.search(Searcher.java:118)
> at org.apache.lucene.search.Searcher.search(Searcher.java:97)
> at
> org.apache.lucene.search.QueryWrapperFilter.bits(QueryWrapperFilter.java:50)
> at
> org.apache.lucene.search.CachingWrapperFilter.bits(CachingWrapperFilter.java:58)
> at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:133)
> at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:113)
> at
> org.apache.lucene.search.MultiSearcherThread.run(ParallelMultiSearcher.java:250)
>
> java.lang.NullPointerException
> at
> org.apache.lucene.search.MultiSearcherThread.hits(ParallelMultiSearcher.java:280)
> at
> org.apache.lucene.search.ParallelMultiSearcher.search(ParallelMultiSearcher.java:83)
> at org.apache.lucene.search.Hits.getMoreDocs(Hits.java:74)
> at org.apache.lucene.search.Hits.<init>(Hits.java:53)
> at org.apache.lucene.search.Searcher.search(Searcher.java:46)
>
> Thanks.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to