git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [BUGS] Git v2.51.2 on NonStop

From
brian m. carlson <sandals@crustytoothpaste.net>
Date
Oct 30, 2025, 21:23 UTC
Message-ID
<aQPXSyyHWz8hKaJe@fruit.crustytoothpaste.net>
In-Reply-To
<CALnO6CAYmtDmfk36nX6TCCaV2c=8J0BXv9eN+L=j1PU=gPmJUQ@mail.gmail.com>
On 2025-10-30 at 13:52:34, D. Ben Knoble wrote:
Show 20 quoted lines
> On Wed, Oct 29, 2025 at 8:25 PM <rsbecker@nexbridge.com> wrote:
> >
> > 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
> 
> Is this the only ksh-induced failure? And if so, what is inducing the
> failure—is it something the test library can work around, or is the
> system {k,}sh not behaving portably here?

We know that AT&T ksh (ksh93) doesn't work for Git because we require `local` and AT&T ksh doesn't offer that. Other ksh implementations, such as pdksh, mksh, lksh, OpenBSD's ksh (which is also its /bin/sh), ksh88, and various others, do in fact work just fine because they support `local`. The `test_subcommand` function does use `local`, so that may explain why things aren't working.

ksh (and zsh in zsh mode, but not in sh mode[0]) also run the last command in a pipeline in the main shell instead of a subshell. That may also be a source of incompatibility.

It may also be failing to work for other reasons as well, though.

[0] To be clear, zsh has never successfully run our testsuite in zsh mode, but it should mostly work in sh mode.

-- 
brian m. carlson (they/them)
Toronto, Ontario, CA
Previous: rsbecker@nexbridge.comNext: Kristoffer Haugsbakk
Message 10 of 18 in “[ANNOUNCE] Git v2.51.2”
  1. Junio C HamanoOct 27, 2025
  2. [BUGS] Git v2.51.2 on NonStoprsbecker@nexbridge.com, Oct 28, 2025
  3. SZEDER GáborOct 29, 2025
  4. rsbecker@nexbridge.comOct 29, 2025
  5. SZEDER GáborOct 29, 2025
  6. rsbecker@nexbridge.comOct 30, 2025
  7. Jeff KingOct 30, 2025
  8. D. Ben KnobleOct 30, 2025
  9. rsbecker@nexbridge.comOct 30, 2025
  10. brian m. carlsonOct 30, 2025
  11. Kristoffer HaugsbakkOct 30, 2025
  12. rsbecker@nexbridge.comOct 30, 2025
  13. Junio C HamanoOct 30, 2025
  14. Kristoffer HaugsbakkOct 30, 2025
  15. rsbecker@nexbridge.comOct 30, 2025
  16. SZEDER GáborOct 30, 2025
  17. rsbecker@nexbridge.comOct 31, 2025
  18. rsbecker@nexbridge.comOct 31, 2025

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.