[ https://issues.apache.org/jira/browse/LUCENE-8444?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16569999#comment-16569999 ]
Ignacio Vera commented on LUCENE-8444: -------------------------------------- In the constructor of {{DualCrossingEdgeIterator}} we have: {code:java} final SidedPlane testPointBound1 = new SidedPlane(intersectionPoint, testPointPlane, testPoint); final SidedPlane testPointBound2 = new SidedPlane(testPoint, testPointPlane, intersectionPoint); if (testPointBound1.isNumericallyIdentical(testPointBound2)) { throw new IllegalArgumentException("Dual iterator unreliable when bounds planes are numerically identical"); } this.testPointCutoffPlane = testPointBound1; this.testPointOtherCutoffPlane = testPointBound2; final SidedPlane checkPointBound1 = new SidedPlane(intersectionPoint, travelPlane, thePointX, thePointY, thePointZ); final SidedPlane checkPointBound2 = new SidedPlane(thePointX, thePointY, thePointZ, travelPlane, intersectionPoint); if (checkPointBound1.isNumericallyIdentical(checkPointBound2)) { throw new IllegalArgumentException("Dual iterator unreliable when bounds planes are numerically identical"); } this.checkPointCutoffPlane = checkPointBound1; this.checkPointOtherCutoffPlane = checkPointBound2;{code} I have tried to change those checks to functionally identical and it seems to fix this error and all the test pass. > Geo3D Test Failure: Test Point is Contained by shape but outside the XYZBounds > ------------------------------------------------------------------------------ > > Key: LUCENE-8444 > URL: https://issues.apache.org/jira/browse/LUCENE-8444 > Project: Lucene - Core > Issue Type: Bug > Components: modules/spatial3d > Reporter: Nicholas Knize > Assignee: Karl Wright > Priority: Major > Attachments: LUCENE-8444.patch > > > Reproduces for me on branch_7x. /cc [~daddywri] [~ivera] > {code:java} > reproduce with: ant test -Dtestcase=TestGeo3DPoint > -Dtests.method=testGeo3DRelations -Dtests.seed=252B55C41A78F987 > -Dtests.slow=true -Dtests.badapples=true -Dtests.locale=th > -Dtests.timezone=America/Virgin -Dtests.asserts=true > -Dtests.file.encoding=UTF-8 > {code} > {code:java} > [junit4] Suite: org.apache.lucene.spatial3d.TestGeo3DPoint > [junit4] 1> doc=639 is contained by shape but is outside the > returned XYZBounds > [junit4] 1> unquantized=[lat=-1.077431832267001, > lon=3.141592653589793([X=-0.47288721079787505, Y=5.791198090613375E-17, > Z=-0.8794340737031547])] > [junit4] 1> quantized=[X=-0.47288721059145067, > Y=2.3309121299774915E-10, Z=-0.8794340734858216] > [junit4] 1> doc=1079 is contained by shape but is outside the > returned XYZBounds > [junit4] 1> unquantized=[lat=-1.074298280522397, > lon=-3.141592653589793([X=-0.4756448135017662, Y=-5.824968983859777E-17, > Z=-0.8779556514050441])] > [junit4] 1> quantized=[X=-0.4756448134355703, > Y=-2.3309121299774915E-10, Z=-0.8779556514433299] > [junit4] 1> shape=GeoComplexPolygon: {planetmodel=PlanetModel.WGS84, > number of shapes=1, address=5b34ab34, testPoint=[lat=-0.9074319066955279, > lon=2.1047077826887393E-11([X=0.6151745825332513, Y=1.2947627315700302E-11, > Z=-0.7871615107396388])], testPointInSet=true, shapes={ > {[lat=0.12234154783984401, lon=2.9773900430735544E-11([X=0.9935862314832985, > Y=2.9582937525533484E-11, Z=0.12216699617265761])], [lat=-1.1812619187738946, > lon=0.0([X=0.3790909950565304, Y=0.0, Z=-0.9234617794363308])], > [lat=-1.5378336326638269, lon=-2.1777686687777411E-97([X=0.03288309726634029, > Y=-7.161177895900688E-99, Z=-0.9972239126272725])]}} > [junit4] 1> bounds=XYZBounds: [xmin=0.03288309626634029 > xmax=1.0011188549924792 ymin=-1.0E-9 ymax=1.029686850221785E-9 > zmin=-0.9972239136272725 zmax=0.12216699717265761] > [junit4] 2> NOTE: reproduce with: ant test -Dtestcase=TestGeo3DPoint > -Dtests.method=testGeo3DRelations -Dtests.seed=252B55C41A78F987 > -Dtests.slow=true -Dtests.badapples=true -Dtests.locale=th > -Dtests.timezone=America/Virgin -Dtests.asserts=true > -Dtests.file.encoding=UTF-8 > [junit4] FAILURE 0.16s | TestGeo3DPoint.testGeo3DRelations <<< > [junit4] > Throwable #1: java.lang.AssertionError: invalid bounds for > shape=GeoComplexPolygon: {planetmodel=PlanetModel.WGS84, number of shapes=1, > address=5b34ab34, testPoint=[lat=-0.9074319066955279, > lon=2.1047077826887393E-11([X=0.6151745825332513, Y=1.2947627315700302E-11, > Z=-0.7871615107396388])], testPointInSet=true, shapes={ > {[lat=0.12234154783984401, lon=2.9773900430735544E-11([X=0.9935862314832985, > Y=2.9582937525533484E-11, Z=0.12216699617265761])], [lat=-1.1812619187738946, > lon=0.0([X=0.3790909950565304, Y=0.0, Z=-0.9234617794363308])], > [lat=-1.5378336326638269, lon=-2.1777686687777411E-97([X=0.03288309726634029, > Y=-7.161177895900688E-99, Z=-0.9972239126272725])]}} > [junit4] > at > __randomizedtesting.SeedInfo.seed([252B55C41A78F987:955428509535571B]:0) > [junit4] > at > org.apache.lucene.spatial3d.TestGeo3DPoint.testGeo3DRelations(TestGeo3DPoint.java:259) > [junit4] > at java.lang.Thread.run(Thread.java:748) > [junit4] 2> NOTE: test params are: codec=Asserting(Lucene70), > sim=RandomSimilarity(queryNorm=false): {}, locale=th, timezone=America/Virgin > [junit4] 2> NOTE: Linux 4.15.0-29-generic amd64/Oracle Corporation > 1.8.0_161 (64-bit)/cpus=4,threads=1,free=298939008,total=313524224 > [junit4] 2> NOTE: All tests run in this JVM: [TestGeo3DPoint] > [junit4] Completed [1/1 (1!)] in 0.62s, 1 test, 1 failure <<< FAILURES! > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org