From: Martin Langhoff Date: Wed, 19 Oct 2005 10:07:02 GMT Subject: Re: git-send-pack segfaulting on DebianPPC Message-ID: <46a038f90510190307u232dd3e1u8644061e4eecb308@mail.gmail.com> In-Reply-To: <7v7jc9c15w.fsf@assigned-by-dhcp.cox.net> On 10/19/05, Junio C Hamano wrote: > Martin Langhoff writes: > > > ... However, git-fetch-pack is segfaulting on this Debian PPC > > (etch). This is true of the current git "master" and 0.99.8.c. I > > don'thave strace on the box until tomorrow, so I can't tell you more > > about it. > > Thanks, that is good to know. As I said in another message, I > looked at cg-fetch's current tag completion code while working > on the ref^{tree} thing, and saw it used commit walker with '-a' > option (IOW, not producing an incomplete tag) to download > everything. Ok -- I'm at home now so I can't test it any further, but reading cg-fetch, it would actually be running git-ssh-fetch which was failing (but cogito hides STDERR). When I tried it by hand, I used git-fetch-pack, which segfaulted on Debian PPC and worked on i386. > Even after fetch-pack segfaulted, since it does not update any > refs itself (it only writes them to stdout for the wrapper to > process), it should not have resulted in the repository that has > refs pointing at objects it does not have. In fact, it writes > its "SHA1 - name" list only after seeing unpack-objects exit > successfully, that should not have resulted in a corrupt > repository that records incomplete refs. I suspect there is > something else going on here. Hmmm. You're right, it only spits out a list of things to retrieve... > In cg-fetch, fetch-pack is used only in one location, and it > does not have anything to do with the tag completion code. > Presumably that explains why removing tags did not have any > effect, although it does not explain why removing some objects > did -- maybe those object files you needed to remove were > corrupt? Well, I'll strace the execution tomorrow and let you know. The tag objects, however, are there. I can reliably git-cat-file tag them and they look pretty normal. The commit objects they refer to are missing, though. cheers, martin