[
https://issues.apache.org/jira/browse/LUCENE-8227?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16417803#comment-16417803
]
Karl Wright commented on LUCENE-8227:
-------------------------------------
Something is odd with the rejection plane.
The code definitely uses adjoining edges to delimit polygon edges, so each
delimiting plane should go through two points and the origin. But:
{code}
[junit4] 1> Rejection plane distance to point 0= 0.5740492391748969
[junit4] 1> Rejection plane distance to point 1= 0.33264504249101573
[junit4] 1> Rejection plane distance to point 2= -0.7049619375342049
[junit4] 1> Rejection plane distance to point 3= -5.551115123125783E-17
[junit4] 1> Rejection plane distance to point 4= 0.7536785854436437
{code}
The rejection edge goes through only one point and is nowhere near any of the
others. It does go through the origin, but unless it was specifically
constructed to be perpendicular to original edge, this makes no sense.
> 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]