From ac6f4170273df91ff104517ff730a4cc7715e642 Mon Sep 17 00:00:00 2001 From: Dianjin Wang Date: Sat, 10 Oct 2026 15:47:44 +0800 Subject: [PATCH] Fix scan_flaky_fault_injectors.sh with uutils coreutils On Ubuntu 26.04, "make installcheck-good" and "installcheck-cbdb-parallel" stop before any test runs: scanning for flaky fault-injection tests... comm: file 1 is not in sorted order comm: input is not in sorted order make: *** [GNUmakefile:213: installcheck-good] Error 1 Ubuntu 26.04 replaces GNU coreutils with uutils coreutils. In the UTF-8 locale of the build images (en_US.UTF-8), its sort -u and comm do not agree on the order of the two test lists, so comm rejects its input. GNU coreutils 9.4 on Ubuntu 24.04 does not have this problem. Make sort and comm use the same order by running the script in the C locale. The test names are ASCII, so only the collation changes. Checked on Ubuntu 26.04 in the build image: the script fails in the default locale and passes with LC_ALL=C. It passes in both ways on Ubuntu 24.04. Assisted-by: Claude Code Backpatch-through: REL_2_STABLE --- src/test/regress/scan_flaky_fault_injectors.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/test/regress/scan_flaky_fault_injectors.sh b/src/test/regress/scan_flaky_fault_injectors.sh index 8fe97655444..cfecffb1971 100755 --- a/src/test/regress/scan_flaky_fault_injectors.sh +++ b/src/test/regress/scan_flaky_fault_injectors.sh @@ -7,6 +7,12 @@ set -e +# sort(1) and comm(1) must use the same collation. With a UTF-8 locale they can +# disagree on the order (as the uutils coreutils of Ubuntu 26.04 do), and comm +# then fails with "input is not in sorted order". The C locale gives plain +# byte order for both, and the test names are ASCII. +export LC_ALL=C + fault_injection_tests=$(mktemp fault_injection_tests.XXX) parallel_tests=$(mktemp parallel_tests.XXX) retcode=0