Opened 16 months ago

Last modified 8 months ago

#5448 new defect

Test failures on i386

Reported by: Bas Couwenberg Owned by: strk
Priority: medium Milestone: PostGIS 3.5.0
Component: QA/testsuite Version: master
Keywords: Cc:

Description (last modified by Bas Couwenberg)

The CI run for the Debian package failed on i386 due to test failures:

 regress/core/geography .. failed (diff expected obtained: /tmp/pgis_reg/test_18_diff)
-----------------------------------------------------------------------------
--- ./regress/core/geography_expected	2023-07-15 11:11:05.000000000 +0000
+++ /tmp/pgis_reg/test_18_out	2023-07-15 11:42:53.723140832 +0000
@@ -58,7 +58,7 @@
 lrs_lip_1|POINT(4.35 50.85)
 lrs_lip_2|POINT(4.35 50.85)
 lrs_lip_3|POINT(37.62 55.76)
-lrs_lip_4|MULTIPOINT((7.22 51.72),(10.23 52.53),(13.37 53.26),(16.63 53.91),(20 54.46),(23.45 54.93),(26.96 55.29),(30.51 55.55),(34.07 55.7),(37.62 55.76))
+lrs_lip_4|MULTIPOINT((7.22 51.72),(10.23 52.53),(13.37 53.26),(16.63 53.91),(20 54.46),(23.45 54.93),(26.96 55.29),(30.51 55.55),(34.07 55.7))
 lrs_llp_1|0.50
 lrs_llp_2|0.00
 lrs_llp_3|1.00
-----------------------------------------------------------------------------
[...]
 regress/core/measures .. failed (diff expected obtained: /tmp/pgis_reg/test_34_diff)
-----------------------------------------------------------------------------
--- ./regress/core/measures_expected	2023-07-15 11:11:05.000000000 +0000
+++ /tmp/pgis_reg/test_34_out	2023-07-15 11:42:56.919134867 +0000
@@ -98,6 +98,6 @@
 st_lineextend.1|LINESTRING(-0.707 -0.707,0 0,1 1,1.707 1.707)
 st_lineextend.2|LINESTRING(-0.707 -0.707,0 0,1 1)
 st_lineextend.3|LINESTRING(0 0,1 1,1.707 1.707)
-st_lineextend.4|LINESTRING(0 0,1 1,1.707 1.707)
+st_lineextend.4|LINESTRING(0 0,1 1,1 1,1 1,1.707 1.707)
 st_lineextend.5|
 ERROR:  Argument must be LINESTRING geometry
-----------------------------------------------------------------------------
[...]
 topology/test/regress/getnodeedges .. failed (diff expected obtained: /tmp/pgis_reg/test_185_diff)
-----------------------------------------------------------------------------
--- ./topology/test/regress/getnodeedges_expected	2023-07-15 11:11:05.000000000 +0000
+++ /tmp/pgis_reg/test_185_out	2023-07-15 11:43:58.771046299 +0000
@@ -1,37 +1,37 @@
 N1|1|1
 N1|2|-1
-N2|1|3
-N2|2|2
-N2|3|-2
+N2|1|2
+N2|2|-2
+N2|3|3
 N3|1|-3
 N5|1|4
-N6|1|-5
-N6|2|-4
+N6|1|-4
+N6|2|-5
 N7|1|5
-N8|1|22
-N8|2|12
-N9|1|20
-N9|2|13
-N9|3|-12
-N10|1|18
-N10|2|14
-N10|3|-13
-N11|1|16
-N11|2|-14
-N12|1|15
-N12|2|-16
-N12|3|-11
-N13|1|17
-N13|2|11
-N13|3|-18
-N13|4|10
-N14|1|19
-N14|2|-10
-N14|3|-20
-N14|4|-9
-N15|1|21
-N15|2|9
-N15|3|-22
+N8|1|12
+N8|2|22
+N9|1|13
+N9|2|-12
+N9|3|20
+N10|1|14
+N10|2|-13
+N10|3|18
+N11|1|-14
+N11|2|16
+N12|1|-16
+N12|2|-11
+N12|3|15
+N13|1|11
+N13|2|-18
+N13|3|10
+N13|4|17
+N14|1|-10
+N14|2|-20
+N14|3|-9
+N14|4|19
+N15|1|9
+N15|2|-22
+N15|3|21
 N16|1|6
 N16|2|-21
 N17|1|7
@@ -42,8 +42,8 @@
 N18|3|-7
 N19|1|-15
 N19|2|-8
-N20|1|-26
-N20|2|26
+N20|1|26
+N20|2|-26
 N21|1|25
 N22|1|-25
 Topology 'city_data' dropped
-----------------------------------------------------------------------------
[...]
 topology/test/regress/legacy_invalid .. failed (diff expected obtained: /tmp/pgis_reg/test_190_diff)
-----------------------------------------------------------------------------
--- ./topology/test/regress/legacy_invalid_expected	2023-07-15 11:11:05.000000000 +0000
+++ /tmp/pgis_reg/test_190_out	2023-07-15 11:44:00.843043387 +0000
@@ -20,7 +20,7 @@
 invalid next_left_edge|6|29
 invalid next_left_edge|18|-27
 invalid next_left_edge|27|10
-invalid next_left_edge|29|-33
+invalid next_left_edge|29|31
 invalid next_left_edge|30|-3
 invalid next_left_edge|31|-28
 invalid next_left_edge|33|33
@@ -28,7 +28,8 @@
 invalid next_right_edge|27|-22
 invalid next_right_edge|28|-30
 invalid next_right_edge|29|7
-invalid next_right_edge|33|31
+invalid next_right_edge|31|-33
+invalid next_right_edge|33|-31
 #4936|missing_count|1
 #4936|missing|face without edges|10|
 Topology 'invalid_topology' dropped
-----------------------------------------------------------------------------
[...]
make[2]: *** [regress/runtest.mk:24: check-regress] Error 4
make[2]: Leaving directory '/builds/debian-gis-team/postgis/debian/output/source_dir'
*** /tmp/pg_virtualenv.EruFGH/log/postgresql-15-regress.log (last 100 lines) ***
2023-07-15 11:44:41.895 UTC [27239] salsaci@postgis_reg-3.4 ERROR:  Band at index '2' not found for raster '2'
2023-07-15 11:44:41.895 UTC [27239] salsaci@postgis_reg-3.4 CONTEXT:  PL/pgSQL function st_grayscale(rastbandarg[],text) line 41 at RAISE
	PL/pgSQL function st_grayscale(raster,integer,integer,integer,text) line 5 at RETURN
2023-07-15 11:44:41.895 UTC [27239] salsaci@postgis_reg-3.4 STATEMENT:  SELECT
		ST_Grayscale(rast)
	FROM raster_grayscale_in
	ORDER BY rid
	LIMIT 1;
2023-07-15 11:44:41.895 UTC [27239] salsaci@postgis_reg-3.4 ERROR:  Band at index '2' not found for raster '2'
2023-07-15 11:44:41.895 UTC [27239] salsaci@postgis_reg-3.4 CONTEXT:  PL/pgSQL function st_grayscale(rastbandarg[],text) line 41 at RAISE
2023-07-15 11:44:41.895 UTC [27239] salsaci@postgis_reg-3.4 STATEMENT:  SELECT
		ST_Grayscale(
			ARRAY[
				ROW(rast, 1)::rastbandarg,
				ROW(rast, 2)::rastbandarg,
				ROW(rast, 1)::rastbandarg
			]::rastbandarg[]
		)
	FROM raster_grayscale_in
	ORDER BY rid
	LIMIT 1;
2023-07-15 11:44:43.194 UTC [27287] salsaci@postgis_reg-3.4 ERROR:  Tolerance cannot be less than zero
	
2023-07-15 11:44:43.194 UTC [27287] salsaci@postgis_reg-3.4 STATEMENT:  SELECT
		'2.2',
		r1.rid,
		r2.rid,
		-1 AS distance,
		ST_DWithin(r1.rast, NULL, r2.rast, NULL, -1)
	FROM raster_geos_rast r1
	CROSS JOIN raster_geos_rast r2
	WHERE r1.rid = 0;
2023-07-15 11:44:43.199 UTC [27287] salsaci@postgis_reg-3.4 ERROR:  Tolerance cannot be less than zero
	
2023-07-15 11:44:43.199 UTC [27287] salsaci@postgis_reg-3.4 STATEMENT:  SELECT
		'2.4',
		r1.rid,
		r2.rid,
		-1 AS distance,
		ST_DFullyWithin(r1.rast, NULL, r2.rast, NULL, -1)
	FROM raster_geos_rast r1
	CROSS JOIN raster_geos_rast r2
	WHERE r1.rid = 0;
ERROR 4: `/vsimem/in.dat' not recognized as a supported file format.
2023-07-15 11:44:44.638 UTC [27323] salsaci@postgis_reg-3.4 ERROR:  RASTER_fromGDALRaster: Could not open bytea with GDAL. Check that the bytea is of a GDAL supported format
2023-07-15 11:44:44.638 UTC [27323] salsaci@postgis_reg-3.4 STATEMENT:  SELECT convert_from(ST_AsGDALRaster(ST_FromGDALRaster('<VRTDataset rasterXSize="1000"
	rasterYSize="1"><VRTRasterBand band="1"
	subClass="VRTRawRasterBand"><SourceFilename>/etc/passwd</SourceFilename></VRTRasterBand></VRTDataset>'::bytea),
	'EHDR')::bytea, 'LATIN1');
ERROR 4: <VRTDataset rasterXSize="1000" rasterYSize="1"><VRTRasterBand band="1" subClass="VRTRawRasterBand"><SourceFilename>/etc/passwd</SourceFilename></VRTRasterBand></VRTDataset>: No such file or directory
2023-07-15 11:44:44.641 UTC [27323] salsaci@postgis_reg-3.4 ERROR:  rt_band_load_offline_data: Cannot open offline raster: <VRTDataset rasterXSize="1000" rasterYSize="1"><VRTRasterBand band="1" subClass="VRTRawRasterBand"><SourceFilename>/etc/passwd</SourceFilename></VRTRasterBand></VRTDataset>
2023-07-15 11:44:44.641 UTC [27323] salsaci@postgis_reg-3.4 STATEMENT:  SELECT count(convert_from(ST_AsGDALRaster(r, 'EHDR')::bytea, 'LATIN1')) as passwd from raster_test where lbl = 'passwd';
ERROR 4: <VRTDataset rasterXSize="1000" rasterYSize="1"><VRTRasterBand band="1" subClass="VRTRawRasterBand"><SourceFilename>/etc/passwd</SourceFilename></VRTRasterBand></VRTDataset>: No such file or directory
2023-07-15 11:44:44.642 UTC [27323] salsaci@postgis_reg-3.4 ERROR:  rt_band_load_offline_data: Cannot open offline raster: <VRTDataset rasterXSize="1000" rasterYSize="1"><VRTRasterBand band="1" subClass="VRTRawRasterBand"><SourceFilename>/etc/passwd</SourceFilename></VRTRasterBand></VRTDataset>
2023-07-15 11:44:44.642 UTC [27323] salsaci@postgis_reg-3.4 STATEMENT:  SELECT count(convert_from(ST_AsGDALRaster(r, 'EHDR')::bytea, 'LATIN1')) as passwd from raster_test where lbl = 'passwd';
ERROR 4: <VRTDataset rasterXSize="1000" rasterYSize="1"><VRTRasterBand band="1" subClass="VRTRawRasterBand"><SourceFilename>/etc/passwd</SourceFilename></VRTRasterBand></VRTDataset>: No such file or directory
2023-07-15 11:44:44.650 UTC [27323] salsaci@postgis_reg-3.4 ERROR:  rt_band_load_offline_data: Cannot open offline raster: <VRTDataset rasterXSize="1000" rasterYSize="1"><VRTRasterBand band="1" subClass="VRTRawRasterBand"><SourceFilename>/etc/passwd</SourceFilename></VRTRasterBand></VRTDataset>
2023-07-15 11:44:44.650 UTC [27323] salsaci@postgis_reg-3.4 STATEMENT:  SELECT count(convert_from(ST_AsGDALRaster(r, 'EHDR')::bytea, 'LATIN1')) as passwd from raster_test where lbl = 'passwd';
ERROR 4: <VRTDataset rasterXSize="1000" rasterYSize="1"><VRTRasterBand band="1" subClass="VRTRawRasterBand"><SourceFilename>/etc/passwd</SourceFilename></VRTRasterBand></VRTDataset>: No such file or directory
2023-07-15 11:44:44.650 UTC [27323] salsaci@postgis_reg-3.4 ERROR:  rt_band_load_offline_data: Cannot open offline raster: <VRTDataset rasterXSize="1000" rasterYSize="1"><VRTRasterBand band="1" subClass="VRTRawRasterBand"><SourceFilename>/etc/passwd</SourceFilename></VRTRasterBand></VRTDataset>
2023-07-15 11:44:44.650 UTC [27323] salsaci@postgis_reg-3.4 STATEMENT:  SELECT count(convert_from(ST_AsGDALRaster(r, 'EHDR')::bytea, 'LATIN1')) as passwd from raster_test where lbl = 'passwd';
2023-07-15 11:44:44.867 UTC [27335] salsaci@postgis_reg-3.4 WARNING:  Unable to add constraint: 'scale_x'.  Skipping
2023-07-15 11:44:44.867 UTC [27335] salsaci@postgis_reg-3.4 CONTEXT:  PL/pgSQL function addrasterconstraints(name,name,name,text[]) line 113 at RAISE
2023-07-15 11:44:44.871 UTC [27335] salsaci@postgis_reg-3.4 ERROR:  new row for relation "test_raster_scale_regular" violates check constraint "enforce_scaley_rast"
2023-07-15 11:44:44.871 UTC [27335] salsaci@postgis_reg-3.4 DETAIL:  Failing row contains (3, 01000001006ABC74931804F03FCB1A50CAFFFFEF3F0000000000000000000000...).
2023-07-15 11:44:44.871 UTC [27335] salsaci@postgis_reg-3.4 CONTEXT:  SQL statement "INSERT INTO test_raster_scale_regular VALUES ('3', '01000001006ABC74931804F03FCB1A50CAFFFFEF3F00000000000000000000000000000000000000000000000000000000000000000000000002000200440001010101')"
	PL/pgSQL function make_test_raster(text,integer,double precision,double precision) line 16 at EXECUTE
2023-07-15 11:44:44.871 UTC [27335] salsaci@postgis_reg-3.4 STATEMENT:  SELECT make_test_raster('regular', 3, 1.001, 0.9999999);
2023-07-15 11:44:44.875 UTC [27335] salsaci@postgis_reg-3.4 ERROR:  new row for relation "test_raster_scale_big" violates check constraint "enforce_scalex_rast"
2023-07-15 11:44:44.875 UTC [27335] salsaci@postgis_reg-3.4 DETAIL:  Failing row contains (1, 0100000100E1639D31956AE5C3000000000000F03F0000000000000000000000...).
2023-07-15 11:44:44.875 UTC [27335] salsaci@postgis_reg-3.4 CONTEXT:  SQL statement "INSERT INTO test_raster_scale_big VALUES ('1', '0100000100E1639D31956AE5C3000000000000F03F00000000000000000000000000000000000000000000000000000000000000000000000002000200440001010101')"
	PL/pgSQL function make_test_raster(text,integer,double precision,double precision) line 16 at EXECUTE
2023-07-15 11:44:44.875 UTC [27335] salsaci@postgis_reg-3.4 STATEMENT:  SELECT make_test_raster('big', 1, -12345678901234567890.0);
2023-07-15 11:44:44.876 UTC [27335] salsaci@postgis_reg-3.4 WARNING:  Unable to add constraint: 'scale_x'.  Skipping
2023-07-15 11:44:44.876 UTC [27335] salsaci@postgis_reg-3.4 CONTEXT:  PL/pgSQL function addrasterconstraints(name,name,name,text[]) line 113 at RAISE
2023-07-15 11:44:44.879 UTC [27335] salsaci@postgis_reg-3.4 ERROR:  new row for relation "test_raster_scale_small" violates check constraint "enforce_scaley_rast"
2023-07-15 11:44:44.879 UTC [27335] salsaci@postgis_reg-3.4 DETAIL:  Failing row contains (3, 0100000100F168E388B5F8E43E72C45A7C0A00F03F0000000000000000000000...).
2023-07-15 11:44:44.879 UTC [27335] salsaci@postgis_reg-3.4 CONTEXT:  SQL statement "INSERT INTO test_raster_scale_small VALUES ('3', '0100000100F168E388B5F8E43E72C45A7C0A00F03F00000000000000000000000000000000000000000000000000000000000000000000000002000200440001010101')"
	PL/pgSQL function make_test_raster(text,integer,double precision,double precision) line 16 at EXECUTE
2023-07-15 11:44:44.879 UTC [27335] salsaci@postgis_reg-3.4 STATEMENT:  SELECT make_test_raster('small', 3, 0.00001, 1.00001);
2023-07-15 11:44:44.901 UTC [27335] salsaci@postgis_reg-3.4 WARNING:  Unable to add constraint: 'blocksize_x'.  Skipping
2023-07-15 11:44:44.901 UTC [27335] salsaci@postgis_reg-3.4 CONTEXT:  PL/pgSQL function addrasterconstraints(name,name,name,text[]) line 113 at RAISE
	PL/pgSQL function addrasterconstraints(name,name,name,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean) line 53 at RETURN
2023-07-15 11:44:44.901 UTC [27335] salsaci@postgis_reg-3.4 WARNING:  Unable to add constraint: 'blocksize_y'.  Skipping
2023-07-15 11:44:44.901 UTC [27335] salsaci@postgis_reg-3.4 CONTEXT:  PL/pgSQL function addrasterconstraints(name,name,name,text[]) line 113 at RAISE
	PL/pgSQL function addrasterconstraints(name,name,name,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean) line 53 at RETURN
2023-07-15 11:44:44.901 UTC [27335] salsaci@postgis_reg-3.4 WARNING:  Unable to add constraint: 'pixel_types'.  Skipping
2023-07-15 11:44:44.901 UTC [27335] salsaci@postgis_reg-3.4 CONTEXT:  PL/pgSQL function addrasterconstraints(name,name,name,text[]) line 113 at RAISE
	PL/pgSQL function addrasterconstraints(name,name,name,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean) line 53 at RETURN
2023-07-15 11:44:44.902 UTC [27335] salsaci@postgis_reg-3.4 WARNING:  Unable to add constraint: 'nodata_values'.  Skipping
2023-07-15 11:44:44.902 UTC [27335] salsaci@postgis_reg-3.4 CONTEXT:  PL/pgSQL function addrasterconstraints(name,name,name,text[]) line 113 at RAISE
	PL/pgSQL function addrasterconstraints(name,name,name,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean) line 53 at RETURN
2023-07-15 11:44:44.902 UTC [27335] salsaci@postgis_reg-3.4 WARNING:  Unable to add constraint: 'out_db'.  Skipping
2023-07-15 11:44:44.902 UTC [27335] salsaci@postgis_reg-3.4 CONTEXT:  PL/pgSQL function addrasterconstraints(name,name,name,text[]) line 113 at RAISE
	PL/pgSQL function addrasterconstraints(name,name,name,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean) line 53 at RETURN
2023-07-15 11:44:44.902 UTC [27335] salsaci@postgis_reg-3.4 WARNING:  Unable to add constraint: 'extent'.  Skipping
2023-07-15 11:44:44.902 UTC [27335] salsaci@postgis_reg-3.4 CONTEXT:  PL/pgSQL function addrasterconstraints(name,name,name,text[]) line 113 at RAISE
	PL/pgSQL function addrasterconstraints(name,name,name,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean) line 53 at RETURN
2023-07-15 11:44:50.534 UTC [20328] LOG:  checkpoint starting: immediate force wait
2023-07-15 11:44:50.536 UTC [20328] LOG:  checkpoint complete: wrote 56 buffers (0.3%); 0 WAL file(s) added, 0 removed, 11 recycled; write=0.001 s, sync=0.001 s, total=0.002 s; sync files=0, longest=0.000 s, average=0.000 s; distance=178357 kB, estimate=178357 kB
Dropping cluster 15/regress ...
make[1]: *** [debian/rules:165: override_dh_auto_test] Error 1

Full buildlog: https://salsa.debian.org/debian-gis-team/postgis/-/jobs/4434289/raw

The build on the i386 buildd likewise failed: https://buildd.debian.org/status/fetch.php?pkg=postgis&arch=i386&ver=3.4.0%7Ebeta1%2Bdfsg-1%7Eexp3&stamp=1689453565&raw=0

Change History (13)

comment:1 by Bas Couwenberg, 16 months ago

Description: modified (diff)

comment:2 by pramsey, 16 months ago

OK, on the ST_LineExtend tests, this is actually coming from the ST_SnapToGrid part. On my machine, that reduces the dupes vertices away, while on the 32bit runner it seems to be failing to snap them.

select st_astext(st_snaptogrid('LINESTRING(0 0,1 1,1 1,1 1)'::geometry, 0.001),3);

comment:3 by Paul Ramsey <pramsey@…>, 16 months ago

In f0d870f0/git:

Add specific repeated point test for ST_SnapToGrid, references #5448

in reply to:  1 comment:4 by robe, 16 months ago

Replying to Bas Couwenberg:

We are unable to replicate this issue on any of our 32-bit bots.

Tried gitlab i386 running Debian 12 (bookworm) https://gitlab.com/postgis/postgis/-/jobs/4731711644 freebsd 12 i386 and raspberry pi Arm32 Debian 11 (bullseye)

So seems to be something more than 32-bit here at issue. Is this like latest unstable not yet released debian?

Version 0, edited 16 months ago by robe (next)

comment:5 by Bas Couwenberg, 16 months ago

This is on Debian unstable with gcc-13 and glibc 2.37.

Reproducing should be easy with an unstable chroot.

You can likely also reproduce this on Fedora 38/39 which is also have newer toolchains.

Last edited 16 months ago by Bas Couwenberg (previous) (diff)

comment:6 by robe, 16 months ago

I'm able to replicate the error, using chroot

Sorry for detail, just for future reference since I never remember these

apt install git-buildpackage
DIST=sid ARCH=i386 git-pbuilder create

sudo cowbuilder --login --basepath /var/cache/pbuilder/base-sid-i386.cow

## Add apt sources
echo "deb http://deb.debian.org/debian/ experimental main contrib non-free" >> /etc/apt/sources.list
echo "deb-src http://deb.debian.org/debian/ experimental main contrib non-free" >> /etc/apt/sources.list
sed -i 's/^#deb-src/deb-src/' /etc/apt/sources.list
apt update

## Install tools you need (vim, less, gdb, etc)

## Get postgis source package
cd /tmp/buildd
apt source -t experimental postgis
cd postgis-*/

## Install build dependencies
apt build-dep postgis

## Delete patch which skips the failing test
apt install quilt

## Build the package
DEB_BUILD_OPTIONS="parallel=3" dpkg-buildpackage -uc -uc 2>&1 | tee ../postgis.build

Are you building with lto by chance. I didn't check that closely but saw a bunch of flto notices. I recall we had issues before with lto when we were shipping 3.3.0 and you disabled that switch as a work-around.

in reply to:  6 comment:7 by Bas Couwenberg, 16 months ago

Replying to robe:

Are you building with lto by chance.

Yes, that's default since dpkg 1.21.0, see: https://wiki.debian.org/ToolChain/LTO

export DEB_BUILD_MAINT_OPTIONS=optimize=-lto

Might be required on i386 then.

We've also enabled it explicitly:

https://salsa.debian.org/debian-gis-team/postgis/-/commit/e42eccd2792a24f81a29e91c12fc295a445f4812

Disabling LTO on i386 does not resolve the issue.

Last edited 16 months ago by Bas Couwenberg (previous) (diff)

comment:8 by Bas Couwenberg, 16 months ago

Just for the record, we're seeing similar test failures for 3.3.4 on i386:

 ./topology/test/regress/getnodeedges .. failed (diff expected obtained: /tmp/pgis_reg/test_184_diff)
-----------------------------------------------------------------------------
--- ./topology/test/regress/getnodeedges_expected       2023-07-28 08:40:49.000000000 +0000
+++ /tmp/pgis_reg/test_184_out  2023-07-28 12:10:06.199532720 +0000
@@ -1,37 +1,37 @@
 N1|1|1
 N1|2|-1
-N2|1|3
-N2|2|2
-N2|3|-2
+N2|1|2
+N2|2|-2
+N2|3|3
 N3|1|-3
 N5|1|4
-N6|1|-5
-N6|2|-4
+N6|1|-4
+N6|2|-5
 N7|1|5
-N8|1|22
-N8|2|12
-N9|1|20
-N9|2|13
-N9|3|-12
-N10|1|18
-N10|2|14
-N10|3|-13
-N11|1|16
-N11|2|-14
-N12|1|15
-N12|2|-16
-N12|3|-11
-N13|1|17
-N13|2|11
-N13|3|-18
-N13|4|10
-N14|1|19
-N14|2|-10
-N14|3|-20
-N14|4|-9
-N15|1|21
-N15|2|9
-N15|3|-22
+N8|1|12
+N8|2|22
+N9|1|13
+N9|2|-12
+N9|3|20
+N10|1|14
+N10|2|-13
+N10|3|18
+N11|1|-14
+N11|2|16
+N12|1|-16
+N12|2|-11
+N12|3|15
+N13|1|11
+N13|2|-18
+N13|3|10
+N13|4|17
+N14|1|-10
+N14|2|-20
+N14|3|-9
+N14|4|19
+N15|1|9
+N15|2|-22
+N15|3|21
 N16|1|6
 N16|2|-21
 N17|1|7
@@ -42,8 +42,8 @@
 N18|3|-7
 N19|1|-15
 N19|2|-8
-N20|1|-26
-N20|2|26
+N20|1|26
+N20|2|-26
 N21|1|25
 N22|1|-25
 Topology 'city_data' dropped
-----------------------------------------------------------------------------
[...]
 ./topology/test/regress/legacy_invalid .. failed (diff expected obtained: /tmp/pgis_reg/test_189_diff)
-----------------------------------------------------------------------------
--- ./topology/test/regress/legacy_invalid_expected     2023-07-28 08:40:49.000000000 +0000
+++ /tmp/pgis_reg/test_189_out  2023-07-28 12:10:08.171532602 +0000
@@ -20,7 +20,7 @@
 invalid next_left_edge|6|29
 invalid next_left_edge|18|-27
 invalid next_left_edge|27|10
-invalid next_left_edge|29|-33
+invalid next_left_edge|29|31
 invalid next_left_edge|30|-3
 invalid next_left_edge|31|-28
 invalid next_left_edge|33|33
@@ -28,7 +28,8 @@
 invalid next_right_edge|27|-22
 invalid next_right_edge|28|-30
 invalid next_right_edge|29|7
-invalid next_right_edge|33|31
+invalid next_right_edge|31|-33
+invalid next_right_edge|33|-31
 #4936|missing_count|1
 #4936|missing|face without edges|10|
 Topology 'invalid_topology' dropped
-----------------------------------------------------------------------------
[...]
Run tests: 324
Failed: 2
make[2]: *** [regress/runtest.mk:24: check-regress] Error 2
make[2]: Leaving directory '/build/postgis-3.3.4+dfsg'
*** /tmp/pg_virtualenv.ctfHfk/log/postgresql-15-regress.log (last 100 lines) ***
2023-07-28 12:10:49.171 UTC [1423800] pbuilder@postgis_reg-3.3 ERROR:  Band at index '2' not found for raster '2'
2023-07-28 12:10:49.171 UTC [1423800] pbuilder@postgis_reg-3.3 CONTEXT:  PL/pgSQL function st_grayscale(rastbandarg[],text) line 41 at RAISE
        PL/pgSQL function st_grayscale(raster,integer,integer,integer,text) line 5 at RETURN
2023-07-28 12:10:49.171 UTC [1423800] pbuilder@postgis_reg-3.3 STATEMENT:  SELECT
                ST_Grayscale(rast)
        FROM raster_grayscale_in
        ORDER BY rid
        LIMIT 1;
2023-07-28 12:10:49.171 UTC [1423800] pbuilder@postgis_reg-3.3 ERROR:  Band at index '2' not found for raster '2'
2023-07-28 12:10:49.171 UTC [1423800] pbuilder@postgis_reg-3.3 CONTEXT:  PL/pgSQL function st_grayscale(rastbandarg[],text) line 41 at RAISE
2023-07-28 12:10:49.171 UTC [1423800] pbuilder@postgis_reg-3.3 STATEMENT:  SELECT
                ST_Grayscale(
                        ARRAY[
                                ROW(rast, 1)::rastbandarg,
                                ROW(rast, 2)::rastbandarg,
                                ROW(rast, 1)::rastbandarg
                        ]::rastbandarg[]
                )
        FROM raster_grayscale_in
        ORDER BY rid
        LIMIT 1;
2023-07-28 12:10:50.603 UTC [1423889] pbuilder@postgis_reg-3.3 ERROR:  Tolerance cannot be less than zero
        
2023-07-28 12:10:50.603 UTC [1423889] pbuilder@postgis_reg-3.3 STATEMENT:  SELECT
                '2.2',
                r1.rid,
                r2.rid,
                -1 AS distance,
                ST_DWithin(r1.rast, NULL, r2.rast, NULL, -1)
        FROM raster_geos_rast r1
        CROSS JOIN raster_geos_rast r2
        WHERE r1.rid = 0;
2023-07-28 12:10:50.607 UTC [1423889] pbuilder@postgis_reg-3.3 ERROR:  Tolerance cannot be less than zero
        
2023-07-28 12:10:50.607 UTC [1423889] pbuilder@postgis_reg-3.3 STATEMENT:  SELECT
                '2.4',
                r1.rid,
                r2.rid,
                -1 AS distance,
                ST_DFullyWithin(r1.rast, NULL, r2.rast, NULL, -1)
        FROM raster_geos_rast r1
        CROSS JOIN raster_geos_rast r2
        WHERE r1.rid = 0;
ERROR 4: `/vsimem/in.dat' not recognized as a supported file format.
2023-07-28 12:10:52.054 UTC [1423965] pbuilder@postgis_reg-3.3 ERROR:  RASTER_fromGDALRaster: Could not open bytea with GDAL. Check that the bytea is of a GDAL supported format
2023-07-28 12:10:52.054 UTC [1423965] pbuilder@postgis_reg-3.3 STATEMENT:  SELECT convert_from(ST_AsGDALRaster(ST_FromGDALRaster('<VRTDataset rasterXSize="1000"
        rasterYSize="1"><VRTRasterBand band="1"
        subClass="VRTRawRasterBand"><SourceFilename>/etc/passwd</SourceFilename></VRTRasterBand></VRTDataset>'::bytea),
        'EHDR')::bytea, 'LATIN1');
ERROR 4: <VRTDataset rasterXSize="1000" rasterYSize="1"><VRTRasterBand band="1" subClass="VRTRawRasterBand"><SourceFilename>/etc/passwd</SourceFilename></VRTRasterBand></VRTDataset>: No such file or directory
2023-07-28 12:10:52.056 UTC [1423965] pbuilder@postgis_reg-3.3 ERROR:  rt_band_load_offline_data: Cannot open offline raster: <VRTDataset rasterXSize="1000" rasterYSize="1"><VRTRasterBand band="1" subClass="VRTRawRasterBand"><SourceFilename>/etc/passwd</SourceFilename></VRTRasterBand></VRTDataset>
2023-07-28 12:10:52.056 UTC [1423965] pbuilder@postgis_reg-3.3 STATEMENT:  SELECT count(convert_from(ST_AsGDALRaster(r, 'EHDR')::bytea, 'LATIN1')) as passwd from raster_test where lbl = 'passwd';
ERROR 4: <VRTDataset rasterXSize="1000" rasterYSize="1"><VRTRasterBand band="1" subClass="VRTRawRasterBand"><SourceFilename>/etc/passwd</SourceFilename></VRTRasterBand></VRTDataset>: No such file or directory
2023-07-28 12:10:52.057 UTC [1423965] pbuilder@postgis_reg-3.3 ERROR:  rt_band_load_offline_data: Cannot open offline raster: <VRTDataset rasterXSize="1000" rasterYSize="1"><VRTRasterBand band="1" subClass="VRTRawRasterBand"><SourceFilename>/etc/passwd</SourceFilename></VRTRasterBand></VRTDataset>
2023-07-28 12:10:52.057 UTC [1423965] pbuilder@postgis_reg-3.3 STATEMENT:  SELECT count(convert_from(ST_AsGDALRaster(r, 'EHDR')::bytea, 'LATIN1')) as passwd from raster_test where lbl = 'passwd';
ERROR 4: <VRTDataset rasterXSize="1000" rasterYSize="1"><VRTRasterBand band="1" subClass="VRTRawRasterBand"><SourceFilename>/etc/passwd</SourceFilename></VRTRasterBand></VRTDataset>: No such file or directory
2023-07-28 12:10:52.063 UTC [1423965] pbuilder@postgis_reg-3.3 ERROR:  rt_band_load_offline_data: Cannot open offline raster: <VRTDataset rasterXSize="1000" rasterYSize="1"><VRTRasterBand band="1" subClass="VRTRawRasterBand"><SourceFilename>/etc/passwd</SourceFilename></VRTRasterBand></VRTDataset>
2023-07-28 12:10:52.063 UTC [1423965] pbuilder@postgis_reg-3.3 STATEMENT:  SELECT count(convert_from(ST_AsGDALRaster(r, 'EHDR')::bytea, 'LATIN1')) as passwd from raster_test where lbl = 'passwd';
ERROR 4: <VRTDataset rasterXSize="1000" rasterYSize="1"><VRTRasterBand band="1" subClass="VRTRawRasterBand"><SourceFilename>/etc/passwd</SourceFilename></VRTRasterBand></VRTDataset>: No such file or directory
2023-07-28 12:10:52.064 UTC [1423965] pbuilder@postgis_reg-3.3 ERROR:  rt_band_load_offline_data: Cannot open offline raster: <VRTDataset rasterXSize="1000" rasterYSize="1"><VRTRasterBand band="1" subClass="VRTRawRasterBand"><SourceFilename>/etc/passwd</SourceFilename></VRTRasterBand></VRTDataset>
2023-07-28 12:10:52.064 UTC [1423965] pbuilder@postgis_reg-3.3 STATEMENT:  SELECT count(convert_from(ST_AsGDALRaster(r, 'EHDR')::bytea, 'LATIN1')) as passwd from raster_test where lbl = 'passwd';
2023-07-28 12:10:52.305 UTC [1423977] pbuilder@postgis_reg-3.3 WARNING:  Unable to add constraint: 'scale_x'.  Skipping
2023-07-28 12:10:52.305 UTC [1423977] pbuilder@postgis_reg-3.3 CONTEXT:  PL/pgSQL function addrasterconstraints(name,name,name,text[]) line 113 at RAISE
2023-07-28 12:10:52.309 UTC [1423977] pbuilder@postgis_reg-3.3 ERROR:  new row for relation "test_raster_scale_regular" violates check constraint "enforce_scaley_rast"
2023-07-28 12:10:52.309 UTC [1423977] pbuilder@postgis_reg-3.3 DETAIL:  Failing row contains (3, 01000001006ABC74931804F03FCB1A50CAFFFFEF3F0000000000000000000000...).
2023-07-28 12:10:52.309 UTC [1423977] pbuilder@postgis_reg-3.3 CONTEXT:  SQL statement "INSERT INTO test_raster_scale_regular VALUES ('3', '01000001006ABC74931804F03FCB1A50CAFFFFEF3F00000000000000000000000000000000000000000000000000000000000000000000000002000200440001010101')"
        PL/pgSQL function make_test_raster(text,integer,double precision,double precision) line 16 at EXECUTE
2023-07-28 12:10:52.309 UTC [1423977] pbuilder@postgis_reg-3.3 STATEMENT:  SELECT make_test_raster('regular', 3, 1.001, 0.9999999);
2023-07-28 12:10:52.313 UTC [1423977] pbuilder@postgis_reg-3.3 ERROR:  new row for relation "test_raster_scale_big" violates check constraint "enforce_scalex_rast"
2023-07-28 12:10:52.313 UTC [1423977] pbuilder@postgis_reg-3.3 DETAIL:  Failing row contains (1, 0100000100E1639D31956AE5C3000000000000F03F0000000000000000000000...).
2023-07-28 12:10:52.313 UTC [1423977] pbuilder@postgis_reg-3.3 CONTEXT:  SQL statement "INSERT INTO test_raster_scale_big VALUES ('1', '0100000100E1639D31956AE5C3000000000000F03F00000000000000000000000000000000000000000000000000000000000000000000000002000200440001010101')"
        PL/pgSQL function make_test_raster(text,integer,double precision,double precision) line 16 at EXECUTE
2023-07-28 12:10:52.313 UTC [1423977] pbuilder@postgis_reg-3.3 STATEMENT:  SELECT make_test_raster('big', 1, -12345678901234567890.0);
2023-07-28 12:10:52.314 UTC [1423977] pbuilder@postgis_reg-3.3 WARNING:  Unable to add constraint: 'scale_x'.  Skipping
2023-07-28 12:10:52.314 UTC [1423977] pbuilder@postgis_reg-3.3 CONTEXT:  PL/pgSQL function addrasterconstraints(name,name,name,text[]) line 113 at RAISE
2023-07-28 12:10:52.317 UTC [1423977] pbuilder@postgis_reg-3.3 ERROR:  new row for relation "test_raster_scale_small" violates check constraint "enforce_scaley_rast"
2023-07-28 12:10:52.317 UTC [1423977] pbuilder@postgis_reg-3.3 DETAIL:  Failing row contains (3, 0100000100F168E388B5F8E43E72C45A7C0A00F03F0000000000000000000000...).
2023-07-28 12:10:52.317 UTC [1423977] pbuilder@postgis_reg-3.3 CONTEXT:  SQL statement "INSERT INTO test_raster_scale_small VALUES ('3', '0100000100F168E388B5F8E43E72C45A7C0A00F03F00000000000000000000000000000000000000000000000000000000000000000000000002000200440001010101')"
        PL/pgSQL function make_test_raster(text,integer,double precision,double precision) line 16 at EXECUTE
2023-07-28 12:10:52.317 UTC [1423977] pbuilder@postgis_reg-3.3 STATEMENT:  SELECT make_test_raster('small', 3, 0.00001, 1.00001);
2023-07-28 12:10:52.338 UTC [1423977] pbuilder@postgis_reg-3.3 WARNING:  Unable to add constraint: 'blocksize_x'.  Skipping
2023-07-28 12:10:52.338 UTC [1423977] pbuilder@postgis_reg-3.3 CONTEXT:  PL/pgSQL function addrasterconstraints(name,name,name,text[]) line 113 at RAISE
        PL/pgSQL function addrasterconstraints(name,name,name,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean) line 53 at RETURN
2023-07-28 12:10:52.338 UTC [1423977] pbuilder@postgis_reg-3.3 WARNING:  Unable to add constraint: 'blocksize_y'.  Skipping
2023-07-28 12:10:52.338 UTC [1423977] pbuilder@postgis_reg-3.3 CONTEXT:  PL/pgSQL function addrasterconstraints(name,name,name,text[]) line 113 at RAISE
        PL/pgSQL function addrasterconstraints(name,name,name,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean) line 53 at RETURN
2023-07-28 12:10:52.338 UTC [1423977] pbuilder@postgis_reg-3.3 WARNING:  Unable to add constraint: 'pixel_types'.  Skipping
2023-07-28 12:10:52.338 UTC [1423977] pbuilder@postgis_reg-3.3 CONTEXT:  PL/pgSQL function addrasterconstraints(name,name,name,text[]) line 113 at RAISE
        PL/pgSQL function addrasterconstraints(name,name,name,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean) line 53 at RETURN
2023-07-28 12:10:52.339 UTC [1423977] pbuilder@postgis_reg-3.3 WARNING:  Unable to add constraint: 'nodata_values'.  Skipping
2023-07-28 12:10:52.339 UTC [1423977] pbuilder@postgis_reg-3.3 CONTEXT:  PL/pgSQL function addrasterconstraints(name,name,name,text[]) line 113 at RAISE
        PL/pgSQL function addrasterconstraints(name,name,name,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean) line 53 at RETURN
2023-07-28 12:10:52.339 UTC [1423977] pbuilder@postgis_reg-3.3 WARNING:  Unable to add constraint: 'out_db'.  Skipping
2023-07-28 12:10:52.339 UTC [1423977] pbuilder@postgis_reg-3.3 CONTEXT:  PL/pgSQL function addrasterconstraints(name,name,name,text[]) line 113 at RAISE
        PL/pgSQL function addrasterconstraints(name,name,name,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean) line 53 at RETURN
2023-07-28 12:10:52.339 UTC [1423977] pbuilder@postgis_reg-3.3 WARNING:  Unable to add constraint: 'extent'.  Skipping
2023-07-28 12:10:52.339 UTC [1423977] pbuilder@postgis_reg-3.3 CONTEXT:  PL/pgSQL function addrasterconstraints(name,name,name,text[]) line 113 at RAISE
        PL/pgSQL function addrasterconstraints(name,name,name,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean) line 53 at RETURN
2023-07-28 12:10:58.278 UTC [1417321] LOG:  checkpoint starting: immediate force wait
2023-07-28 12:10:58.279 UTC [1417321] LOG:  checkpoint complete: wrote 56 buffers (0.3%); 0 WAL file(s) added, 0 removed, 11 recycled; write=0.001 s, sync=0.001 s, total=0.002 s; sync files=0, longest=0.000 s, average=0.000 s; distance=177151 kB, estimate=177151 kB
Dropping cluster 15/regress ...

comment:9 by robe, 16 months ago

Milestone: PostGIS 3.4.0PostGIS 3.3.5

comment:10 by strk, 12 months ago

Component: buildQA/testsuite

comment:11 by robe, 12 months ago

Milestone: PostGIS 3.3.5PostGIS 3.5.0

I'm going to push to 3.5 for now. I may push back later but there are quite a few to digest here and given it seems to be happening on fairly newish gcc i386, not sure we want to make any fixes in 3.3 to address.

comment:12 by strk, 8 months ago

I just noticed a test referencing this ticket is failing on gitlab-ci test32: https://gitlab.com/postgis/postgis/-/jobs/6292825666#L4140

Last successful build by gitalb-ci was [dd88d87cfc3b7b7b7f059171fb090ee4b2db8836/git]

comment:13 by strk, 8 months ago

I've filed #5683 for the regression in the ST_SnapToGrid test referencing this issue

Note: See TracTickets for help on using tickets.