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

Re: [ANNOUNCE] Git v2.34.0-rc2

From
Jeff King <peff@peff.net>
Date
Nov 10, 2021, 05:41 UTC
Message-ID
<YYtbdkLsCSFFE5io@coredump.intra.peff.net>
In-Reply-To
<xmqq4k8kzuz2.fsf@gitster.g>
On Tue, Nov 09, 2021 at 04:59:29PM -0800, Junio C Hamano wrote:
>  * Use ssh public crypto for object and push-cert signing.

I'm seeing some test breakage from the release candidates here. On my Debian unstable system, everything passed a few days ago. But after upgrading openssh-client from 1:8.4p1-5 to 1:8.7p1-1 (which hit unstable on Saturday), all of the GPGSSH bits seem to break:

  Test Summary Report
  -------------------
  t5534-push-signed.sh                             (Wstat: 256 Tests: 13 Failed: 2)
    Failed tests:  8, 12
    Non-zero exit status: 1
  t6200-fmt-merge-msg.sh                           (Wstat: 256 Tests: 31 Failed: 2)
    Failed tests:  7-8
    Non-zero exit status: 1
  t7031-verify-tag-signed-ssh.sh                   (Wstat: 256 Tests: 8 Failed: 5)
    Failed tests:  2, 4-7
    Non-zero exit status: 1
  t7528-signed-commit-ssh.sh                       (Wstat: 256 Tests: 23 Failed: 10)
    Failed tests:  2-5, 7, 9, 12-13, 17, 19
    Non-zero exit status: 1

This doesn't have anything to do with -rc2 in particular. The breakage bisects to f265f2d630 (ssh signing: tests for logs, tags & push certs, 2021-09-10), and is triggered by the system openssh upgrade.

It's hard to tell what's going on, as we seem to just be getting bad results from ssh-keygen. Here's the first failing test in t7031 (with GIT_TRACE and -x):

  [...]
  + git verify-tag initial
  trace: built-in: git verify-tag initial
  trace: run_command: ssh-keygen -Y find-principals -f '/home/peff/compile/git/t/trash directory.t7031-verify-tag-signed-ssh/gpghome/ssh.all_valid.allowedSignersFile' -s /tmp/.git_vtag_tmpSxXLIv
  trace: run_command: ssh-keygen -Y check-novalidate -n git -s /tmp/.git_vtag_tmpSxXLIv
  + exit 1
  error: last command exited with $?=1
  not ok 2 - verify and show ssh signatures
Likewise, this segfault (!) from t7528 is scary:
  [...]
  + git verify-commit initial
  trace: built-in: git verify-commit initial
  trace: run_command: ssh-keygen -Y find-principals -f '/home/peff/compile/git/t/trash directory.t7528-signed-commit-ssh/gpghome/ssh.all_valid.allowedSignersFile' -s /tmp/.git_vtag_tmpCOAwhp
  error: ssh-keygen died of signal 11
  trace: run_command: ssh-keygen -Y check-novalidate -n git -s /tmp/.git_vtag_tmpCOAwhp
  Good "git" signature with ED25519 key SHA256:E+1Xptv1zGa2fWFjSL36Tl2m2NVxcyJVzhfQTnU+yWc
  + exit 1
  error: last command exited with $?=1
  not ok 2 - verify and show signatures

So it may not be a bug we need to fix in Git. But shipping v2.34 with lots of test failures may cause some headaches. Maybe we need to tighten up the GPGSSH prereq checks to block broken versions?

-Peff
Previous: Junio C HamanoNext: Jeff King
Message 2 of 23 in “[ANNOUNCE] Git v2.34.0-rc2”
  1. Junio C HamanoNov 10, 2021
  2. Jeff KingNov 10, 2021
  3. Jeff KingNov 10, 2021
  4. Carlo ArenasNov 10, 2021
  5. Jeff KingNov 10, 2021
  6. Carlo ArenasNov 10, 2021
  7. Jeff KingNov 10, 2021
  8. RelNotes: mention known crasher when ssh signing with OpenSSH 8.7Carlo Marcelo Arenas Belón, Nov 10, 2021
  9. Junio C HamanoNov 10, 2021
  10. Junio C HamanoNov 10, 2021
  11. Jeff KingNov 11, 2021
  12. Junio C HamanoNov 10, 2021
  13. Johannes AltmanningerNov 10, 2021
  14. Jeff KingNov 10, 2021
  15. Junio C HamanoNov 10, 2021
  16. Jeff KingNov 11, 2021
  17. Junio C HamanoNov 11, 2021
  18. Jeff KingNov 11, 2021
  19. Junio C HamanoNov 11, 2021
  20. Patrick SteinhardtNov 15, 2021
  21. Jeff KingNov 15, 2021
  22. Jeff KingNov 15, 2021
  23. Junio C HamanoNov 13, 2021

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.