Thread (1 message) 1 message, 1 author, 2025-10-27

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

From: Eric W. Biederman <hidden>
Date: 2025-10-27 20:17:35

"Eric W. Biederman" [off-list ref] writes:
Junio C Hamano [off-list ref] writes:
quoted
"Eric W. Biederman" [off-list ref] writes:
quoted
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 [off-list ref] 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 [off-list ref] 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help