From: <rsbecker@nexbridge.com>
To: <rsbecker@nexbridge.com>, <git@vger.kernel.org>
Subject: RE: [BUG] 2.44.0 t7704.9 Fails on NonStop ia64
Date: Sun, 25 Feb 2024 14:08:35 -0500 [thread overview]
Message-ID: <01be01da681e$0c349090$249db1b0$@nexbridge.com> (raw)
In-Reply-To: <01bd01da681a$b8d70a70$2a851f50$@nexbridge.com>
On Sunday, February 25, 2024 1:45 PM, I wrote:
>To: git@vger.kernel.org
>Subject: [BUG] 2.44.0 t7704.9 Fails on NonStop ia64
>
>This appears to be a new issue introduced at 2.44.0. It only occurs on
NonStop ia64
>but not on x86. I am not sure why this is happening although 1Mb exceeds
the
>single I/O size on this machine.
>
>expecting success of 7704.9 '--max-cruft-size with pruning':
> git init max-cruft-size-prune &&
> (
> cd max-cruft-size-prune &&
>
> test_commit base &&
> foo="$(generate_random_blob foo $((1024*1024)))" &&
> bar="$(generate_random_blob bar $((1024*1024)))" &&
> baz="$(generate_random_blob baz $((1024*1024)))" &&
>
> test-tool chmtime -10000 "$objdir/$(test_oid_to_path
"$foo")" &&
>
> git repack -d --cruft --max-cruft-size=1M &&
>
> # backdate the mtimes of all cruft packs to validate
> # that they were rewritten as a result of pruning
> ls $packdir/pack-*.mtimes | sort >cruft.before &&
> for cruft in $(cat cruft.before)
> do
> mtime="$(test-tool chmtime --get -10000 "$cruft")"
>&&
> echo $cruft $mtime >>mtimes || return 1
> done &&
>
> # repack (and prune) with a --max-cruft-size to ensure
> # that we appropriately split the resulting set of packs
> git repack -d --cruft --max-cruft-size=1M \
> --cruft-expiration=10.seconds.ago &&
> ls $packdir/pack-*.mtimes | sort >cruft.after &&
>
> for cruft in $(cat cruft.after)
> do
> old_mtime="$(grep $cruft mtimes | cut -d" " -f2)"
&&
> new_mtime="$(test-tool chmtime --get $cruft)" &&
> test $old_mtime -lt $new_mtime || return 1
> done &&
>
> test_line_count = 3 cruft.before &&
> test_line_count = 2 cruft.after &&
> test_must_fail git cat-file -e $foo &&
> git cat-file -e $bar &&
> git cat-file -e $baz
> )
>
>Initialized empty Git repository in
>/home/ituglib/randall/jenkins/.jenkins/workspace/Git_Pipeline/t/trash
>directory.t7704-repack-cruft/max-cruft-size-prune/.git/
>[master (root-commit) d1ff1c9] base
> Author: A U Thor mailto:author@example.com
> 1 file changed, 1 insertion(+)
> create mode 100644 base.t
>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) 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: 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 #
># git init max-cruft-size-prune &&
># (
># cd max-cruft-size-prune &&
>#
># test_commit base &&
># foo="$(generate_random_blob foo $((1024*1024)))" &&
># bar="$(generate_random_blob bar $((1024*1024)))" &&
># baz="$(generate_random_blob baz $((1024*1024)))" &&
>#
># test-tool chmtime -10000
"$objdir/$(test_oid_to_path
>"$foo")" &&
>#
># git repack -d --cruft --max-cruft-size=1M &&
>#
># # backdate the mtimes of all cruft packs to
validate
># # that they were rewritten as a result of pruning
># ls $packdir/pack-*.mtimes | sort >cruft.before &&
># for cruft in $(cat cruft.before)
># do
># mtime="$(test-tool chmtime --get -10000
>"$cruft")" &&
># echo $cruft $mtime >>mtimes || return 1
># done &&
>#
># # repack (and prune) with a --max-cruft-size to
>ensure
># # that we appropriately split the resulting set of
>packs
># git repack -d --cruft --max-cruft-size=1M \
># --cruft-expiration=10.seconds.ago &&
># ls $packdir/pack-*.mtimes | sort >cruft.after &&
>#
># for cruft in $(cat cruft.after)
># do
># old_mtime="$(grep $cruft mtimes | cut -d" "
>-f2)" &&
># new_mtime="$(test-tool chmtime --get
>$cruft)" &&
># test $old_mtime -lt $new_mtime || return 1
># done &&
>#
># test_line_count = 3 cruft.before &&
># test_line_count = 2 cruft.after &&
># test_must_fail git cat-file -e $foo &&
># git cat-file -e $bar &&
># git cat-file -e $baz
># )
>#
>1..9
I did find the following calls to write(), one of which might be involved.
write() should not be used directly unless the count is clearly very small.
Xwrite() should be used instead. There are other calls but those are either
small or not on platform.
reftable/writer.c: int n = w->write(w->write_arg, zeroed,
w->pending_padding);
reftable/writer.c: n = w->write(w->write_arg, data, len);
run-command.c: len = write(io->fd, io->u.out.buf,
t/helper/test-path-utils.c: if (write(1, buffer, count)
< 0)
t/helper/test-windows-named-pipe.c: write(1, buf, nbr);
t/helper/test-windows-named-pipe.c: write(1, buf, nbr);
trace2/tr2_dst.c: bytes = write(fd, buf_line->buf, buf_line->len);
next prev parent reply other threads:[~2024-02-25 19:08 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-25 18:44 [BUG] 2.44.0 t7704.9 Fails on NonStop ia64 rsbecker
2024-02-25 19:08 ` rsbecker [this message]
2024-02-25 19:19 ` Torsten Bögershausen
2024-02-25 20:36 ` rsbecker
2024-02-26 15:32 ` Phillip Wood
2024-02-26 15:52 ` rsbecker
2024-02-26 16:00 ` Phillip Wood
2024-02-26 18:03 ` rsbecker
2024-02-26 19:02 ` rsbecker
2024-02-26 19:45 ` phillip.wood123
2024-02-27 8:45 ` Patrick Steinhardt
2024-02-27 10:43 ` phillip.wood123
2024-02-27 14:10 ` rsbecker
2024-02-27 14:22 ` Patrick Steinhardt
2024-02-27 14:28 ` rsbecker
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='01be01da681e$0c349090$249db1b0$@nexbridge.com' \
--to=rsbecker@nexbridge.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).