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

Reply via email to