Opened 2 years ago

Closed 2 years ago

#5023 closed defect (fixed)

berrie64 and berrie hanging on garden test "ST_MaximumInscribedCircle with malformed geometries"

Reported by: robe Owned by: robe
Priority: blocker Milestone: PostGIS GEOS
Component: QA/buildbots Version: 3.1.x
Keywords: Cc:

Description (last modified by robe)

berrie64 got swapped out with a newer berrie64 and sadly she is hanging on her garden test run.

00:18:40 PostgreSQL 13.5 on aarch64-unknown-linux-gnu, compiled by gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit
00:18:40   Postgis 3.1.5dev - (77a4e86) - 2021-11-22 05:04:52
00:18:40   scripts 3.1.5dev 77a4e86
00:18:40   raster scripts 3.1.5dev 77a4e86
00:18:40   GEOS: 3.9.0-CAPI-1.16.2
00:18:40   PROJ: 7.2.1
00:18:40   GDAL: GDAL 3.2.2, released 2021/03/05
00:18:40 
00:26:22 -------------------------------------------------
00:26:22 Regression tests in progress (it will take time)
00:26:22 Result output: ./regress/postgis_garden_result.txt
00:26:22 -------------------------------------------------
00:26:22 psql --no-psqlrc -ad postgis_garden < ../doc/postgis_gardentest_31.sql > postgis_garden_result.txt 2>&1
17:07:08 make[1]: *** [Makefile:100: garden] Error 2
17:07:08 make[1]: Leaving directory '/home/jenkins/workspace/PostGIS_Worker_Run/label/berrie64/77a4e86e2a22432d6bd56b424d8a48517d91f317/regress'
17:07:08 make: *** [GNUmakefile:115: garden] Error 2
17:07:08 Build step 'Execute shell' marked build as failure

also on PostGIS 3.2 /PG 14

19:53:33 PostgreSQL 14.1 on aarch64-unknown-linux-gnu, compiled by gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit
19:53:33   Postgis 3.2.0dev - (677d201) - 2021-11-21 00:40:23
19:53:33   scripts 3.2.0dev 677d201
19:53:33   raster scripts 3.2.0dev 677d201
19:53:33   GEOS: 3.9.0-CAPI-1.16.2
19:53:33   PROJ: 7.2.1
19:53:33   GDAL: GDAL 3.2.2, released 2021/03/05

20:00:26 -------------------------------------------------
20:00:26 Regression tests in progress (it will take time)
20:00:26 Result output: ./regress/postgis_garden_result.txt
20:00:26 -------------------------------------------------
20:00:26 psql --no-psqlrc -ad postgis_garden < ../doc/postgis_gardentest_32.sql > postgis_garden_result.txt 2>&1
22:21:32 make[1]: *** [Makefile:100: garden] Error 2
22:21:32 make[1]: Leaving directory '/home/jenkins/workspace/PostGIS_Worker_Run/label/berrie64/677d2019a7b7da0f4a6b63eac22dd607ffd72a83/regress'
22:21:32 make: *** [GNUmakefile:115: garden] Error 2
22:21:32 Build step 'Execute shell' marked build as failure
22:21:38 Finished: FAILURE

I'll update with forensics after I have checked the forensics

Change History (12)

comment:1 by robe, 2 years ago

okay the offensive query is this one:

SELECT ST_MaximumInscribedCircle(foo1.the_geom)  As result
							FROM ((SELECT ST_MakePolygon(ST_GeomFromText('LINESTRING(1 2, 1 2,1 2, 1 2)',4326)) As the_geom
			UNION ALL SELECT ST_MakePolygon(ST_GeomFromText('LINESTRING(1 2, 1 2,1 2, 1 2, 3 2, 1 2)',4326)) As the_geom ) ) As foo1 LIMIT 10;

Works fine on my system:

POSTGIS="3.2.0dev 3.2.0beta1-24-g677d2019a" [EXTENSION] PGSQL="140" GEOS="3.10.0-CAPI-1.16.0" PROJ="7.2.1" GDAL="GDAL 3.3.3, released 2021/10/25" LIBXML="2.9.9" LIBJSON="0.12" LIBPROTOBUF="1.2.1" WAGYU="0.5.0 (Internal)" (core procs from "3.2.0dev 3.2.0beta1-18-g085cc7f04" need upgrade) TOPOLOGY (topology procs from "3.2.0dev 3.2.0beta1-21-g530f7c88c" need upgrade) RASTER (raster procs from "3.2.0dev 3.2.0beta1-18-g085cc7f04" need upgrade)

, so could be a GEOS 3.9.0 bug fixed in later GEOS.

Version 0, edited 2 years ago by robe (next)

comment:2 by robe, 2 years ago

Summary: berrie64 failing on garden testsberrie64 failing on garden tests ST_MaximumInscribedCircle with malformed geometries

comment:3 by robe, 2 years ago

okay not that — just recompiled 3.2 with GEOS 3.9

I'll try 3.1 next

POSTGIS="3.2.0dev 3.2.0beta1-25-g540e03f0e" [EXTENSION] PGSQL="140" GEOS="3.9.0-CAPI-1.14.1" PROJ="7.2.1" GDAL="GDAL 3.3.3, released 2021/10/25" LIBXML="2.9.9" LIBJSON="0.12" LIBPROTOBUF="1.2.1" WAGYU="0.5.0 (Internal)" TOPOLOGY RASTER

No error.

comment:4 by robe, 2 years ago

okay just tried against 3.1 branch and no issues there either:

POSTGIS="3.1.5dev 3.1.4-17-g77a4e86e2" [EXTENSION] PGSQL="140" GEOS="3.9.0-CAPI-1.14.1" SFCGAL="1.3.10" PROJ="7.2.1" GDAL="GDAL 3.3.3, released 2021/10/25" LIBXML="2.9.9" LIBJSON="0.12" LIBPROTOBUF="1.2.1" WAGYU="0.5.0 (Internal)" TOPOLOGY RASTER
            

can't imagine it's a PG13 issue. I'll run thru the garden tests later.

comment:5 by robe, 2 years ago

Description: modified (diff)

comment:6 by Regina Obe <lr@…>, 2 years ago

In dc22c96/git:

Flip to have berrie do garden test and berrie64 to not do garden tests. References #5023 for PostGIS 3.2

comment:7 by robe, 2 years ago

Same issue on berrie (32-bit Raspberry Pi arm). So my conclusion is it must be an ARM / GEOS ≥ 3.9+. I'm going to check against the GEOS built by berrie instead of using the system provided (3.9.0) and see if perhaps it's fixed in newer GEOS. and get a backtrace.

FWIW, it isn't failing. It's going into some sort of infinite loop.

comment:8 by robe, 2 years ago

Summary: berrie64 failing on garden tests ST_MaximumInscribedCircle with malformed geometriesberrie64 and berrie hanging on garden test "ST_MaximumInscribedCircle with malformed geometries"

comment:9 by robe, 2 years ago

Sadly, seems to still hang with latest GEOS. I'm going to commit my changes soon to both geos and postgis, to have the berries build against latest head of GEOS so we can monitor this issue.

https://debbie.postgis.net/job/PostGIS_Worker_Run/2973/label=berrie/consoleFull

22:14:08  -------------- Dependencies -------------- 
22:14:08   GEOS config:          /home/jenkins/workspace/geos/rel-3.11.0/bin/geos-config
22:14:08   GEOS version:         3.11.0dev
22:14:08   GDAL config:          /usr/bin/gdal-config
22:14:08   GDAL version:         3.2.2
22:14:08   PostgreSQL config:    /home/jenkins/workspace/pg/label/berrie/rel/pg14w32/bin/pg_config
22:14:08   PostgreSQL version:   PostgreSQL 14.1
22:14:08   PROJ4 version:        72
22:14:08   Libxml2 config:       /usr/bin/xml2-config
22:14:08   Libxml2 version:      2.9.10
22:14:08   JSON-C support:       yes
22:14:08   protobuf support:     no
22:14:08   PCRE support:         yes
22:14:08   Perl:                 /usr/bin/perl

comment:10 by pramsey, 2 years ago

"Good" news, I'm getting an infinite loop on MacOS, on GEOS main, I have it down to

select ST_MaximumInscribedCircle('POLYGON((1 2,1 2,1 2,1 2,3 2,1 2))');

Going to pull it back into a GEOS unit test now.

comment:11 by pramsey, 2 years ago

Fixed in GEOS and back ported into 3.9 and 3.10.

comment:12 by robe, 2 years ago

Milestone: PostGIS 3.1.5PostGIS GEOS
Resolution: fixed
Status: newclosed

I'm going to close this out and will trigger berrie64 to do gardens as well if berrie stops hanging after building new geos.

Note: See TracTickets for help on using tickets.