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

Reply via email to