027_stream_regress.pl has:
if (PostgreSQL::Test::Utils::has_wal_read_bug)
{
# We'd prefer to use Test::More->builder->todo_start, but the bug causes
# this test file to die(), not merely to fail.
plan skip_all => 'filesystem bug';
}
Is the die() referenced there the one from the system_or_bail() call
that commit a096813b got rid of?
Here's a failure in 031_recovery_conflict.pl that smells like
concurrent pread() corruption:
https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=tadarida&dt=2022-05-16%2015%3A45%3A54
2022-05-16 18:10:33.375 CEST [52106:1] LOG: started streaming WAL
from primary at 0/3000000 on timeline 1
2022-05-16 18:10:33.621 CEST [52105:5] LOG: incorrect resource
manager data checksum in record at 0/338FDC8
2022-05-16 18:10:33.622 CEST [52106:2] FATAL: terminating walreceiver
process due to administrator command
Presumably we also need the has_wal_read_bug kludge in all these new
tests that use replication.