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]