lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Karl Wright (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (LUCENE-8227) TestGeo3DPoint.testGeo3DRelations() reproducing failures
Date Thu, 29 Mar 2018 07:01:00 GMT

    [ https://issues.apache.org/jira/browse/LUCENE-8227?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16418521#comment-16418521
] 

Karl Wright commented on LUCENE-8227:
-------------------------------------

What happens is finally clear.
One of the travel planes in the -x pole case goes directly along an edge.  The edge's endpoint
is actually within the "envelope", and another edge crosses out.  But this case isn't handled
correctly for some reason.

The logic for complex cases like this needs to be reviewed.  Essentially there are four surfaces:
inside the travel corridor, outside the travel corridor, and either end of the travel corridor.
 We need to make sure the following cases are properly handled:

* polygon points within the corridor
* edges crossing corridor ends
* polygon points on the corridor boundaries

While we have logic to identify all edges that intersect at all with a travel corridor, the
logic dealing with the cases mentioned is complex and may have issues.  Needs careful thought.


> 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: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


Mime
View raw message