Opened 17 months ago

Closed 2 months ago

Last modified 2 months ago

#5448 closed defect (wontfix)

Test failures on i386

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

Description (last modified by sebastic)

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 (15)

comment:1 by sebastic, 17 months ago

Description: modified (diff)

comment:2 by pramsey, 17 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@…>, 17 months ago

In f0d870f0/git:

Add specific repeated point test for ST_SnapToGrid, references #5448

in reply to:  1 comment:4 by robe, 17 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?

Last edited 17 months ago by robe (previous) (diff)

comment:5 by sebastic, 17 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 17 months ago by sebastic (previous) (diff)

comment:6 by robe, 17 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 sebastic, 17 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 17 months ago by sebastic (previous) (diff)

comment:8 by sebastic, 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, 13 months ago

Component: buildQA/testsuite

comment:11 by robe, 13 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, 9 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, 9 months ago

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

comment:14 by robe, 2 months ago

Resolution: wontfix
Status: newclosed

I think it's time we admit, we don't care enough about i386 architectures to fix these issues.

The most we can hope for is it at least compiles and doesn't crash the backend

comment:15 by sebastic, 2 months ago

Also note that the Debian packages for PostGIS extensions stopped supporting 32-bit architectures with PostgreSQL 17.

https://lists.debian.org/debian-devel/2024/08/msg00202.html

Note: See TracTickets for help on using tickets.