Re: git fsck segmentation fault
- From
Simon Hausmann <simon@lst.de>
- Date
- Nov 28, 2008, 08:19 UTC
- Message-ID
- <200811280919.10685.simon@lst.de>
- In-Reply-To
- <alpine.LFD.2.00.0811271449500.14328@xanadu.home>
On Thursday 27 November 2008 Nicolas Pitre, wrote:
Show 38 quoted lines
> On Thu, 27 Nov 2008, Simon Hausmann wrote: > > On Thursday 27 November 2008 20:10:20 Simon Hausmann wrote: > > > On Thursday 27 November 2008 18:47:41 Nicolas Pitre wrote: > > > > On Thu, 27 Nov 2008, Simon Hausmann wrote: > > > > > Hi, > > > > > > > > > > when running git fsck --full -v (version 1.6.0.4.26.g7c30c) on a > > > > > medium sized > > > > > > > > That version doesn't exist in the git repo. > > > > > > Ah, oops, it was a merge commit, corresponding to maint as of 5aa3bd. > > > > > > > > (930M) repository I get a segfault. > > > > > > > > > > The backtrace indicates an infinite recursion. Here's the output > > > > > from the last few lines: > > > > > > > > [...] > > > > > > > > Could you try with latest master branch please? It is more robust > > > > against some kind of pack corruptions that could send the code into > > > > infinite loops. > > > > > > Same problem with git version 1.6.0.4.790.gaa14a > > > > Forgot to paste the changed line numbers of the recursion: > > [...] > > Well... Your initial backtrace showed recursion in unpack_entry() which > was rather odd in the first place. Your latest backtrace shows a loop > in make_object() which has nothing to do what so ever with > unpack_entry(). So the backtrace might not be really useful. > > I suspect you'll have to bisect git to find the issue, given that some > old version can be found to be good. For example, does it work with > v1.5.2.5?
Ah yes, v1.5.2.5 works! (phew, and it verified that the repo is fine)
Ok, I bisected and "git bisect run" identified the following commit as first bad commit:
commit 271b8d25b25e49b367087440e093e755e5f35aa9 Author: Martin Koegler <mkoegler@auto.tuwien.ac.at> Date: Mon Feb 25 22:46:05 2008 +0100
builtin-fsck: move away from object-refs to fsck_walk
Simon