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

Re: [PATCH 0/2] t/lib-gpg: ensure GNUPGHOME is created as needed

From
Eric W. Biederman <ebiederm@xmission.com>
Date
Oct 27, 2025, 19:32 UTC
Message-ID
<87o6ps16pj.fsf@email.froward.int.ebiederm.org>
In-Reply-To
<875xc02mmq.fsf@email.froward.int.ebiederm.org>
"Eric W. Biederman" <ebiederm@xmission.com> writes:
Show 47 quoted lines
> Junio C Hamano <gitster@pobox.com> writes:
>
>> "Eric W. Biederman" <ebiederm@xmission.com> writes:
>>
>>> The only possible source of flakiness in the tests I can see is the
>>> possibility of t/t1016/gpg not getting called (which uses a fixed
>>> timestamp).  It appears you just fixed that problem in commit
>>> 516bf45749bb ("t1016: make sure to use specified GPG").
>>
>> I think that one also is in 'seen', and yet we saw t1016 flaky X-<.
>>
>> Let me isolate the relevant topics and test them again, i.e.
>>
>>     $ git checkout --detach v2.51.0
>>     $ git merge --no-ff jc/t1016-setup-fix ;# 516bf45749
>>     $ git merge --no-ff tz/test-prepare-gnupghome~1 ;# 6cd8369ef3
>>     $ git log --no-merges --oneline v2.51.0..
>>     516bf45749 (jc/t1016-setup-fix) t1016: make sure to use specified GPG
>>     6cd8369ef3 t/lib-gpg: call prepare_gnupghome() in GPG2 prereq
>>     a35952b493 t/lib-gpg: add prepare_gnupghome() to create GNUPGHOME dir
>>     $ make
>>     $ cd t && ./t1016-*.sh --stress
>>     FAIL 10.1
>>     FAIL  5.1
>>     FAIL 34.1
>>     ...
>>     ++ eval 'diff -u' '"$@"'
>>     +++ diff -u signedcommit3_sha1 signedcommit3_sha1_expected
>>     --- signedcommit3_sha1	2025-10-27 17:34:58.237496945 +0000
>>     +++ signedcommit3_sha1_expected	2025-10-27 17:34:58.145497051 +0000
>>     @@ -1 +1 @@
>>     -de9cabc2419f97eb665452c198ed93e890a7ef87
>>     +c87cd5157461a81b60ef6d3c47562c12b328ef54
>>     error: last command exited with $?=1
>>     not ok 163 - Verify commit signedcommit3's sha1 oid
>>     #	
>>     #			git --git-dir=repo-sha256/.git rev-parse --output-object-format=sha1 ${sha256_oid} >${name}_sha1 &&
>>     #			test_cmp ${name}_sha1 ${name}_sha1_expected
>>     #		
>>     1..163
>
> Interesting.  With --stress I can reproduce the flakiness locally as
> well.
>
> I am starting to dig any but I haven't found any smoking guns yet.  So
> far manually running the commands that resulted in the failure are
> giving me the same output, but I have several more to run.

So far in the two should be identical sha1 and sha256 repositories I can confirm the failure is because the repositories are out of sync.

The sha256 gpg signatures match The sha1 gpg signatures do not match

Which is very weird. If they both didn't match it would be easy to explain.

This is starting to look like this is a case of the test doing it's job and finding a problem, rather than a problem in the test infrastructure.

I will keep digging.
git/t/trash directory.t1016-compatObjectFormat.stress-failed$ ../../git --git-dir=repo-sha256/.git cat-file tag signedtag34
object 94ee57ed028bc464ec9f9dc1d9c4b8c09fd89ac00e34b2bae3105803a995a6cd
type commit
tag signedtag34
tagger C O Mitter <committer@example.com> 1112354055 +0200
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iHQEABECADQWIQRz11h0S+chaY7FTocTtvUezd5DDQUCZQhxPBYcY29tbWl0dGVy
 QGV4YW1wbGUuY29tAAoJEBO29R7N3kMN3wIAoLYbVnmMIQnKqAfCDEtLGKDgH+M4
 AKDNi19wI7o7yWzThiujYZ422iMRGA==
 =lsWm
 -----END PGP SIGNATURE-----
 
This is an additional signed tag
-----BEGIN PGP SIGNATURE-----
 
iHQEABECADQWIQRz11h0S+chaY7FTocTtvUezd5DDQUCZQhxPBYcY29tbWl0dGVy
QGV4YW1wbGUuY29tAAoJEBO29R7N3kMN21sAn2RYjMjcngN6AqBeo9RmIUn7NnWY
AJ97WUStWCcHXMkxU+HVPeuA/CvPYw==
=7Jpz
-----END PGP SIGNATURE-----
git/t/trash directory.t1016-compatObjectFormat.stress-failed$ ../../git --git-dir=repo-sha1/.git cat-file tag signedtag34
object 9ea30d18399b9957ce40766318510dab211d747b
type commit
tag signedtag34
tagger C O Mitter <committer@example.com> 1112354055 +0200
gpgsig-sha256 -----BEGIN PGP SIGNATURE-----
 
 iHQEABECADQWIQRz11h0S+chaY7FTocTtvUezd5DDQUCZQhxPBYcY29tbWl0dGVy
 QGV4YW1wbGUuY29tAAoJEBO29R7N3kMN21sAn2RYjMjcngN6AqBeo9RmIUn7NnWY
 AJ97WUStWCcHXMkxU+HVPeuA/CvPYw==
 =7Jpz
 -----END PGP SIGNATURE-----
 
This is an additional signed tag
-----BEGIN PGP SIGNATURE-----
 
iHQEABECADQWIQRz11h0S+chaY7FTocTtvUezd5DDQUCZQhxPRYcY29tbWl0dGVy
QGV4YW1wbGUuY29tAAoJEBO29R7N3kMNvn4AmwRHkPsmDmKgUB6r1XP4dSzXWw+G
AKCEzEgk2bHuKv6d2L/M0bzseGlOfA==
=G+Gp
-----END PGP SIGNATURE-----
Eric
Previous: Eric W. BiedermanNext: Junio C Hamano
Message 10 of 14 in “t/lib-gpg: ensure GNUPGHOME is created as needed”
  1. 0/2 t/lib-gpg: ensure GNUPGHOME is created as neededTodd Zullinger, Jul 3, 2024
  2. 1/2 t/lib-gpg: add prepare_gnupghome() to create GNUPGHOME dirTodd Zullinger, Jul 3, 2024
  3. 2/2 t/lib-gpg: call prepare_gnupghome() in GPG2 prereqTodd Zullinger, Jul 3, 2024
  4. Todd ZullingerJul 3, 2024
  5. Todd ZullingerFeb 28, 2025
  6. Junio C HamanoOct 26, 2025
  7. Eric W. BiedermanOct 27, 2025
  8. Junio C HamanoOct 27, 2025
  9. Eric W. BiedermanOct 27, 2025
  10. Eric W. BiedermanOct 27, 2025
  11. Junio C HamanoOct 27, 2025
  12. t1016-compatObjectFormat: Really freeze time for reproduciblityEric W. Biederman, Oct 28, 2025
  13. Junio C HamanoOct 28, 2025
  14. Todd ZullingerOct 29, 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.