Re: git-merge segfault in 1.6.6 and master
- From
Tim Olsen <tim@brooklynpenguin.com>
- Date
- Jan 21, 2010, 21:56 UTC
- Message-ID
- <4B58CD91.5000903@brooklynpenguin.com>
- In-Reply-To
- <20100121140057.GP12429@genesis.frugalware.org>
Miklos Vajna wrote:
> Two ideas to help debugging: > > - Can you try if this happens in a new repo as well? (If not, is the > repo public?) If yes, can you write a script that shows your problem?
The problem still happens in any clone of the repository, but I have not attempted to reproduce the problem in a fresh repository. I've put our repository up at git://les.limebits.net/site (warning: the repo is about 364MB). The following 3 commands will reproduce the problem:
git clone git://les.limebits.net/site cd site git merge origin/deployed
The problem starts with commit 9079b71b6f. I can merge its ancestors with no problem into the default branch (build-dav-sync-05). But commit 9079b71b6f and its descendents cause a segfault when merging into build-dav-sync-05.
> - Can you see if this happens with v1.6.0? If yes, can you bisect it?
With 1.6.0, the merge still fails but it doesn't outright segfault.
$ git merge origin/deployed Merge with strategy recursive failed. $
The output appears to be from line 1098 of builtin-merge.c. Bisecting finds that the outright segfaulting starts with commit 18668f53:
tolsen@neurofunk:~/git/git [git:NO BRANCH*]$ git bisect good 18668f5319b079cce29e19817bc352b1413e0908 is first bad commit commit 18668f5319b079cce29e19817bc352b1413e0908 Author: Miklos Vajna <vmiklos@frugalware.org> Date: Thu Aug 28 15:43:00 2008 +0200
builtin-merge: avoid run_command_v_opt() for recursive and subtree
The try_merge_strategy() function always ran the strategy in a separate
process, though this is not always necessary. The recursive and subtree
strategy can be called without a fork(). This patch adds a check, and
calls recursive in the same process without wasting resources. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>:100644 100644 9ad9791068c9330f28413ac67315246989c8d96d b857cf6246978846e0c19895fd6f66266cf6a6f4 M builtin-merge.c tolsen@neurofunk:~/git/git [git:NO BRANCH*]$
This leads me to believe the segfault may still be occurring in v1.6.0, but in a separate process.
Tim
> > Thanks.