Uploaded image for project: 'Lucene - Core'
  1. Lucene - Core
  2. LUCENE-9762

DoubleValuesSource.fromQuery can fail when doc visited twice

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 8.5
    • 8.9, 8.8.2
    • None
    • None
    • New

    Description

      As originally reported by Nicolás Lichtmaier on the java-user list, there are some trivial situations which can trigger an assertion error in the PostingsReader when enumerating PhrasePositions for a sloppy PhraseQuery...

      Exception in thread "main" java.lang.AssertionError
      	at org.apache.lucene.codecs.lucene84.Lucene84PostingsReader$EverythingEnum.nextPosition(Lucene84PostingsReader.java:940)
      	at org.apache.lucene.search.PhrasePositions.nextPosition(PhrasePositions.java:57)
      	at org.apache.lucene.search.PhrasePositions.firstPosition(PhrasePositions.java:46)
      	at org.apache.lucene.search.SloppyPhraseMatcher.initSimple(SloppyPhraseMatcher.java:368)
      	at org.apache.lucene.search.SloppyPhraseMatcher.initPhrasePositions(SloppyPhraseMatcher.java:356)
      	at org.apache.lucene.search.SloppyPhraseMatcher.reset(SloppyPhraseMatcher.java:153)
      	at org.apache.lucene.search.PhraseScorer$1.matches(PhraseScorer.java:49)
      	at org.apache.lucene.search.DoubleValuesSource$WeightDoubleValuesSource$1.advanceExact(DoubleValuesSource.java:631)
      	at org.apache.lucene.queries.function.FunctionScoreQuery$QueryBoostValuesSource$1.advanceExact(FunctionScoreQuery.java:343)
      	at org.apache.lucene.search.DoubleValues$1.advanceExact(DoubleValues.java:53)
      	at org.apache.lucene.search.DoubleValues$1.advanceExact(DoubleValues.java:53)
      	at org.apache.lucene.queries.function.FunctionScoreQuery$MultiplicativeBoostValuesSource$1.advanceExact(FunctionScoreQuery.java:270)
      	at org.apache.lucene.queries.function.FunctionScoreQuery$FunctionScoreWeight$1.score(FunctionScoreQuery.java:228)
      	at org.apache.lucene.search.DoubleValuesSource$2.doubleValue(DoubleValuesSource.java:344)
      	at org.apache.lucene.search.DoubleValues$1.doubleValue(DoubleValues.java:48)
      	at org.apache.lucene.queries.function.FunctionScoreQuery$MultiplicativeBoostValuesSource$1.doubleValue(FunctionScoreQuery.java:265)
      	at org.apache.lucene.queries.function.FunctionScoreQuery$FunctionScoreWeight$1.score(FunctionScoreQuery.java:229)
      	at org.apache.lucene.search.TopScoreDocCollector$SimpleTopScoreDocCollector$1.collect(TopScoreDocCollector.java:76)
      	at org.apache.lucene.search.Weight$DefaultBulkScorer.scoreAll(Weight.java:276)
      	at org.apache.lucene.search.Weight$DefaultBulkScorer.score(Weight.java:232)
      	at org.apache.lucene.search.BulkScorer.score(BulkScorer.java:39)
      	at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:659)
      	at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:443)
      	at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:572)
      	at org.apache.lucene.search.IndexSearcher.searchAfter(IndexSearcher.java:419)
      	at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:430)
      	at LuceneCrash.main(LuceneCrash.java:51)
      

      http://mail-archives.apache.org/mod_mbox/lucene-java-user/202102.mbox/%3C177a65ec-5ec3-e1aa-99c3-b478e165d5e8%40wolfram.com%3E

      Attachments

        1. LUCENE-9762.patch
          3 kB
          Chris M. Hostetter

        Issue Links

          Activity

            People

              dsmiley David Smiley
              hossman Chris M. Hostetter
              Votes:
              1 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 1h 20m
                  1h 20m