From: Nik Garza Date: Mon, 28 Apr 2025 22:55:05 GMT Subject: Re: bug report - BUG: builtin/pack-objects.c:4310: should_include_obj should only be called on existing objects Message-ID: In-Reply-To: <20250428192320.3595509-1-jonathantanmy@google.com> Resending.... I haven't been able to define a repro case unfortunately. The error surfaces randomly in our CI infrastructure. I'll take a look at some of the failures we have seen and try to come up with a repro. Will add a test if I can find something. On Mon, Apr 28, 2025 at 12:23 PM Jonathan Tan wrote: > > Elijah Newren writes: > > Cc'ing the author of that commit for his comments. > > I took a look. I'm not sure why I made the assumption that > should_include_obj() would only ever be called on objects in the repo > - in process_tree() in list-objects.c, the case of a missing object is > handled only after should_include_obj() is called. Looking back at the > earliest mention of this on the list [1] I don't see any clues either. > > In any case, the fix is probably to change it so that > should_include_obj() returns 0 if the object is absent. > > Having said that, I couldn't come up with a test that exercises this > failure mode. Nik, do you have a minimal repo that reproduces this > error? If yes, if you could contribute a test in the form of the 'after > fetching descendants of non-promisor commits, gc works' test in t5616, > that would help prevent regressions in the future. > > [1] https://lore.kernel.org/git/fb2c202591b466eea33b4585e47b70e9086603bb.1729549127.git.jonathantanmy@google.com/ -- Nikolas Garza Software Engineer nikolas@applied.co (209) 499-1193 Applied Intuition, Inc.