git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: <rsbecker@nexbridge.com>
To: "'SZEDER Gábor'" <szeder.dev@gmail.com>
Cc: <git@vger.kernel.org>
Subject: RE: [BUGS] Git v2.51.2 on NonStop
Date: Wed, 29 Oct 2025 20:24:52 -0400	[thread overview]
Message-ID: <000701dc4933$9f79c670$de6d5350$@nexbridge.com> (raw)
In-Reply-To: <aQKgxfZ9WQjyrhpa@szeder.dev>

On October 29, 2025 7:18 PM, SZEDER Gábor wrote:
>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-P7b
>> >> 000
>> >> 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.

What appears to be happening is that the Make environment is only using SHELL=/bin/bash
for the outer processing but not the inner #!/bin/sh of t7900. The system is using /bin/sh
as specified, which uses ksh, not bash, which is the trace above. When I run the individual
tests with bash, the error reported goes away. The problem is, with my version of Gnu Make,
4.1.2, the SHELL variable is only being replaced for the command processing of each
recipe. Once the system loader sees the shebang of #!/bin/sh, /bin/sh is used as requested,
and fails out. This means that I have to remember to manually run each test that fails with
bash instead of the default. It is frustrating and now adds hours to my manual evaluation
of the CI/CD results.

The trace above is from sh, not bash because of this.

With Frustration,
Randall


  reply	other threads:[~2025-10-30  0:25 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-27 15:56 [ANNOUNCE] Git v2.51.2 Junio C Hamano
2025-10-28 17:40 ` [BUGS] Git v2.51.2 on NonStop rsbecker
2025-10-29 22:28   ` SZEDER Gábor
2025-10-29 22:41     ` rsbecker
2025-10-29 23:18       ` SZEDER Gábor
2025-10-30  0:24         ` rsbecker [this message]
2025-10-30  2:53           ` Jeff King
2025-10-30 13:52           ` D. Ben Knoble
2025-10-30 14:59             ` rsbecker
2025-10-30 21:23             ` brian m. carlson
2025-10-30 15:15   ` Kristoffer Haugsbakk
2025-10-30 16:02     ` rsbecker
2025-10-30 19:42     ` Junio C Hamano
2025-10-30 20:25       ` Kristoffer Haugsbakk
2025-10-30 21:46         ` [BUGS] Git v2.51.2 on NonStop5 rsbecker
2025-10-30 22:30           ` SZEDER Gábor
2025-10-31  1:02             ` rsbecker
2025-10-31 14:09           ` rsbecker

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='000701dc4933$9f79c670$de6d5350$@nexbridge.com' \
    --to=rsbecker@nexbridge.com \
    --cc=git@vger.kernel.org \
    --cc=szeder.dev@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).