Return-Path: Delivered-To: apmail-lucene-java-user-archive@www.apache.org Received: (qmail 9261 invoked from network); 16 Aug 2007 16:48:00 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 16 Aug 2007 16:48:00 -0000 Received: (qmail 16085 invoked by uid 500); 16 Aug 2007 16:47:41 -0000 Delivered-To: apmail-lucene-java-user-archive@lucene.apache.org Received: (qmail 16048 invoked by uid 500); 16 Aug 2007 16:47:41 -0000 Mailing-List: contact java-user-help@lucene.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: java-user@lucene.apache.org Delivered-To: mailing list java-user@lucene.apache.org Received: (qmail 16021 invoked by uid 99); 16 Aug 2007 16:47:41 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 16 Aug 2007 09:47:41 -0700 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of yseeley@gmail.com designates 66.249.92.174 as permitted sender) Received: from [66.249.92.174] (HELO ug-out-1314.google.com) (66.249.92.174) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 16 Aug 2007 16:47:38 +0000 Received: by ug-out-1314.google.com with SMTP id c2so308328ugf for ; Thu, 16 Aug 2007 09:47:16 -0700 (PDT) DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:sender:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:x-google-sender-auth; b=GWGYwj98H94xG/nXfFxo+slvcK9P2VTuuQapnhjmyyRXx8Mne75mfXofn3QcCu/CRiLm11D/yDJZ/mkA99xe0GdrysBCl0bOwt7FpZsro2ZancAsFleBUUVNydmziHTd3HZgbnxzeGBWGjSk1QvS9p+ZbhFCfSXgO4SMVxRaZOM= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:sender:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:x-google-sender-auth; b=tWCPvE8z1hcIt3/4mxlYb7S4tXKxP+U1cO0yQMR1IkmIFVFzqaINe0dJ6kku13oEvoZtetFSR2aJjSupEisLsgiWSFCGmx4IZUQExn/zrOab6qtHrK+8xpSjfXY+75d/B+47tzk0+cDx4o+Hm+ZxNrPwQHGFFIDBUGY0czkNZx8= Received: by 10.142.158.17 with SMTP id g17mr122651wfe.1187282832931; Thu, 16 Aug 2007 09:47:12 -0700 (PDT) Received: by 10.143.33.20 with HTTP; Thu, 16 Aug 2007 09:47:12 -0700 (PDT) Message-ID: Date: Thu, 16 Aug 2007 12:47:12 -0400 From: "Yonik Seeley" Sender: yseeley@gmail.com To: java-user@lucene.apache.org Subject: Re: [Fwd: Exception in MultiLevelSkipListReader$SkipBuffer.readByte] In-Reply-To: <46C47DAA.9080609@shaw.ca> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <46C47DAA.9080609@shaw.ca> X-Google-Sender-Auth: c9f06dacf5f1e01b X-Virus-Checked: Checked by ClamAV on apache.org 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 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.(Hits.java:53) > at org.apache.lucene.search.Searcher.search(Searcher.java:46) > > Thanks. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org > For additional commands, e-mail: java-user-help@lucene.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org For additional commands, e-mail: java-user-help@lucene.apache.org