Opened 4 years ago
Closed 3 years ago
#4864 closed defect (fixed)
addedge test failure
Reported by: | pramsey | Owned by: | strk |
---|---|---|---|
Priority: | high | Milestone: | PostGIS 3.2.0 |
Component: | topology | Version: | master |
Keywords: | Cc: |
Description
This is against master postgis and master geos.
POSTGIS="3.2.0dev 3.1.0rc1-104-g29e1db134" PGSQL="130" GEOS="3.10.0dev-CAPI-1.15.0" PROJ="8.0.0" LIBXML="2.9.4" LIBJSON="0.15" LIBPROTOBUF="1.3.3" WAGYU="0.5.0 (Internal)"
The regression seems to be an ordering thing
--- ./regress/addedge_expected 2019-11-28 14:49:43.000000000 -0800 +++ /tmp/pgis_reg/test_1_out 2021-03-01 13:49:19.000000000 -0800 @@ -17,8 +17,8 @@ e6|6 #770-1|7 #770-2|8 -ERROR: Edge intersects (not on endpoints) with existing edge 7 at or near point POINT(8 10) -ERROR: Edge intersects (not on endpoints) with existing edge 7 at or near point POINT(8 10) +ERROR: Edge intersects (not on endpoints) with existing edge 7 at or near point POINT(10 12) +ERROR: Edge intersects (not on endpoints) with existing edge 7 at or near point POINT(10 12) ERROR: Edge intersects (not on endpoints) with existing edge 7 at or near point POINT(10 12) #770-1*|7 1|0|0|-1|1|LINESTRING(0 0,8 0)
I find the topology tests completely opaque, so I am opening here.
Change History (8)
comment:1 by , 4 years ago
comment:2 by , 4 years ago
Component: | postgis → topology |
---|
Yap same issue on debbie:
13:59:16 ----------------------------------------------------------------------------- 13:59:16 --- ./topology/test/regress/addedge_expected 2020-12-16 21:48:07.643162886 +0000 13:59:16 +++ /var/lib/jenkins/workspace/postgis/tmp/3_2_pg14w64/test_145_out 2021-03-02 18:59:16.058094181 +0000 13:59:16 @@ -17,8 +17,8 @@ 13:59:16 e6|6 13:59:16 #770-1|7 13:59:16 #770-2|8 13:59:16 -ERROR: Edge intersects (not on endpoints) with existing edge 7 at or near point POINT(8 10) 13:59:16 -ERROR: Edge intersects (not on endpoints) with existing edge 7 at or near point POINT(8 10) 13:59:16 +ERROR: Edge intersects (not on endpoints) with existing edge 7 at or near point POINT(10 12) 13:59:16 +ERROR: Edge intersects (not on endpoints) with existing edge 7 at or near point POINT(10 12) 13:59:16 ERROR: Edge intersects (not on endpoints) with existing edge 7 at or near point POINT(10 12) 13:59:16 #770-1*|7 13:59:16 1|0|0|-1|1|LINESTRING(0 0,8 0) 13:59:16 -----------------------------------------------------------------------------
comment:3 by , 4 years ago
I can't currently build GEOS master so cannot reproduce locally. See https://trac.osgeo.org/geos/ticket/1103 (and the workaround to that bug exposes another build failure so it's not going to be an quick fix for me)
comment:4 by , 4 years ago
It looks like this query changes output with new GEOS:
SELECT ST_AsText(ST_PointOnSurface('MULTIPOINT(8 10, 10 12)'));
Old GEOS returned POINT(8 10)
while newer one returns POINT(10 12)
comment:6 by , 4 years ago
Resolution: | fixed |
---|---|
Status: | closed → reopened |
This needs to be backported to 3.1 and probably 3.0 as well.
Getting this error on 3.1 with GEOS 3.9.2dev
./topology/test/regress/addedge .. failed (diff expected obtained: /projects/postgis/tmp/3.1.1dev_pg13_geos3.9_gdal3.2.0w64/test_143_diff) ----------------------------------------------------------------------------- --- ./topology/test/regress/addedge_expected 2021-03-09 22:31:24.954846700 -0500 +++ /projects/postgis/tmp/3.1.1dev_pg13_geos3.9_gdal3.2.0w64/test_143_out 2021-03-09 22:40:28.949824100 -0500 @@ -17,7 +17,7 @@ e6|6 #770-1|7 #770-2|8 -ERROR: Edge intersects (not on endpoints) with existing edge 7 at or near point POINT(8 10) +ERROR: Edge intersects (not on endpoints) with existing edge 7 at or near point POINT(10 12) ERROR: Edge intersects (not on endpoints) with existing edge 7 at or near point POINT(8 10) ERROR: Edge intersects (not on endpoints) with existing edge 7 at or near point POINT(10 12) #770-1*|7
comment:8 by , 3 years ago
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
I'm assuming this was fixed by the referenced commit above, closing accordingly
We should probably hide the detail of the error, which would mean changing the tests to catch the error and "massage" it before printing. This is assuming we have a double edge/edge intersection, with both old and new points intersecting, and GEOS versions behaving differently regarding to which one is output first (order...)