apache / apache/lucene

GeoPointNumericTermsEnum.init assertion trip [LUCENE-7107]

Open
#8,162 0 comments 0 reactions 0 assignees View on GitHub
legacy-jira-priority:Major type:bug
Dominant language
Java
Stars
3.6k
Forks
1.4k
Avg merge
2d 11h
Merged PRs (30d)
88

Description

From http://jenkins.thetaphi.de/job/Lucene-Solr-6.x-Linux/132/

It reproduces on current master (56ca641b5b50dd9133753410d40dda0632e873f5) for me:

```
[junit4:pickseed] Seed property 'tests.seed' already defined: BEAE73A5A546349E
[junit4] says olá! Master seed: BEAE73A5A546349E
[junit4] Executing 1 suite with 1 JVM.
[junit4]
[junit4] Started J0 PID(15946@localhost).
[junit4] Suite: org.apache.lucene.spatial.geopoint.search.TestGeoPointQuery
[junit4] 2> Márta 15, 2016 6:03:09 A.M. com.carrotsearch.randomizedtesting.RandomizedRunner$QueueUncaughtExceptionsHandler uncaughtException
[junit4] 2> WARNING: Uncaught exception in thread: Thread[T0,5,TGRP-TestGeoPointQuery]
[junit4] 2> java.lang.AssertionError
[junit4] 2> at __randomizedtesting.SeedInfo.seed([BEAE73A5A546349E]:0)
[junit4] 2> at org.apache.lucene.spatial.geopoint.search.GeoPointNumericTermsEnum.(GeoPointNumericTermsEnum.java:51)
[junit4] 2> at org.apache.lucene.spatial.geopoint.search.GeoPointTermsEnum.newInstance(GeoPointTermsEnum.java:52)
[junit4] 2> at org.apache.lucene.spatial.geopoint.search.GeoPointMultiTermQuery.getTermsEnum(GeoPointMultiTermQuery.java:94)
[junit4] 2> at org.apache.lucene.spatial.geopoint.search.GeoPointTermQueryConstantScoreWrapper$1.scorer(GeoPointTermQueryConstantScoreWrapper.java:94)
[junit4] 2> at org.apache.lucene.search.Weight.bulkScorer(Weight.java:135)
[junit4] 2> at org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.bulkScorer(LRUQueryCache.java:644)
[junit4] 2> at org.apache.lucene.search.AssertingWeight.bulkScorer(AssertingWeight.java:68)
[junit4] 2> at org.apache.lucene.search.BooleanWeight.optionalBulkScorer(BooleanWeight.java:231)
[junit4] 2> at org.apache.lucene.search.BooleanWeight.booleanScorer(BooleanWeight.java:297)
[junit4] 2> at org.apache.lucene.search.BooleanWeight.bulkScorer(BooleanWeight.java:364)
[junit4] 2> at org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.cache(LRUQueryCache.java:593)
[junit4] 2> at org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.bulkScorer(LRUQueryCache.java:641)
[junit4] 2> at org.apache.lucene.search.AssertingWeight.bulkScorer(AssertingWeight.java:68)
[junit4] 2> at org.apache.lucene.search.BooleanWeight.requiredBulkScorer(BooleanWeight.java:273)
[junit4] 2> at org.apache.lucene.search.BooleanWeight.booleanScorer(BooleanWeight.java:326)
[junit4] 2> at org.apache.lucene.search.BooleanWeight.bulkScorer(BooleanWeight.java:364)
[junit4] 2> at org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.bulkScorer(LRUQueryCache.java:644)
[junit4] 2> at org.apache.lucene.search.AssertingWeight.bulkScorer(AssertingWeight.java:68)
[junit4] 2> at org.apache.lucene.search.AssertingWeight.bulkScorer(AssertingWeight.java:68)
[junit4] 2> at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:666)
[junit4] 2> at org.apache.lucene.search.AssertingIndexSearcher.search(AssertingIndexSearcher.java:91)
[junit4] 2> at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:473)
[junit4] 2> at org.apache.lucene.spatial.util.BaseGeoPointTestCase$VerifyHits.test(BaseGeoPointTestCase.java:500)
[junit4] 2> at org.apache.lucene.spatial.util.BaseGeoPointTestCase$2._run(BaseGeoPointTestCase.java:766)
[junit4] 2> at org.apache.lucene.spatial.util.BaseGeoPointTestCase$2.run(BaseGeoPointTestCase.java:633)
[junit4] 2>
[junit4] 2> NOTE: reproduce with: ant test -Dtestcase=TestGeoPointQuery -Dtests.method=testRandomMedium -Dtests.seed=BEAE73A5A546349E -Dtests.multiplier=3 -Dtests.slow=true -Dtests.locale=ga -Dtests.timezone=America/Antigua -Dtests.asserts=true -Dtests.file.encoding=UTF-8
[junit4] ERROR 24.7s | TestGeoPointQuery.testRandomMedium <<<
```

It's this assertion ... maybe it's invalid?:

```
assert rangeBounds.isEmpty() == false;
```

---
Migrated from [LUCENE-7107](https://issues.apache.org/jira/browse/LUCENE-7107) by Michael McCandless (@mikemccand)

Contributor guide

Open the contributing guide

Research direction

Start by reproducing TestGeoPointQuery.testRandomMedium with the supplied ant command and seed. Read GeoPointNumericTermsEnum.java at the constructor assertion, then trace GeoPointTermsEnum.newInstance and GeoPointMultiTermQuery.getTermsEnum. Done means the reproduced test no longer trips the rangeBounds assertion.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
search
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.