Opened 8 months ago

Last modified 8 months ago

#5612 new defect

Regression failure with CG_Visibility

Reported by: robe Owned by: lbartoletti
Priority: medium Milestone: PostGIS 3.5.0
Component: sfcgal Version: master
Keywords: Cc:

Description

This is only relevant for systems running SFCGAL 1.5.0+ and related to commit of https://git.osgeo.org/gitea/postgis/postgis/pulls/156

On GHA all the runners running SFCGAL master and CGAL 4.6 are failing regression

 Visibility point in polygon|POLYGON((3 2,1 2,0 4,0 0,3 2))
 Visibility point in polygon with hole|POLYGON((0 1.67,0.2 1.8,0.9 1.8,1.93 1.29,3 2,1 2,0 4,0 1.67))
-Visibility segment in polygon|POLYGON((1 2,0 4,0 0,4 0,4 4,1 2))
+Visibility segment in polygon|POLYGON((1 2,0 4,1 0,4 4,4 0,4 4,1 2))
 Visibility segment in polygon with hole|POLYGON((19 -2,12 6,14 14,10.43 7.57,11 7,11 6,10 6,9.56 6,9 5,1 2,4.67 2.33,8 4,10 3,9.87 2.81,12 3,19 -2))

On winnie, I don't know if a fluke or what, but PG16 is passing fine https://winnie.postgis.net/job/PostGIS_EDB_Regress_winnie/17940/consoleFull , and it's running SFCGAL 1.5.0 released, CGAL 4.6 released

the PG15 is running the exact same copy of the SFCGAL/CGAL (they are pointing at the same files), but the PG15 run is failing with same issue as the GHAs that are running against master SFCGAL

https://winnie.postgis.net/job/PostGIS_EDB_Regress_winnie/17941/consoleFull

 ./sfcgal/regress/visibility .. failed (diff expected obtained: /projects/postgis/tmp/3.5.0dev_pg15_geos3.13_gdal3.7.1w64/test_172_diff)
-----------------------------------------------------------------------------
--- ./sfcgal/regress/visibility_expected	2023-11-15 01:06:51.527511000 -0500
+++ /projects/postgis/tmp/3.5.0dev_pg15_geos3.13_gdal3.7.1w64/test_172_out	2023-11-15 14:13:33.448220200 -0500
@@ -1,4 +1,4 @@
 Visibility point in polygon|POLYGON((3 2,1 2,0 4,0 0,3 2))
 Visibility point in polygon with hole|POLYGON((0 1.67,0.2 1.8,0.9 1.8,1.93 1.29,3 2,1 2,0 4,0 1.67))
-Visibility segment in polygon|POLYGON((1 2,0 4,0 0,4 0,4 4,1 2))
+Visibility segment in polygon|POLYGON((1 2,4 4,4 0,4 4,4 0,0 4,1 2))
 Visibility segment in polygon with hole|POLYGON((19 -2,12 6,14 14,10.43 7.57,11 7,11 6,10 6,9.56 6,9 5,1 2,4.67 2.33,8 4,10 3,9.87 2.81,12 3,19 -2))
-----------------------------------------------------------------------------

The polygons are definitely different.

Change History (4)

comment:1 by robe, 8 months ago

okay even more info. On winnie, I noticed the PG14 and PG13 did finish and they succeeded. So seems unlike PG version is to blame here, which makes me thing this is just an unstable test.

I'm retesting winnie now to see if I can make the test fail on PG14 when it passed fine.

comment:2 by robe, 8 months ago

ON a side note, the images aren't showing. I should have checked that. My guess is the images config wasn't updated https://postgis.net/docs/manual-dev/en/CG_Visibility.html

comment:3 by robe, 8 months ago

The PG14 second time around failed, so even on the same system, it seems unpredictable. https://winnie.postgis.net/job/PostGIS_EDB_Regress_winnie/17944/consoleFull

-----------------------------------------------------------------------------
--- ./sfcgal/regress/visibility_expected	2023-11-15 01:06:51.527511000 -0500
+++ /projects/postgis/tmp/3.5.0dev_pg14_geos3.13_gdal3.7.1w64/test_172_out	2023-11-15 19:50:42.347402200 -0500
@@ -1,4 +1,4 @@
 Visibility point in polygon|POLYGON((3 2,1 2,0 4,0 0,3 2))
 Visibility point in polygon with hole|POLYGON((0 1.67,0.2 1.8,0.9 1.8,1.93 1.29,3 2,1 2,0 4,0 1.67))
-Visibility segment in polygon|POLYGON((1 2,0 4,0 0,4 0,4 4,1 2))
+Visibility segment in polygon|POLYGON((1 2,4 4,4 0,4 4,2 0,0 4,1 2))
 Visibility segment in polygon with hole|POLYGON((19 -2,12 6,14 14,10.43 7.57,11 7,11 6,10 6,9.56 6,9 5,1 2,4.67 2.33,8 4,10 3,9.87 2.81,12 3,19 -2))
-----------------------------------------------------------------------------

Which is different from the other unexpected answer I got on the failed PG16 run and different from the GHA Debian bookworm runs

Expected:            Visibility segment in polygon|POLYGON((1 2,0 4,0 0,4 0,4 4,1 2))
Windows PG14 result: Visibility segment in polygon|POLYGON((1 2,4 4,4 0,4 4,2 0,0 4,1 2))
Windows PG16 result: Visibility segment in polygon|POLYGON((1 2,4 4,4 0,4 4,4 0,0 4,1 2))
GHA PG16     result: Visibility segment in polygon|POLYGON((1 2,0 4,1 0,4 4,4 0,4 4,1 2))

comment:4 by robe, 8 months ago

I took the test out for now at [5fefa43d3/git] so we can get back to a green state.

We can put the test back once the issue has been resolved.

Note: See TracTickets for help on using tickets.