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

Re: t7528-signed-commit-ssh.sh fails due to ssh-agent fails to start with ENAMETOOLONG

From
brian m. carlson <sandals@crustytoothpaste.net>
Date
Oct 17, 2025, 19:31 UTC
Message-ID
<aPKZeqTK-tIcrfFB@fruit.crustytoothpaste.net>
In-Reply-To
<20251017105400.GB1015973@coredump.intra.peff.net>
On 2025-10-17 at 10:54:00, Jeff King wrote:
Show 14 quoted lines
> On Fri, Oct 17, 2025 at 06:52:49PM +0900, Lauri Tirkkonen wrote:
> 
> > > If I unset SSH_AUTH_SOCK in my environment, then the test consistently
> > > fails. But I'm somewhat amazed that nobody has complained about this
> > > before. Surely somebody somewhere (especially CI!) is running t7528
> > > without SSH_AUTH_SOCK set in the environment. Which makes wonder if I'm
> > > missing something.
> > 
> > I believe the issue surfaced only now because prior to OpenSSH 10.1,
> > ssh-agent would put its socket in /tmp by default, not under $HOME. See
> > https://www.openssh.com/txt/release-10.1
> 
> Ah, of course. That explains it perfectly, thanks. So we're going to get
> lots more reports as people upgrade. :)

I had not had time to properly analyze it in order to say something more thoughtful than "this is broken", but I can confirm it breaks for me on Debian unstable:

  ERROR: ld.so: object 'libc_malloc_debug.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
  ./t7528-signed-commit-ssh.sh: 1: eval: directory.t7528-signed-commit-ssh/.ssh/agent/s.5w4CQ2109U.agent.5l0ixCaX1S: not found
  Agent pid 1429798
  Could not add identity "/home/bmc/checkouts/git/t/trash directory.t7528-signed-commit-ssh/gpghome/ed25519_ssh_signing_key": agent refused operation

Note that OpenSSH in my case is broken because of the space in the home directory. I've reported that to Debian and we'll see if it gets fixed. (I did mention it breaks the Git testsuite in the hopes that improves the likelihood of getting it fixed.)

Show 7 quoted lines
> > We saw this failure in CI on Alpine Linux and worked around by adding -T
> > to the ssh-agent invocation in this test, but I suppose that won't work
> > for earlier releases of OpenSSH.
> 
> Yeah. We could either do something like "ssh-agent -T || ssh-agent", or
> we could go with "ssh-agent -a" (which has been around since 2002, but
> does raise the potential relative-path issue).

I think like `ssh-agent -T || ssh-agent` would be better because we know $HOME can be very long in our case, whereas $TMPDIR should not be excessive (since presumably it worked before and other services, such as tmux, place their sockets there).

-- 
brian m. carlson (they/them)
Toronto, Ontario, CA
Previous: Jeff KingNext: Jeff King
Message 6 of 9 in “t7528-signed-commit-ssh.sh fails due to ssh-agent fails to start with ENAMETOOLONG”
  1. Xi RuoyaoOct 17, 2025
  2. Collin FunkOct 17, 2025
  3. Jeff KingOct 17, 2025
  4. Lauri TirkkonenOct 17, 2025
  5. Jeff KingOct 17, 2025
  6. brian m. carlsonOct 17, 2025
  7. Jeff KingOct 18, 2025
  8. Junio C HamanoOct 17, 2025
  9. Jeff KingOct 18, 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.