On Thursday, August 1, 2024 3:23 PM, Taylor Blau wrote: >On Thu, Aug 01, 2024 at 02:03:31PM -0400, rsbecker@xxxxxxxxxxxxx wrote: >> Hi Team, >> >> I think this is low priority but would like to understand the >> situation. It only happens on NonStop ia64 (consistently), not x86. >> >> The t7701.09 subtest fails missing files: > >Hmm. Script t7701 only has 8 sub-tests, but I think you're referring to >t7704.9 Yes, t7704.9. Sorry. >> Total 3 (delta 0), reused 3 (delta 0), pack-reused 0 (from 0) >> ls: cannot access '.git/objects/pack/pack-*.mtimes': No such file or >> directory >> test_line_count: line count for cruft.after != 2 not ok 9 - >> --max-cruft-size with pruning >> >> The test directory contains: >> ./.git/objects/pack >> ./.git/objects/pack/pack-68c6c8c8538900694c32380ac1484201c8b60d8d.idx >> ./.git/objects/pack/pack-68c6c8c8538900694c32380ac1484201c8b60d8d.pack >> ./.git/objects/pack/pack-68c6c8c8538900694c32380ac1484201c8b60d8d.rev > >Interesting. Can you attach the full -vx output of this test, as well as a ls -la from >$GIT_DIR/objects/pack? > >I suspect that this is a mtime resolution issue in whatever filesystem is in use in your >ia64 environment, but the full logs will help us confirm that, or at least point is in a >better direction. Here is the output as requested, with ls following. This is using OpenSSL 3.0 - OpenSSL 1.0.2 is further down with slightly different results. ++ git init max-cruft-size-prune Initialized empty Git repository in /home/ituglib/randall/git/t/trash directory.t7704-repack-cruft/max-cruft-size-prune/.git/ ++ cd max-cruft-size-prune ++ test_commit base ++ local notick= ++ local echo=echo ++ local append= ++ local author= ++ local signoff= ++ local indir= ++ local tag=light ++ test 1 '!=' 0 ++ case "$1" in ++ break ++ indir= ++ local file=base.t ++ test -n '' ++ echo base ++ git add -- base.t ++ test -z '' ++ test_tick ++ test -z '' ++ test_tick=1112911993 ++ GIT_COMMITTER_DATE='1112911993 -0700' ++ GIT_AUTHOR_DATE='1112911993 -0700' ++ export GIT_COMMITTER_DATE GIT_AUTHOR_DATE ++ git commit -m base [master (root-commit) d1ff1c9] base Author: A U Thor <author@xxxxxxxxxxx> 1 file changed, 1 insertion(+) create mode 100644 base.t ++ case "$tag" in ++ git tag base +++ generate_random_blob foo 1048576 +++ test-tool genrandom foo 1048576 +++ git hash-object -w -t blob blob +++ rm blob ++ foo=4f336f3df31054eabc05ac05f98bc024c8e05423 +++ generate_random_blob bar 1048576 +++ test-tool genrandom bar 1048576 +++ git hash-object -w -t blob blob +++ rm blob ++ bar=bd44d8aa2d22eb47ff70cef4b0bb45d1549ee49c +++ generate_random_blob baz 1048576 +++ test-tool genrandom baz 1048576 +++ git hash-object -w -t blob blob +++ rm blob ++ baz=ad16bed54cc61cf036075879deeff95ae977514b +++ test_oid_to_path 4f336f3df31054eabc05ac05f98bc024c8e05423 +++ local basename=336f3df31054eabc05ac05f98bc024c8e05423 +++ echo 4f/336f3df31054eabc05ac05f98bc024c8e05423 ++ test-tool chmtime -10000 .git/objects/4f/336f3df31054eabc05ac05f98bc024c8e05423 ++ git repack -d --cruft --max-cruft-size=1M Enumerating objects: 3, done. Counting objects: 100% (3/3), done. Writing objects: 100% (3/3), done. Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0) Enumerating cruft objects: 6, done. Counting objects: 100% (3/3), done. Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), done. Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0) ++ ls .git/objects/pack/pack-8f53f837597ebbdfc6f8ed173349e5cecbcfb97e.mtimes .git/objects/pack/pack-b8dc9aadaadc12c82b0053fdee0039ae1025a8f8.mtimes .git/objects/pack/pack-c2357b2b204fda52bc1f5515de94227e1db012af.mtimes ++ sort +++ cat cruft.before ++ for cruft in $(cat cruft.before) +++ test-tool chmtime --get -10000 .git/objects/pack/pack-8f53f837597ebbdfc6f8ed173349e5cecbcfb97e.mtimes ++ mtime=1722540725 ++ echo .git/objects/pack/pack-8f53f837597ebbdfc6f8ed173349e5cecbcfb97e.mtimes 1722540725 ++ for cruft in $(cat cruft.before) +++ test-tool chmtime --get -10000 .git/objects/pack/pack-b8dc9aadaadc12c82b0053fdee0039ae1025a8f8.mtimes ++ mtime=1722540723 ++ echo .git/objects/pack/pack-b8dc9aadaadc12c82b0053fdee0039ae1025a8f8.mtimes 1722540723 ++ for cruft in $(cat cruft.before) +++ test-tool chmtime --get -10000 .git/objects/pack/pack-c2357b2b204fda52bc1f5515de94227e1db012af.mtimes ++ mtime=1722540726 ++ echo .git/objects/pack/pack-c2357b2b204fda52bc1f5515de94227e1db012af.mtimes 1722540726 ++ git repack -d --cruft --max-cruft-size=1M --cruft-expiration=10.seconds.ago Enumerating objects: 3, done. Counting objects: 100% (3/3), done. Writing objects: 100% (3/3), done. Total 3 (delta 0), reused 3 (delta 0), pack-reused 0 (from 0) ++ ls '.git/objects/pack/pack-*.mtimes' ++ sort ls: cannot access '.git/objects/pack/pack-*.mtimes': No such file or directory +++ cat cruft.after ++ test_line_count = 3 cruft.before ++ test 3 '!=' 3 +++ wc -l ++ test 3 = 3 ++ test_line_count = 2 cruft.after ++ test 3 '!=' 3 +++ wc -l ++ test 0 = 2 ++ echo 'test_line_count: line count for cruft.after != 2' test_line_count: line count for cruft.after != 2 ++ cat cruft.after ++ return 1 error: last command exited with $?=1 not ok 9 - --max-cruft-size with pruning ls output with second resolution is here - the file system does not have nanosecond resolution despite showing zeros: /home/ituglib/randall/git/t/trash directory.t7704-repack-cruft/max-cruft-size-prune/.git/objects/pack: ls -la --full-time total 11 drwxrwxrwx 1 ITUGLIB.RANDALL ITUGLIB 4096 2024-08-01 16:18:55.000000000 -0600 . drwxrwxrwx 1 ITUGLIB.RANDALL ITUGLIB 4096 2024-08-01 16:18:48.000000000 -0600 .. -r--r--r-- 1 ITUGLIB.RANDALL ITUGLIB 1156 2024-08-01 16:18:52.000000000 -0600 pack-68c6c8c8538900694c32380ac1484201c8b60d8d.idx -r--r--r-- 1 ITUGLIB.RANDALL ITUGLIB 217 2024-08-01 16:18:52.000000000 -0600 pack-68c6c8c8538900694c32380ac1484201c8b60d8d.pack -r--r--r-- 1 ITUGLIB.RANDALL ITUGLIB 64 2024-08-01 16:18:52.000000000 -0600 pack-68c6c8c8538900694c32380ac1484201c8b60d8d.rev When running with OpenSSL 1.0.2, the failure is different: ++ git init max-cruft-size-prune Initialized empty Git repository in /home/ituglib/randall/jenkins/.jenkins/workspace/Git_Pipeline/t/trash directory.t7704-repack-cruft/max-cruft-size-prune/.git/ ++ cd max-cruft-size-prune ++ test_commit base ++ local notick= ++ local echo=echo ++ local append= ++ local author= ++ local signoff= ++ local indir= ++ local tag=light ++ test 1 '!=' 0 ++ case "$1" in ++ break ++ indir= ++ local file=base.t ++ test -n '' ++ echo base ++ git add -- base.t ++ test -z '' ++ test_tick ++ test -z '' ++ test_tick=1112911993 ++ GIT_COMMITTER_DATE='1112911993 -0700' ++ GIT_AUTHOR_DATE='1112911993 -0700' ++ export GIT_COMMITTER_DATE GIT_AUTHOR_DATE ++ git commit -m base [master (root-commit) d1ff1c9] base Author: A U Thor <author@xxxxxxxxxxx> 1 file changed, 1 insertion(+) create mode 100644 base.t ++ case "$tag" in ++ git tag base +++ generate_random_blob foo 1048576 +++ test-tool genrandom foo 1048576 +++ git hash-object -w -t blob blob +++ rm blob ++ foo=4f336f3df31054eabc05ac05f98bc024c8e05423 +++ generate_random_blob bar 1048576 +++ test-tool genrandom bar 1048576 +++ git hash-object -w -t blob blob +++ rm blob ++ bar=bd44d8aa2d22eb47ff70cef4b0bb45d1549ee49c +++ generate_random_blob baz 1048576 +++ test-tool genrandom baz 1048576 +++ git hash-object -w -t blob blob +++ rm blob ++ baz=ad16bed54cc61cf036075879deeff95ae977514b +++ test_oid_to_path 4f336f3df31054eabc05ac05f98bc024c8e05423 +++ local basename=336f3df31054eabc05ac05f98bc024c8e05423 +++ echo 4f/336f3df31054eabc05ac05f98bc024c8e05423 ++ test-tool chmtime -10000 .git/objects/4f/336f3df31054eabc05ac05f98bc024c8e05423 ++ git repack -d --cruft --max-cruft-size=1M Enumerating objects: 3, done. Counting objects: 100% (3/3), done. Writing objects: 100% (3/3), done. Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0) Enumerating cruft objects: 6, done. Counting objects: 100% (3/3), done. Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), done. Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0) ++ ls .git/objects/pack/pack-8f53f837597ebbdfc6f8ed173349e5cecbcfb97e.mtimes .git/objects/pack/pack-b8dc9aadaadc12c82b0053fdee0039ae1025a8f8.mtimes .git/objects/pack/pack-c2357b2b204fda52bc1f5515de94227e1db012af.mtimes ++ sort +++ cat cruft.before ++ for cruft in $(cat cruft.before) +++ test-tool chmtime --get -10000 .git/objects/pack/pack-8f53f837597ebbdfc6f8ed173349e5cecbcfb97e.mtimes ++ mtime=1722531262 ++ echo .git/objects/pack/pack-8f53f837597ebbdfc6f8ed173349e5cecbcfb97e.mtimes 1722531262 ++ for cruft in $(cat cruft.before) +++ test-tool chmtime --get -10000 .git/objects/pack/pack-b8dc9aadaadc12c82b0053fdee0039ae1025a8f8.mtimes ++ mtime=1722531261 ++ echo .git/objects/pack/pack-b8dc9aadaadc12c82b0053fdee0039ae1025a8f8.mtimes 1722531261 ++ for cruft in $(cat cruft.before) +++ test-tool chmtime --get -10000 .git/objects/pack/pack-c2357b2b204fda52bc1f5515de94227e1db012af.mtimes ++ mtime=1722531263 ++ echo .git/objects/pack/pack-c2357b2b204fda52bc1f5515de94227e1db012af.mtimes 1722531263 ++ git repack -d --cruft --max-cruft-size=1M --cruft-expiration=10.seconds.ago Enumerating objects: 3, done. Counting objects: 100% (3/3), done. Writing objects: 100% (3/3), done. Total 3 (delta 0), reused 3 (delta 0), pack-reused 0 (from 0) Enumerating cruft objects: 1, done. Traversing cruft objects: 1, done. Counting objects: 100% (1/1), done. Writing objects: 100% (1/1), done. Total 1 (delta 0), reused 1 (delta 0), pack-reused 0 (from 0) ++ ls .git/objects/pack/pack-8f53f837597ebbdfc6f8ed173349e5cecbcfb97e.mtimes ++ sort +++ cat cruft.after ++ for cruft in $(cat cruft.after) +++ grep .git/objects/pack/pack-8f53f837597ebbdfc6f8ed173349e5cecbcfb97e.mtimes mtimes +++ cut '-d ' -f2 ++ old_mtime=1722531262 +++ test-tool chmtime --get .git/objects/pack/pack-8f53f837597ebbdfc6f8ed173349e5cecbcfb97e.mtimes ++ new_mtime=1722541267 ++ test 1722531262 -lt 1722541267 ++ test_line_count = 3 cruft.before ++ test 3 '!=' 3 +++ wc -l ++ test 3 = 3 ++ test_line_count = 2 cruft.after ++ test 3 '!=' 3 +++ wc -l ++ test 1 = 2 ++ echo 'test_line_count: line count for cruft.after != 2' test_line_count: line count for cruft.after != 2 ++ cat cruft.after .git/objects/pack/pack-8f53f837597ebbdfc6f8ed173349e5cecbcfb97e.mtimes ++ return 1 error: last command exited with $?=1 not ok 9 - --max-cruft-size with pruning