Re: [BUGS] Git v2.51.2 on NonStop
- From
SZEDER Gábor <szeder.dev@gmail.com>
- Date
- Oct 29, 2025, 23:18 UTC
- Message-ID
- <aQKgxfZ9WQjyrhpa@szeder.dev>
- In-Reply-To
- <000201dc4925$2cdbc450$86934cf0$@nexbridge.com>
On Wed, Oct 29, 2025 at 06:41:27PM -0400, rsbecker@nexbridge.com wrote:
Show 26 quoted lines
> On October 29, 2025 6:28 PM, SZEDER Gábor wrote:
> >On Tue, Oct 28, 2025 at 01:40:42PM -0400, rsbecker@nexbridge.com wrote:
> >> I have found new defects on 2.51.2 that were not present in 2.51.1 when building
> >with OpenSSL 3.5 (probably unrelated).
> >>
> >> Many failures in t7900 resulting from the use of test_subcommand ! as seen
> >below. This is run in bash 5.0.18:
> >>
> >> + test_subcommand git gc --quiet --no-detach --skip-foreground-tasks
> >> + 0< run-no-auto.txt
> >> {"event":"child_start","sid":"20251028T172435.690328Z-H36b1c598-P7b000
> >> 02d","thread":"main","time":"2025-10-28T17:24:35.879833Z","file":"/hom
> >> e/jenkinsbuild/.jenkins/workspace/Git_Pipeline/run-command.c","line":7
> >> 40,"child_id":2,"child_class":"?","use_shell":false,"argv":["git","gc"
> >> ,"--quiet","--no-detach","--skip-foreground-tasks"]}
> >> + test_subcommand ! git gc --auto --quiet --no-detach
> >> + --skip-foreground-tasks 0< run-auto.txt
> >> test_subcommand[5]: test: argument expected
> >
> >This is a strange trace output, as it includes file descriptor redirections, but lacks the
> >trace of commands executed in test_subcommands. This trace doesn't look like it's
> >coming from Bash.
>
> The test_subcommand[5]: test: argument expect is coming from bash. I cannot see how
> it is coming from anywhere else. The test was run with -x but snipped. Reference to
> test_subcommand ! git... fails exactly the same way. Is there something else I can provide?The -x trace from Bash doesn't include file descriptor redirections, but includes the commands executed in test_subcommand, and the number of '+' characters at the beginning of each trace line indicates the number of subshells, so when the test is really run by Bash the trace from a test_subcommand invocation looks like this:
++ test_subcommand git gc --quiet --no-detach --skip-foreground-tasks
++ local negate=
++ test git = '!'
+++ printf '"%s",' git gc --quiet --no-detach --skip-foreground-tasks
++ local 'expr="git","gc","--quiet","--no-detach","--skip-foreground-tasks",'
++ expr='"git","gc","--quiet","--no-detach","--skip-foreground-tasks"'
++ test -n ''
++ grep '\["git","gc","--quiet","--no-detach","--skip-foreground-tasks"\]'
{"event":"child_start","sid":"20251029T230304.507599Z-H3fb05a16-P001a33ae","thread":"main","time":"2025-10-29T23:03:04.512913Z","file":"run-command.c","line":740,"child_id":2,"child_class":"?","use_shell":false,"argv":["git","gc","--quiet","--no-detach","--skip-foreground-tasks"]}
++ test_subcommand '!' git gc --auto --quiet --no-detach --skip-foreground-tasks
++ local negate=Since the trace you showed doesn't look like this I still doubt that it came from Bash.