[
https://issues.apache.org/jira/browse/LUCENE-8512?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16624978#comment-16624978
]
Karl Wright commented on LUCENE-8512:
-------------------------------------
More debug output:
{code}
[junit4] Suite: org.apache.lucene.spatial3d.geom.GeoPolygonTest
[junit4] 1> traveling from point1 to point2...
[junit4] 1>
[junit4] 1> IsInSet called for
[0.30714981250962886,0.2184407265252787,-0.9262519320737786],
testPoint=[X=-0.30714981250962886, Y=-0.2184407265252787,
Z=0.9262519320737786]; is in set? true
[junit4] 1> Using two planes
[junit4] 1> Trying traversal strategy {firstLegValue=-0.2184407265252787;
secondLegValue=0.30714981250962886; firstLegPlane=[A=0.0, B=1.0; C=0.0;
D=0.2184407265252787]; secondLegPlane=[A=1.0, B=0.0; C=0.0;
D=-0.30714981250962886]; intersectionPoint=[X=0.30714981250962886,
Y=-0.2184407265252787, Z=0.9262519320737789]}
[junit4] 1> Applying traversal strategy...
[junit4] 1> Finding whether [X=0.30714981250962886,
Y=-0.2184407265252787, Z=0.9262519320737789] is in-set, based on travel from
[X=-0.30714981250962886, Y=-0.2184407265252787, Z=0.9262519320737786] along
[A=0.0, B=1.0; C=0.0; D=0.2184407265252787] (value=-0.2184407265252787)
[junit4] 1> creating sector linear crossing edge iterator
[junit4] 1> Finding whether
[0.30714981250962886,0.2184407265252787,-0.9262519320737786] is in-set, based
on travel from [X=0.30714981250962886, Y=-0.2184407265252787,
Z=0.9262519320737789] along [A=1.0, B=0.0; C=0.0; D=-0.30714981250962886]
(value=0.30714981250962886)
[junit4] 1> creating sector linear crossing edge iterator
[junit4] 1> failed; create full linear crossing edge iterator
[junit4] 1> Constructing full linear crossing edge iterator
[junit4] 1>
[junit4] 1> The following edges intersect the travel plane within the
given bounds:
[junit4] 1> Edge [lat=-1.18434322804154,
lon=0.618199439360918([X=0.3071490586684479, Y=0.2184426438256418,
Z=-0.9262517298864009])] --> [lat=-1.1843453737470075,
lon=0.6181782206159809([X=0.30715207402261285, Y=0.21843497462105488,
Z=-0.9262525386123953])]:
[junit4] 1> ... intersects!!
[junit4] 1> Edge [lat=-1.1843453737470075,
lon=0.6181782206159809([X=0.30715207402261285, Y=0.21843497462105488,
Z=-0.9262525386123953])] --> [lat=-1.1843432280405986,
lon=0.6181994393547311([X=0.30714905867051, Y=0.21844264382424686,
Z=-0.9262517298860461])]:
[junit4] 1> ... intersection [X=0.30714981250962886,
Y=-0.9497725277626164, Z=0.05992610601991444] excluded by edge start plane
(-0.9856796711858306)
[junit4] 1> ... intersection [X=0.30714981250962886,
Y=-0.9497725277626164, Z=0.05992610601991444] excluded by edge backing plane
(-0.1686326247309164)
[junit4] 1> ... intersection [X=0.30714981250962886,
Y=0.21844072652709384, Z=-0.9262519320733508] excluded by iterator bound
(-1.8648971256141067E-12)
[junit4] 1> Edge [lat=-1.1843432280405986,
lon=0.6181994393547311([X=0.30714905867051, Y=0.21844264382424686,
Z=-0.9262517298860461])] --> [lat=-1.1843432280416921,
lon=0.618199439357646([X=0.30714905866904785, Y=0.21844264382455517,
Z=-0.9262517298864584])]:
[junit4] 1> ... intersection [X=0.30714981250962886,
Y=-0.29365668638619585, Z=0.9052208256640913] excluded by edge start plane
(-0.5888137834947567)
[junit4] 1> ... intersection [X=0.30714981250962886,
Y=-0.29365668638619585, Z=0.9052208256640913] excluded by edge backing plane
(-0.8082687228684081)
[junit4] 1> ... intersection [X=0.30714981250962886,
Y=0.21844248489294116, Z=-0.9262515173909822] excluded by iterator bound
(-1.806604178589133E-6)
[junit4] 1> ... intersection [X=0.30714981250962886,
Y=0.21844248489294116, Z=-0.9262515173909822] excluded by edge start plane
(-7.991787842054343E-7)
[junit4] 1> Edge [lat=-1.1843432280416921,
lon=0.618199439357646([X=0.30714905866904785, Y=0.21844264382455517,
Z=-0.9262517298864584])] --> [lat=-1.18434322804154,
lon=0.618199439360918([X=0.3071490586684479, Y=0.2184426438256418,
Z=-0.9262517298864009])]:
[junit4] 1> ... intersection [X=0.3071498125096288,
Y=-0.8847045499103079, Z=0.35065203841315323] excluded by edge start plane
(-0.9057986100955359)
[junit4] 1> ... intersection [X=0.3071498125096288,
Y=-0.8847045499103079, Z=0.35065203841315323] excluded by edge backing plane
(-0.4237084822722725)
[junit4] 1> ... intersection [X=0.3071498125096288,
Y=0.21844127824994175, Z=-0.9262518019587498] excluded by iterator bound
(-5.668597927166452E-7)
[junit4] 1> ... intersection [X=0.3071498125096288,
Y=0.21844127824994175, Z=-0.9262518019587498] excluded by edge start plane
(-1.5614941759473089E-6)
[junit4] 1> ...done
[junit4] 1>
[junit4] 1> Edge [[lat=-1.18434322804154,
lon=0.618199439360918([X=0.3071490586684479, Y=0.2184426438256418,
Z=-0.9262517298864009])] --> [lat=-1.1843453737470075,
lon=0.6181782206159809([X=0.30715207402261285, Y=0.21843497462105488,
Z=-0.9262525386123953])]] potentially crosses travel plane [A=1.0, B=0.0;
C=0.0; D=-0.30714981250962886]
[junit4] 1> Point is on the edge; in-set
[junit4] 1> Check point in set? true
[junit4] 1> traveling from poin2 to point1...
[junit4] 1>
[junit4] 1> IsInSet called for
[-0.30714981250962886,-0.2184407265252787,0.9262519320737786],
testPoint=[X=0.30714981250962886, Y=0.2184407265252787, Z=-0.9262519320737786];
is in set? true
[junit4] 1> Using two planes
[junit4] 1> Trying traversal strategy {firstLegValue=0.2184407265252787;
secondLegValue=-0.30714981250962886; firstLegPlane=[A=0.0, B=1.0; C=0.0;
D=-0.2184407265252787]; secondLegPlane=[A=1.0, B=0.0; C=0.0;
D=0.30714981250962886]; intersectionPoint=[X=-0.30714981250962886,
Y=0.2184407265252787, Z=0.9262519320737789]}
[junit4] 1> Applying traversal strategy...
[junit4] 1> Finding whether [X=-0.30714981250962886,
Y=0.2184407265252787, Z=0.9262519320737789] is in-set, based on travel from
[X=0.30714981250962886, Y=0.2184407265252787, Z=-0.9262519320737786] along
[A=0.0, B=1.0; C=0.0; D=-0.2184407265252787] (value=0.2184407265252787)
[junit4] 1> creating sector linear crossing edge iterator
[junit4] 1> failed; create full linear crossing edge iterator
[junit4] 1> Constructing full linear crossing edge iterator
[junit4] 1>
[junit4] 1> The following edges intersect the travel plane within the
given bounds:
[junit4] 1> Edge [lat=-1.18434322804154,
lon=0.618199439360918([X=0.3071490586684479, Y=0.2184426438256418,
Z=-0.9262517298864009])] --> [lat=-1.1843453737470075,
lon=0.6181782206159809([X=0.30715207402261285, Y=0.21843497462105488,
Z=-0.9262525386123953])]:
[junit4] 1> ... intersects!!
[junit4] 1> Edge [lat=-1.1843453737470075,
lon=0.6181782206159809([X=0.30715207402261285, Y=0.21843497462105488,
Z=-0.9262525386123953])] --> [lat=-1.1843432280405986,
lon=0.6181994393547311([X=0.30714905867051, Y=0.21844264382424686,
Z=-0.9262517298860461])]:
[junit4] 1> ... intersects!!
[junit4] 1> Edge [lat=-1.1843432280405986,
lon=0.6181994393547311([X=0.30714905867051, Y=0.21844264382424686,
Z=-0.9262517298860461])] --> [lat=-1.1843432280416921,
lon=0.618199439357646([X=0.30714905866904785, Y=0.21844264382455517,
Z=-0.9262517298864584])]:
[junit4] 1> ... intersection [X=0.3071581526992726,
Y=0.2184407265252787, Z=-0.9262491663831491] excluded by iterator bound
(-8.786797365933907E-6)
[junit4] 1> ... intersection [X=0.3071581526992726,
Y=0.2184407265252787, Z=-0.9262491663831491] excluded by edge start plane
(-9.641003141158677E-6)
[junit4] 1> ... intersection [X=-0.9103783615736771,
Y=0.2184407265252787, Z=-0.35141839418780496] excluded by edge end plane
(0.9956101834689639)
[junit4] 1> Edge [lat=-1.1843432280416921,
lon=0.618199439357646([X=0.30714905866904785, Y=0.21844264382455517,
Z=-0.9262517298864584])] --> [lat=-1.18434322804154,
lon=0.618199439360918([X=0.3071490586684479, Y=0.2184426438256418,
Z=-0.9262517298864009])]:
[junit4] 1> ... intersection [X=0.30715011707887946,
Y=0.2184407265252787, Z=-0.9262518310770235] excluded by iterator bound
(-3.208781279018247E-7)
[junit4] 1> ... intersection [X=0.30715011707887946,
Y=0.2184407265252787, Z=-0.9262518310770235] excluded by edge start plane
(-2.1923748351124206E-6)
[junit4] 1> ... intersection [X=-0.49808352522711535,
Y=0.2184407265252787, Z=0.8391641382306788] excluded by edge end plane
(0.4702254126647571)
[junit4] 1> ... intersection [X=-0.49808352522711535,
Y=0.2184407265252787, Z=0.8391641382306788] excluded by edge backing plane
(-0.8825463507854838)
[junit4] 1> ...done
[junit4] 1>
[junit4] 1> Edge [[lat=-1.18434322804154,
lon=0.618199439360918([X=0.3071490586684479, Y=0.2184426438256418,
Z=-0.9262517298864009])] --> [lat=-1.1843453737470075,
lon=0.6181782206159809([X=0.30715207402261285, Y=0.21843497462105488,
Z=-0.9262525386123953])]] potentially crosses travel plane [A=0.0, B=1.0;
C=0.0; D=-0.2184407265252787]
[junit4] 1> Edge intersects travel plane [A=0.0, B=1.0; C=0.0;
D=-0.2184407265252787]
[junit4] 1> Above crossings = 1; below crossings = 1
[junit4] 1> Edge [[lat=-1.1843453737470075,
lon=0.6181782206159809([X=0.30715207402261285, Y=0.21843497462105488,
Z=-0.9262525386123953])] --> [lat=-1.1843432280405986,
lon=0.6181994393547311([X=0.30714905867051, Y=0.21844264382424686,
Z=-0.9262517298860461])]] potentially crosses travel plane [A=0.0, B=1.0;
C=0.0; D=-0.2184407265252787]
[junit4] 1> Edge intersects travel plane [A=0.0, B=1.0; C=0.0;
D=-0.2184407265252787]
[junit4] 1> Above crossings = 0; below crossings = 1
[junit4] 1> Finding whether
[-0.30714981250962886,-0.2184407265252787,0.9262519320737786] is in-set, based
on travel from [X=-0.30714981250962886, Y=0.2184407265252787,
Z=0.9262519320737789] along [A=1.0, B=0.0; C=0.0; D=0.30714981250962886]
(value=-0.30714981250962886)
[junit4] 1> creating sector linear crossing edge iterator
[junit4] 1> Check point in set? false
[junit4] 2> NOTE: reproduce with: ant test -Dtestcase=GeoPolygonTest
-Dtests.method=testLUCENE8512 -Dtests.seed=571E0D8955849CAB -Dtests.slow=true
-Dtests.badapples=true -Dtests.locale=en-GB -Dtests.timezone=Asia/Macau
-Dtests.asserts=true -Dtests.file.encoding=US-ASCII
[junit4] FAILURE 0.17s | GeoPolygonTest.testLUCENE8512 <<<
{code}
> GeoPolygon test failure
> -----------------------
>
> Key: LUCENE-8512
> URL: https://issues.apache.org/jira/browse/LUCENE-8512
> Project: Lucene - Core
> Issue Type: Bug
> Components: modules/spatial3d
> Reporter: Ignacio Vera
> Assignee: Karl Wright
> Priority: Major
> Attachments: LUCENE-8512.patch
>
>
>
> {code:java}
> [junit4] 2> NOTE: reproduce with: ant test
> -Dtestcase=RandomGeoPolygonTest -Dtests.method=testCompareSmallPolygons
> -Dtests.seed=7BA5F34669E15F97 -Dtests.slow=true -Dtests.badapples=true
> -Dtests.locale=es-CU -Dtests.timezone=America/La_Paz -Dtests.asserts=true
> -Dtests.file.encoding=UTF8
> [junit4] FAILURE 0.01s | RandomGeoPolygonTest.testCompareSmallPolygons
> {seed=[7BA5F34669E15F97:F73170EC892310D]} <<<
> [junit4] > Throwable #1: java.lang.AssertionError: Test point1 not
> correctly in/out of set according to test point2
> [junit4] > at
> __randomizedtesting.SeedInfo.seed([7BA5F34669E15F97:F73170EC892310D]:0)
> [junit4] > at
> org.apache.lucene.spatial3d.geom.GeoComplexPolygon.<init>(GeoComplexPolygon.java:239)
> [junit4] > at
> org.apache.lucene.spatial3d.geom.GeoPolygonFactory$BestShape.createGeoComplexPolygon(GeoPolygonFactory.java:465)
> [junit4] > at
> org.apache.lucene.spatial3d.geom.GeoPolygonFactory.makeLargeGeoPolygon(GeoPolygonFactory.java:389)
> [junit4] > at
> org.apache.lucene.spatial3d.geom.GeoPolygonFactory.makeGeoPolygon(GeoPolygonFactory.java:226)
> [junit4] > at
> org.apache.lucene.spatial3d.geom.GeoPolygonFactory.makeGeoPolygon(GeoPolygonFactory.java:142)
> [junit4] > at
> org.apache.lucene.spatial3d.geom.RandomGeoPolygonTest.testComparePolygons(RandomGeoPolygonTest.java:157)
> [junit4] > at
> org.apache.lucene.spatial3d.geom.RandomGeoPolygonTest.testCompareSmallPolygons(RandomGeoPolygonTest.java:109)
> [junit4] > at
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> [junit4] > at
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> [junit4] > at
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> [junit4] > at java.base/java.lang.reflect.Method.invoke(Method.java:564)
> [junit4] > at java.base/java.lang.Thread.run(Thread.java:844)
> [junit4] OK 0.34s | RandomGeoPolygonTest.testCompareSmallPolygons
> {seed=[7BA5F34669E15F97:3DDFF260BF592657]}
> [junit4] OK 0.35s | RandomGeoPolygonTest.testCompareSmallPolygons
> {seed=[7BA5F34669E15F97:EA54A4DADB0E1105]}
> [junit4] 2> NOTE: test params are:
> codec=HighCompressionCompressingStoredFields(storedFieldsFormat=CompressingStoredFieldsFormat(compressionMode=HIGH_COMPRESSION,
> chunkSize=1818, maxDocsPerChunk=791, blockSize=936),
> termVectorsFormat=CompressingTermVectorsFormat(compressionMode=HIGH_COMPRESSION,
> chunkSize=1818, blockSize=936)), sim=RandomSimilarity(queryNorm=false): {},
> locale=es-CU, timezone=America/La_Paz{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]