[PostGIS] #5900: rt_elevation_functions fails on ppc64el
PostGIS
trac at osgeo.org
Sun May 18 00:12:34 PDT 2025
#5900: rt_elevation_functions fails on ppc64el
----------------------------+---------------------------
Reporter: Bas Couwenberg | Owner: robe
Type: defect | Status: new
Priority: medium | Milestone: PostGIS 3.5.4
Component: raster | Version: 3.5.x
Keywords: |
----------------------------+---------------------------
The Debian package build for 3.5.3 fails on ppc64el:
{{{
/build/reproducible-
path/postgis-3.5.3+dfsg/raster/test/regress/rt_elevation_functions ..Died
at ./regress/run_test.pl line 979.
failed (psql exited with an error: /tmp/pgis_reg/test_315_out)
-----------------------------------------------------------------------------
psql:rt_elevation_functions.sql:273: server closed the connection
unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
psql:rt_elevation_functions.sql:273: error: connection to server was lost
-----------------------------------------------------------------------------
make[2]: *** [regress/runtest.mk:24: check-regress] Error 2
make[2]: Leaving directory '/build/reproducible-path/postgis-3.5.3+dfsg'
*** /tmp/pg_virtualenv.iM6Rnu/log/postgresql-17-regress.log (last 100
lines) ***
2025-05-18 06:19:45.874 UTC [18417] sbuild at postgis_reg-3.5 WARNING:
Raster is NULL. Returning NULL
2025-05-18 06:19:46.852 UTC [18455] sbuild at postgis_reg-3.5 ERROR: SRIDS
of geometry: 4326 and raster: 0 are not the same
2025-05-18 06:19:46.852 UTC [18455] sbuild at postgis_reg-3.5 HINT: Verify
using ST_SRID function
2025-05-18 06:19:46.852 UTC [18455] sbuild at postgis_reg-3.5 CONTEXT:
PL/pgSQL function st_intersection(geometry,raster,integer) line 7 at RAISE
SQL function "st_intersection" statement 1
2025-05-18 06:19:46.852 UTC [18455] sbuild at postgis_reg-3.5 STATEMENT:
SELECT '#4719' AS ticker, r1.rid, ST_Intersection(
r1.rast, ST_Buffer(ST_SetSRID(ST_Point(1,2),
4326),0.5)
)
FROM raster_intersection AS r1
WHERE r1.rid = 10;
2025-05-18 06:19:48.097 UTC [18493] sbuild at postgis_reg-3.5 ERROR:
RASTER_nMapAlgebra: Function provided must return a double precision,
float, int or smallint
2025-05-18 06:19:48.097 UTC [18493] sbuild at postgis_reg-3.5 STATEMENT:
SELECT
rid,
ST_Value(
ST_MapAlgebra(
ARRAY[ROW(rast, 1)]::rastbandarg[],
'raster_nmapalgebra_test_bad_return(double
precision[], int[], text[])'::regprocedure
),
1, 1, 1
) = 255
FROM raster_nmapalgebra_in
WHERE rid IN (2);
2025-05-18 06:19:48.528 UTC [18512] sbuild at postgis_reg-3.5 ERROR:
RASTER_nMapAlgebraExpr: Invalid pixel type: 4BUId
2025-05-18 06:19:48.528 UTC [18512] sbuild at postgis_reg-3.5 STATEMENT:
SELECT 'T8', ST_Value(rast, 1, 1), ST_Value(ST_MapAlgebra(rast, 1,
'4BUId', '[rast] + 20', 2), 1, 1) FROM ST_TestRaster(0, 0, 100) rast;
2025-05-18 06:19:48.539 UTC [18512] sbuild at postgis_reg-3.5 ERROR:
division by zero
2025-05-18 06:19:48.539 UTC [18512] sbuild at postgis_reg-3.5 CONTEXT: SQL
statement "SELECT ($1/0)::double precision"
2025-05-18 06:19:48.539 UTC [18512] sbuild at postgis_reg-3.5 STATEMENT:
SELECT ST_Value(rast, 1, 1),
ST_Value(ST_MapAlgebra(rast, 1, NULL, '[rast]/0'), 1, 1)
FROM ST_TestRaster(0, 0, 10) rast;
2025-05-18 06:19:48.540 UTC [18512] sbuild at postgis_reg-3.5 ERROR:
rtpg_nmapalgebraexpr_callback: rast2 argument specified in single-raster
invocation
2025-05-18 06:19:48.540 UTC [18512] sbuild at postgis_reg-3.5 STATEMENT:
SELECT ST_Value(rast, 1, 1),
ST_Value(ST_MapAlgebra(rast, 1, NULL, '[rast2.val]+1'), 1, 1)
FROM ST_TestRaster(0, 0, 10) rast;
2025-05-18 06:19:49.004 UTC [18531] sbuild at postgis_reg-3.5 ERROR:
RASTER_nMapAlgebra: Mask dimensions must be odd
2025-05-18 06:19:49.004 UTC [18531] sbuild at postgis_reg-3.5 STATEMENT:
select st_mapalgebra(rast,1,'raster_nmapalgebra_test(double precision[],
int[], text[])'::regprocedure,ARRAY[[1,1],[1,1],[1,1]]::double
precision[],false) from raster_nmapalgebra_mask_in;
2025-05-18 06:19:49.004 UTC [18531] sbuild at postgis_reg-3.5 ERROR:
RASTER_nMapAlgebra: Mask dimensions must be odd
2025-05-18 06:19:49.004 UTC [18531] sbuild at postgis_reg-3.5 STATEMENT:
select st_mapalgebra(rast,1,'raster_nmapalgebra_test(double precision[],
int[], text[])'::regprocedure,ARRAY[[1,1,1],[1,1,1]]::double
precision[],false) from raster_nmapalgebra_mask_in;
2025-05-18 06:19:49.005 UTC [18531] sbuild at postgis_reg-3.5 ERROR:
RASTER_nMapAlgebra: Mask dimensions must be odd
2025-05-18 06:19:49.005 UTC [18531] sbuild at postgis_reg-3.5 STATEMENT:
select st_mapalgebra(rast,1,'raster_nmapalgebra_test(double precision[],
int[],
text[])'::regprocedure,ARRAY[[1,1,1,1],[1,1,1,1],[1,1,1,1],[1,1,1,1]]::double
precision[],false) from raster_nmapalgebra_mask_in;
2025-05-18 06:19:49.087 UTC [18531] sbuild at postgis_reg-3.5 ERROR:
RASTER_nMapAlgebra: Mask Must be a 2D array
2025-05-18 06:19:49.087 UTC [18531] sbuild at postgis_reg-3.5 STATEMENT:
select st_mapalgebra(rast,1,'raster_nmapalgebra_test(double precision[],
int[], text[])'::regprocedure,ARRAY[NULL]::double precision[],false) from
raster_nmapalgebra_mask_in;
2025-05-18 06:19:49.091 UTC [18531] sbuild at postgis_reg-3.5 ERROR:
RASTER_nMapAlgebra: Mask Must be a 2D array
2025-05-18 06:19:49.091 UTC [18531] sbuild at postgis_reg-3.5 STATEMENT:
select st_mapalgebra(rast,1,'raster_nmapalgebra_test(double precision[],
int[], text[])'::regprocedure,ARRAY[1]::double precision[],false) from
raster_nmapalgebra_mask_in;
2025-05-18 06:19:49.124 UTC [18531] sbuild at postgis_reg-3.5 ERROR:
RASTER_nMapAlgebra: Mask dimensions must be odd
2025-05-18 06:19:49.124 UTC [18531] sbuild at postgis_reg-3.5 STATEMENT:
select st_mapalgebra(rast,1,'raster_nmapalgebra_test(double precision[],
int[], text[])'::regprocedure,ARRAY[[1,1],[1,1],[1,1]]::double
precision[],true) from raster_nmapalgebra_mask_in;
2025-05-18 06:19:49.124 UTC [18531] sbuild at postgis_reg-3.5 ERROR:
RASTER_nMapAlgebra: Mask dimensions must be odd
2025-05-18 06:19:49.124 UTC [18531] sbuild at postgis_reg-3.5 STATEMENT:
select st_mapalgebra(rast,1,'raster_nmapalgebra_test(double precision[],
int[], text[])'::regprocedure,ARRAY[[1,1,1],[1,1,1]]::double
precision[],true) from raster_nmapalgebra_mask_in;
2025-05-18 06:19:49.132 UTC [18531] sbuild at postgis_reg-3.5 ERROR:
RASTER_nMapAlgebra: Mask Must be a 2D array
2025-05-18 06:19:49.132 UTC [18531] sbuild at postgis_reg-3.5 STATEMENT:
select st_mapalgebra(rast,1,'raster_nmapalgebra_test(double precision[],
int[], text[])'::regprocedure,ARRAY[NULL]::double precision[],true) from
raster_nmapalgebra_mask_in;
2025-05-18 06:19:49.134 UTC [18531] sbuild at postgis_reg-3.5 ERROR:
RASTER_nMapAlgebra: Mask Must be a 2D array
2025-05-18 06:19:49.134 UTC [18531] sbuild at postgis_reg-3.5 STATEMENT:
select st_mapalgebra(rast,1,'raster_nmapalgebra_test(double precision[],
int[], text[])'::regprocedure,ARRAY[1]::double precision[],true) from
raster_nmapalgebra_mask_in;
2025-05-18 06:19:49.165 UTC [18531] sbuild at postgis_reg-3.5 ERROR:
RASTER_nMapAlgebra: Mask dimensions must be odd
2025-05-18 06:19:49.165 UTC [18531] sbuild at postgis_reg-3.5 STATEMENT:
select st_mapalgebra(rast,1,'raster_nmapalgebra_test(double precision[],
int[], text[])'::regprocedure,ARRAY[[.5,.5],[.5,.5],[.5,.5]]::double
precision[],true) from raster_nmapalgebra_mask_in;
2025-05-18 06:19:49.168 UTC [18531] sbuild at postgis_reg-3.5 ERROR:
RASTER_nMapAlgebra: Mask dimensions must be odd
2025-05-18 06:19:49.168 UTC [18531] sbuild at postgis_reg-3.5 STATEMENT:
select st_mapalgebra(rast,1,'raster_nmapalgebra_test(double precision[],
int[], text[])'::regprocedure,ARRAY[[.5,.5,.5],[.5,.5,.5]]::double
precision[],true) from raster_nmapalgebra_mask_in;
2025-05-18 06:19:49.171 UTC [18531] sbuild at postgis_reg-3.5 ERROR:
RASTER_nMapAlgebra: Mask Must be a 2D array
2025-05-18 06:19:49.171 UTC [18531] sbuild at postgis_reg-3.5 STATEMENT:
select st_mapalgebra(rast,1,'raster_nmapalgebra_test(double precision[],
int[], text[])'::regprocedure,ARRAY[.5]::double precision[],true) from
raster_nmapalgebra_mask_in;
2025-05-18 06:19:52.486 UTC [11832] LOG: server process (PID 18612) was
terminated by signal 11: Segmentation fault
2025-05-18 06:19:52.486 UTC [11832] DETAIL: Failed process was running:
/* with coverage */
DO $$
BEGIN
-- this ONLY works for PostgreSQL version 9.1 or higher
IF array_to_string(regexp_matches(split_part(version(), ' ', 2),
E'([0-9]+)\.([0-9]+)'), '')::int > 90 THEN
INSERT INTO raster_elevation_out (
SELECT
t1.rid,
'slope',
ST_Slope(ST_Union(t2.rast), 1, t1.rast) AS
rast
FROM raster_elevation t1
CROSS JOIN raster_elevation t2
WHERE t1.rid != 0
AND t2.rid != 0
AND ST_Intersects(t1.rast, t2.rast)
GROUP BY t1.rid, t1.rast
ORDER BY t1.rid
) UNION ALL (
SELECT
t1.rid,
'aspect',
ST_Aspect(ST_Union(t2.rast), 1, t1.rast)
AS rast
FROM raster_elevation t1
CROSS JOIN raster_elevation t2
WHERE t1.rid != 0
AND t2.rid != 0
AND ST_Intersects(t1.rast, t2.rast)
GROUP BY t1.rid, t1.rast
ORDER BY t1.rid
) UNION ALL (
SELECT
t1.rid,
'hillshade',
ST_Hillshade(ST_Union(t2.rast), 1,
t1.rast) AS rast
FROM raster_elevation t1
CROSS JOIN raster_elevation t2
WHERE t1.rid != 0
AND t2.rid != 0
AND ST_Intersects(t1.rast, t2.ras
2025-05-18 06:19:52.486 UTC [11832] LOG: terminating any other active
server processes
2025-05-18 06:19:52.489 UTC [11832] LOG: all server processes terminated;
reinitializing
Dropping cluster 17/regress ...
}}}
Full buildlogs:
[https://buildd.debian.org/status/fetch.php?pkg=postgis&arch=ppc64el&ver=3.5.3%2Bdfsg-1%7Eexp1&stamp=1747544729&raw=0
build1]
[https://buildd.debian.org/status/fetch.php?pkg=postgis&arch=ppc64el&ver=3.5.3%2Bdfsg-1%7Eexp1&stamp=1747549194&raw=0
build2]
--
Ticket URL: <https://trac.osgeo.org/postgis/ticket/5900>
PostGIS <http://trac.osgeo.org/postgis/>
The PostGIS Trac is used for bug, enhancement & task tracking, a user and developer wiki, and a view into the subversion code repository of PostGIS project.
More information about the postgis-tickets
mailing list