Hi,
I was able to narrow down the problem and I do have an idea for a fix. diff --git a/builtin/backfill.c b/builtin/backfill.c
index 33e1ea2f84..18f9701487 100644
--- a/builtin/backfill.c
+++ b/builtin/backfill.c
@@ -123,7 +123,7 @@ int cmd_backfill(int argc, const char **argv, const char *prefix, struct reposit
.sparse = 0,
};
struct option options[] = {
- OPT_INTEGER(0, "min-batch-size", &ctx.min_batch_size,
+ OPT_MAGNITUDE(0, "min-batch-size", &ctx.min_batch_size,
N_("Minimum number of objects to request at a time")),
OPT_BOOL(0, "sparse", &ctx.sparse,
N_("Restrict the missing objects to the current sparse-checkout")),
This is passing all of the test cases. But with this change a size_t pointer is being cast to an unsigned long pointer. This could potentially lead to some issue in some architecture. If I can verify that the min_batch_size variable (which is a size_t var) is not taking a value larger than an int could store, then we can change its data type from size_t to int. So, I was checking if there is any evidence that indicates a potential range for min_batch_size. I was also planning to ping with the upstream community for clarification. Thanks, Pranav From: Pranav P <pranav.p7@ibm.com>
Sent: Monday, April 21, 2025 10:08 AM To: Bastian Blank <waldi@debian.org>; debian-s390 <debian-s390@lists.debian.org>; 1102106@bugs.debian.org <1102106@bugs.debian.org>; elbrus <elbrus@debian.org> Subject: Re: [EXTERNAL] Re: git ftbfs on s390x (test failures)
Hi,
I was able to reproduce the issue. I will update all of my findings in the mailing list. Thanks, Pranav From: Bastian Blank <waldi@debian.org>
Sent: Thursday, April 17, 2025 4:45 PM To: debian-s390 <debian-s390@lists.debian.org>; 1102106@bugs.debian.org <1102106@bugs.debian.org> Subject: [EXTERNAL] Re: git ftbfs on s390x (test failures) On Thu, Apr 17, 2025 at 12:46:08PM +0200, Paul Gevers wrote:
> > git ftbfs on s390x (test failures), there's no good summary on the build > > log: The failing test is: | expecting success of 5620.4 'do partial clone 2, backfill min batch size': | git clone --no-checkout --filter=blob:none \ | --single-branch --branch=main \ | "file://$(pwd)/srv.bare" backfill2 && | | GIT_TRACE2_EVENT="$(pwd)/batch-trace" git \ | -C backfill2 backfill --min-batch-size=20 && | | # Batches were used | test_trace2_data promisor fetch_count 20 <batch-trace >matches && | test_line_count = 2 matches && | test_trace2_data promisor fetch_count 8 <batch-trace && | | # No more missing objects! | git -C backfill2 rev-list --quiet --objects --missing=print HEAD >revs2 && | test_line_count = 0 revs2 | | Cloning into 'backfill2'... | not ok 4 - do partial clone 2, backfill min batch size >From the test log it's not remotely possible to see what is going on. Bastian -- I'm a soldier, not a diplomat. I can only tell the truth. -- Kirk, "Errand of Mercy", stardate 3198.9 |