Nicolas Pitre <nico@xxxxxxx> writes: > On Tue, 17 Oct 2006, Junio C Hamano wrote: > >> Nicolas Pitre <nico@xxxxxxx> writes: >> >> > On Mon, 16 Oct 2006, Junio C Hamano wrote: >> > >> >> I'm still a bit under the weather and do not have enough >> >> concentration to dig into the problem tonight, but I noticed >> >> that something in "next", most likely the delta-base-offset >> >> patchset, broke git-index-pack: >> >> >> >> $ X=ec0c3491753e115e1775256f6b7bd1bce4dea7cd >> >> $ wget http://www.kernel.org/pub/scm/git/git.git/objects/pack/pack-$X.pack >> >> $ ~/git-master/bin/git-index-pack pack-$X.pack >> >> ec0c3491753e115e1775256f6b7bd1bce4dea7cd >> >> $ git-index-pack pack-$X.pack >> >> fatal: packfile 'pack-ec0c3491753e115e1775256f6b7bd1bce4dea7cd.pack' has unresolved deltas >> > >> > Using the tip of the "next" branch (git version 1.4.2.4.gf9fe) I just >> > cannot reproduce this problem at all. I always get a good index and >> > ec0c3491753e115e1775256f6b7bd1bce4dea7cd back. >> >> Hmph. I just got exactly the same breakage; could this be >> another 64-bit breakage? My breakage was on x86-64. > > I've been suspecting that since then as well. I indeed tested on i386. > But reviewing the code I just can't find any obvious spot where 64-bit > would be an issue, especially since your pack does not have any > OFS_DELTA objects. > > Could you instrument the code at the end of > index-pack.c:parse_pack_objects() to display how many deltas were > actually resolved and how many were not? IOW is it a case of all or > nothing, or is there an isolated case of corruption lurking somewhere? fatal: packfile 'pack-ec0c3491753e115e1775256f6b7bd1bce4dea7cd.pack' has 18915 unresolved ref-deltas and 0 ofs-deltas among 21205 By the way, "Gaaaah". Is this find_delta() called from find_delta_children() doing the right thing? I wonder if this is open to accidental collisions?. If you have an object name whose last 12-bytes are all NUL and you have a pack offset whose bytes happens to be a good prefix for an object, what happens? - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html