On 21/07/2026 04:13, Collin Funk wrote:
Bruno Haible via GNU coreutils General Discussion <[email protected]>
writes:
Today's CI (and all the CI runs since 2026-05-18) reports a test failure
on NetBSD 10.0:
ERROR: tests/tail/pid-pipe
==========================
pid-pipe.sh: set-up failure:
local: set-up: bad variable name
ERROR tests/tail/pid-pipe.sh (exit status: 99)
Anyone understands this message "local: set-up: bad variable name"?
I'm stumped.
But since the CI run on 2026-05-11 was successful on NetBSD, it looks
like the commit a6ba6a23ad9488528f201a45200d317600447a05 is the culprit.
Thanks.
The error message is confusing, but you can add a 'set -x' above this
line to see that 'retry_delay_' fails:
retry_delay_ writer_ready_ .1 6 || framework_failure_
Unfortunately, it seems like this will be quite a bit of work to
investigate. Using 'ktrace' makes the test pass, so it is not impossible
to see what system calls are misbehaving.
It kind of reminds me of when I tried to look into tests/tail/pipe-f2.sh
on NetBSD.
Weird.
Is this a shell issue, causing retry_delay_ to misbehave?
Does it fail with `make SHELL=/bin/bash TESTS=tests/tail/pid-pipe.sh SUBDIRS=.`
Note there was a similarly diagnosed shell issue noticed with older dash:
https://github.com/coreutils/gnulib/commit/42354a8ce80
Double quotes worked around the issue there.
I wonder might the same avoid the issue here? I.e.:
diff --git a/init.cfg b/init.cfg
index 0896d8dda..91764e2d8 100644
--- a/init.cfg
+++ b/init.cfg
@@ -780,8 +780,8 @@ retry_delay_()
local num_sleeps=$attempt
local time_fail
while test $attempt -le $max_n_tries; do
- local delay=$($AWK -v n=$num_sleeps -v s="$init_delay" \
- 'BEGIN { print s * n }')
+ local delay="$($AWK -v n=$num_sleeps -v s="$init_delay" \
+ 'BEGIN { print s * n }')"
"$test_func" "$delay" "$@" && { time_fail=0; break; } || time_fail=1
attempt=$(expr $attempt + 1)
num_sleeps=$(expr $num_sleeps '*' 2)
cheers,
Padraig