From: SZEDER Gábor Date: Wed, 29 Oct 2025 23:18:29 GMT Subject: Re: [BUGS] Git v2.51.2 on NonStop Message-ID: In-Reply-To: <000201dc4925$2cdbc450$86934cf0$@nexbridge.com> On Wed, Oct 29, 2025 at 06:41:27PM -0400, rsbecker@nexbridge.com wrote: > 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.