pglogical
pglogical copied to clipboard
Regression tests fail on s390x
The PGDG APT repository has recently added s390x build hosts, and the pglogical regression tests fail there:
11:35:20 autopkgtest [09:35:20]: test regresscheck: [-----------------------
11:35:20 ### 10 ###
11:35:20 /bin/mkdir -p regression_output
11:35:20 PATH="./tmp_install/usr/lib/postgresql/10/bin:$PATH" LD_LIBRARY_PATH="./tmp_install/usr/lib/s390x-linux-gnu" /usr/lib/postgresql/10/lib/pgxs/src/makefiles/../../src/test/regress/pg_regress --temp-instance=./tmp_check --inputdir=./ --bindir= \
11:35:20 --temp-config ./regress-postgresql.conf \
11:35:20 --temp-instance=./tmp_check \
11:35:20 --outputdir=./regression_output \
11:35:20 --create-role=logical \
11:35:20 preseed infofuncs init_fail init preseed_check basic extended conflict_secondary_unique toasted replication_set matview bidirectional primary_key interfaces foreign_key functions copy triggers parallel row_filter row_filter_sampling att_list column_filter apply_delay multiple_upstreams node_origin_cascade drop
11:35:20 ============== removing existing temp instance ==============
11:35:20 ============== creating temporary instance ==============
11:35:20 ============== initializing database system ==============
11:35:21 ============== starting postmaster ==============
11:35:22 running on port 50871 with PID 21598
11:35:22 ============== creating database "regression" ==============
11:35:22 CREATE DATABASE
11:35:22 ALTER DATABASE
11:35:22 ============== creating role "logical" ==============
11:35:22 CREATE ROLE
11:35:22 GRANT
11:35:22 ============== running regression test queries ==============
11:35:23 test preseed ... ok
11:35:23 test infofuncs ... ok
11:35:23 test init_fail ... FAILED
11:35:23 test init ... FAILED
11:35:23 test preseed_check ... ok
11:35:27 test basic ... ok
11:35:59 test extended ... ok
11:35:59 test conflict_secondary_unique ... ok
11:36:00 test toasted ... ok
11:36:00 test replication_set ... FAILED
11:36:04 test matview ... ok
11:36:08 test bidirectional ... FAILED
11:36:28 test primary_key ... ok
11:36:30 test interfaces ... FAILED
11:36:31 test foreign_key ... ok
11:36:40 test functions ... ok
11:36:42 test copy ... ok
11:36:47 test triggers ... ok
11:36:49 test parallel ... FAILED
11:37:02 test row_filter ... ok
11:37:04 test row_filter_sampling ... ok
11:37:08 test att_list ... ok
11:37:10 test column_filter ... ok
11:37:17 test apply_delay ... FAILED
11:37:20 test multiple_upstreams ... FAILED
11:37:24 test node_origin_cascade ... FAILED
11:37:25 test drop ... ok
11:37:25 ============== shutting down postmaster ==============
11:37:25
11:37:25 =======================
11:37:25 9 of 27 tests failed.
11:37:25 =======================
11:37:25
11:37:25 The differences that caused some tests to fail can be viewed in the
11:37:25 file "/tmp/regresscheck.KQEue9/./regression_output/regression.diffs". A copy of the test summary that you see
11:37:25 above is saved in the file "/tmp/regresscheck.KQEue9/./regression_output/regression.out".
11:37:25
11:37:25 make: *** [Makefile:140: regresscheck] Error 1
11:37:25 *** /tmp/regresscheck.KQEue9/expected/init_fail.out 2023-07-15 09:35:20.596189209 +0000
11:37:25 --- /tmp/regresscheck.KQEue9/./regression_output/results/init_fail.out 2023-07-15 09:35:23.286176479 +0000
11:37:25 ***************
11:37:25 *** 42,48 ****
11:37:25 SELECT * FROM pglogical.create_node(node_name := 'test_subscriber', dsn := (SELECT subscriber_dsn FROM pglogical_regress_variables()) || ' user=nonreplica');
11:37:25 create_node
11:37:25 -------------
11:37:25 ! 1755434425
11:37:25 (1 row)
11:37:25
11:37:25 -- fail (can't connect to remote)
11:37:25 --- 42,48 ----
11:37:25 SELECT * FROM pglogical.create_node(node_name := 'test_subscriber', dsn := (SELECT subscriber_dsn FROM pglogical_regress_variables()) || ' user=nonreplica');
11:37:25 create_node
11:37:25 -------------
11:37:25 ! 2095496919
11:37:25 (1 row)
11:37:25
11:37:25 -- fail (can't connect to remote)
11:37:25 ***************
11:37:25 *** 72,78 ****
11:37:25 SELECT * FROM pglogical.create_node(node_name := 'test_provider', dsn := (SELECT provider_dsn FROM pglogical_regress_variables()) || ' user=nonreplica');
11:37:25 create_node
11:37:25 -------------
11:37:25 ! 2689511696
11:37:25 (1 row)
11:37:25
11:37:25 \c :subscriber_dsn
11:37:25 --- 72,78 ----
11:37:25 SELECT * FROM pglogical.create_node(node_name := 'test_provider', dsn := (SELECT provider_dsn FROM pglogical_regress_variables()) || ' user=nonreplica');
11:37:25 create_node
11:37:25 -------------
11:37:25 ! 3385836371
11:37:25 (1 row)
11:37:25
11:37:25 \c :subscriber_dsn
11:37:25
11:37:25 ======================================================================
11:37:25
This looks like an endianess or other bit-flip error:
! 1755434425
! 2095496919
Full log is at https://pgdgbuild.dus.dg-i.net/job/pglogical-binaries/191/architecture=s390x,distribution=sid/consoleFull
not sure if it's related, it seems missing x86/arm packages of 2.4.3 on postgresql apt, only s390x packages there.