[
https://issues.apache.org/jira/browse/LUCENE-8227?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16417823#comment-16417823
]
Karl Wright commented on LUCENE-8227:
-------------------------------------
Turns out that a standard polygon cannot be tiled with these points, and a
complex polygon is getting built instead:
{code}
[junit4] 1> Standard polygon: GeoComplexPolygon:
{planetmodel=PlanetModel.WGS84, number of shapes=1, address=99c3330b,
testPoint=[X=0.3804488906595847, Y=-0.47772089071622287, Z=0.7906122375677148],
testPointInSet=true, shapes={ {[lat=-1.2205765069413237,
lon=3.141592653589793([X=-0.3424714964202101, Y=4.194066
218902145E-17, Z=-0.9375649457139603])], [lat=-0.63542308910253,
lon=0.9853722928232957([X=0.4446759777403525, Y=0.6707549854468698,
Z=-0.5934780737681111])], [lat=0.0, lon=0.0([X=1.0011188539924791, Y=0.0,
Z=0.0])], [lat=0.45435018176633574,
lon=3.141592653589793([X=-0.8989684544372841, Y=1.1009188402610632E-16, Z=
0.4390846549572752])], [lat=-0.375870856827283,
lon=2.9129132647718414([X=-0.9065744420970767, Y=0.21100590938346708,
Z=-0.36732668582405886])]}}
{code}
That is meaningful because (a) we have no assurances that the polygon is legal,
and (b) all the comparisons we were doing in the test between standard and
large are not useful. Furthermore, the edge cutoffs for complex polygons are
definitely computed differently than they are for standard polygons. But it's
pretty concerning that a standard poly cannot be built at all.
> TestGeo3DPoint.testGeo3DRelations() reproducing failures
> --------------------------------------------------------
>
> Key: LUCENE-8227
> URL: https://issues.apache.org/jira/browse/LUCENE-8227
> Project: Lucene - Core
> Issue Type: Bug
> Components: general/test, modules/spatial3d
> Reporter: Steve Rowe
> Assignee: Karl Wright
> Priority: Major
>
> Three failures: two NPEs and one assert "assess edge that ends in a crossing
> can't both up and down":
> 1.a. (NPE) From
> [https://builds.apache.org/job/Lucene-Solr-NightlyTests-master/1512/]:
> {noformat}
> [junit4] 2> NOTE: reproduce with: ant test -Dtestcase=TestGeo3DPoint
> -Dtests.method=testGeo3DRelations -Dtests.seed=C1F88333EC85EAE0
> -Dtests.multiplier=2 -Dtests.nightly=true -Dtests.slow=true
> -Dtests.linedocsfile=/home/jenkins/jenkins-slave/workspace/Lucene-Solr-NightlyTests-master/test-data/enwiki.random.lines.txt
> -Dtests.locale=ga -Dtests.timezone=America/Ojinaga -Dtests.asserts=true
> -Dtests.file.encoding=UTF-8
> [junit4] ERROR 10.4s J1 | TestGeo3DPoint.testGeo3DRelations <<<
> [junit4] > Throwable #1: java.lang.NullPointerException
> [junit4] > at
> __randomizedtesting.SeedInfo.seed([C1F88333EC85EAE0:7187FEA763C8447C]:0)
> [junit4] > at
> org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.countCrossingPoint(GeoComplexPolygon.java:1382)
> [junit4] > at
> org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.matches(GeoComplexPolygon.java:1283)
> [junit4] > at
> org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Node.traverse(GeoComplexPolygon.java:564)
> [junit4] > at
> org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Node.traverse(GeoComplexPolygon.java:572)
> [junit4] > at
> org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Node.traverse(GeoComplexPolygon.java:569)
> [junit4] > at
> org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Tree.traverse(GeoComplexPolygon.java:660)
> [junit4] > at
> org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Tree.traverse(GeoComplexPolygon.java:646)
> [junit4] > at
> org.apache.lucene.spatial3d.geom.GeoComplexPolygon.isWithin(GeoComplexPolygon.java:370)
> [junit4] > at
> org.apache.lucene.spatial3d.geom.GeoBaseMembershipShape.isWithin(GeoBaseMembershipShape.java:36)
> [junit4] > at
> org.apache.lucene.spatial3d.geom.GeoBaseShape.getBounds(GeoBaseShape.java:35)
> [junit4] > at
> org.apache.lucene.spatial3d.geom.GeoComplexPolygon.getBounds(GeoComplexPolygon.java:440)
> [junit4] > at
> org.apache.lucene.spatial3d.TestGeo3DPoint.testGeo3DRelations(TestGeo3DPoint.java:225)
> [junit4] > at java.lang.Thread.run(Thread.java:748)
> {noformat}
> 1.b. (NPE) From
> [https://builds.apache.org/job/Lucene-Solr-SmokeRelease-7.x/184/]:
> {noformat}
> [smoker] [junit4] 2> NOTE: reproduce with: ant test
> -Dtestcase=TestGeo3DPoint -Dtests.method=testGeo3DRelations
> -Dtests.seed=F2A368AB96A2FD75 -Dtests.multiplier=2 -Dtests.locale=fr-ML
> -Dtests.timezone=America/Godthab -Dtests.asserts=true
> -Dtests.file.encoding=UTF-8
> [smoker] [junit4] ERROR 0.99s J0 | TestGeo3DPoint.testGeo3DRelations
> <<<
> [smoker] [junit4] > Throwable #1: java.lang.NullPointerException
> [smoker] [junit4] > at
> __randomizedtesting.SeedInfo.seed([F2A368AB96A2FD75:42DC153F19EF53E9]:0)
> [smoker] [junit4] > at
> org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.countCrossingPoint(GeoComplexPolygon.java:1382)
> [smoker] [junit4] > at
> org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.matches(GeoComplexPolygon.java:1283)
> [smoker] [junit4] > at
> org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Node.traverse(GeoComplexPolygon.java:564)
> [smoker] [junit4] > at
> org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Node.traverse(GeoComplexPolygon.java:572)
> [smoker] [junit4] > at
> org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Node.traverse(GeoComplexPolygon.java:572)
> [smoker] [junit4] > at
> org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Tree.traverse(GeoComplexPolygon.java:660)
> [smoker] [junit4] > at
> org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Tree.traverse(GeoComplexPolygon.java:646)
> [smoker] [junit4] > at
> org.apache.lucene.spatial3d.geom.GeoComplexPolygon.isWithin(GeoComplexPolygon.java:370)
> [smoker] [junit4] > at
> org.apache.lucene.spatial3d.geom.GeoBaseMembershipShape.isWithin(GeoBaseMembershipShape.java:36)
> [smoker] [junit4] > at
> org.apache.lucene.spatial3d.geom.GeoBaseShape.getBounds(GeoBaseShape.java:43)
> [smoker] [junit4] > at
> org.apache.lucene.spatial3d.geom.GeoComplexPolygon.getBounds(GeoComplexPolygon.java:440)
> [smoker] [junit4] > at
> org.apache.lucene.spatial3d.TestGeo3DPoint.testGeo3DRelations(TestGeo3DPoint.java:224)
> [smoker] [junit4] > at
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> [smoker] [junit4] > at
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> [smoker] [junit4] > at
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> [smoker] [junit4] > at
> java.base/java.lang.reflect.Method.invoke(Method.java:564)
> [smoker] [junit4] > at
> java.base/java.lang.Thread.run(Thread.java:844)
> {noformat}
> 2. (both up&down) From
> [https://jenkins.thetaphi.de/job/Lucene-Solr-7.x-Linux/1598/]:
> {noformat}
> [junit4] 2> NOTE: reproduce with: ant test -Dtestcase=TestGeo3DPoint
> -Dtests.method=testGeo3DRelations -Dtests.seed=BACC479CC2D38CCA
> -Dtests.multiplier=3 -Dtests.slow=true -Dtests.badapples=true
> -Dtests.locale=lv -Dtests.timezone=SystemV/AST4ADT -Dtests.asserts=true
> -Dtests.file.encoding=UTF-8
> [junit4] FAILURE 3.01s J2 | TestGeo3DPoint.testGeo3DRelations <<<
> [junit4] > Throwable #1: java.lang.AssertionError: assess edge that
> ends in a crossing can't both up and down
> [junit4] > at
> __randomizedtesting.SeedInfo.seed([BACC479CC2D38CCA:AB33A084D9E2256]:0)
> [junit4] > at
> org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.countCrossingPoint(GeoComplexPolygon.java:1438)
> [junit4] > at
> org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.matches(GeoComplexPolygon.java:1283)
> [junit4] > at
> org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Node.traverse(GeoComplexPolygon.java:564)
> [junit4] > at
> org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Tree.traverse(GeoComplexPolygon.java:660)
> [junit4] > at
> org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Tree.traverse(GeoComplexPolygon.java:646)
> [junit4] > at
> org.apache.lucene.spatial3d.geom.GeoComplexPolygon.isWithin(GeoComplexPolygon.java:370)
> [junit4] > at
> org.apache.lucene.spatial3d.geom.GeoBaseMembershipShape.isWithin(GeoBaseMembershipShape.java:36)
> [junit4] > at
> org.apache.lucene.spatial3d.geom.GeoBaseShape.getBounds(GeoBaseShape.java:43)
> [junit4] > at
> org.apache.lucene.spatial3d.geom.GeoComplexPolygon.getBounds(GeoComplexPolygon.java:440)
> [junit4] > at
> org.apache.lucene.spatial3d.TestGeo3DPoint.testGeo3DRelations(TestGeo3DPoint.java:224)
> [junit4] > at java.lang.Thread.run(Thread.java:748)
> {noformat}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]