Hello Daniel,
06.04.2026 03:20, Daniel Gustafsson wrote:
I've pushed fixes for all of these as well as the intermittent failures that
were seen on some BF animals, and will stare at the buildfarm for a while now.
So far 10 or so machines have built these green so it looks decent so far.
Yesterday culicidae produced a new failure of the 005_injection.pl test:
355/405 test_checksums - postgresql:test_checksums/005_injection FAIL
14.66s exit status 1
[11:07:55.420](0.190s) not ok 3 - ensure checksums are set to off on
injection_node
[11:07:55.421](0.001s) # Failed test 'ensure checksums are set to off on
injection_node'
# at
/home/bf/bf-build/culicidae/REL_19_STABLE/pgsql/src/test/modules/test_checksums/t/DataChecksums/Utils.pm
line 69.
[11:07:55.422](0.001s) # got: 'inprogress-off'
# expected: 'off'
I've managed to reproduce it with:
diff --git a/src/backend/access/transam/xlog.c
b/src/backend/access/transam/xlog.c
index 7f5d3b1417a..e7ec1b53f74 100644
--- a/src/backend/access/transam/xlog.c
+++ b/src/backend/access/transam/xlog.c
@@ -4939,2 +4939,3 @@ SetDataChecksumsOff(void)
WaitForProcSignalBarrier(barrier);
+pg_usleep(1000000);
diff --git a/src/backend/postmaster/datachecksum_state.c
b/src/backend/postmaster/datachecksum_state.c
index 443cb799915..43dd91a1480 100644
--- a/src/backend/postmaster/datachecksum_state.c
+++ b/src/backend/postmaster/datachecksum_state.c
@@ -1248,2 +1248,3 @@ DataChecksumsWorkerLauncherMain(Datum arg)
BackgroundWorkerUnblockSignals();
+pg_usleep(rand() % 100000);
for i in {1..20}; do echo "ITERATION $i"; PROVE_TESTS="t/005*" make -s check -C src/test/modules/test_checksums/ ||
break; done
ITERATION 4
# +++ tap check in src/test/modules/test_checksums +++
t/005_injection.pl .. 1/?
# Failed test 'ensure checksums are set to off on injection_node'
# at .../src/test/modules/test_checksums/t/DataChecksums/Utils.pm line 69.
# got: 'inprogress-off'
# expected: 'off'
t/005_injection.pl .. 15/? # Looks like you failed 1 test of 17.
The first commit the test fails this way is 8fb8ded88.
I've also triggered a bit different failure:
t/005_injection.pl .. 1/?
# Failed test 'ensure checksums are set to off on injection_node'
# at .../src/test/modules/test_checksums/t/DataChecksums/Utils.pm line 69.
# got: 'inprogress-on'
# expected: 'off'
t/005_injection.pl .. 15/? # Looks like you failed 1 test of 17.
with:
--- a/src/backend/postmaster/datachecksum_state.c
+++ b/src/backend/postmaster/datachecksum_state.c
@@ -1248,2 +1248,3 @@ DataChecksumsWorkerLauncherMain(Datum arg)
BackgroundWorkerUnblockSignals();
+pg_usleep(rand() % 100000);
@@ -1308,2 +1309,3 @@ again:
SetDataChecksumsOnInProgress();
+pg_usleep(1000000);
It's reproduced even at 07009121c.
Could you please have a look at the test when convenient?
[1]
https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=culicidae&dt=2026-08-27%2009%3A03%3A38
Best regards,
Alexander