From: Luben Tuikov <ltuikov@yahoo.com>
To: Shawn Pearce <spearce@spearce.org>
Cc: Linus Torvalds <torvalds@osdl.org>, git@vger.kernel.org
Subject: Re: git-merge-recursive segmentation error
Date: Tue, 19 Dec 2006 18:39:45 -0800 (PST) [thread overview]
Message-ID: <289759.11706.qm@web31808.mail.mud.yahoo.com> (raw)
In-Reply-To: <20061220023223.GC27638@spearce.org>
--- Shawn Pearce <spearce@spearce.org> wrote:
> Luben Tuikov <ltuikov@yahoo.com> wrote:
> > --- Linus Torvalds <torvalds@osdl.org> wrote:
> > > Can you run that by hand under gdb and get a backtrace?
> >
> > Linus,
> >
> > Auto-merging init/Kconfig
> > Auto-merging init/version.c
> >
> > Program received signal SIGSEGV, Segmentation fault.
> > xdl_merge (orig=Variable "orig" is not available.
> > ) at xdiff/xmerge.c:200
> > 200 t2.ptr = (char *)xe2->xdf2.recs[m->i2]->ptr;
> > (gdb) bt
> > #0 xdl_merge (orig=Variable "orig" is not available.
> > ) at xdiff/xmerge.c:200
> > #1 0x000000000040322c in merge_file (o=0x7fffd4f762f0, a=0x7fffd4f76270, b=0x7fffd4f762b0,
> > branch1=0x7fffd4f77976 "HEAD",
> > branch2=0x7fffd4f7797b "cc016448b0bf0764928275d034e367753bde8162") at
> merge-recursive.c:667
> > #2 0x0000000000404e87 in merge_trees (head=0x12e4a00, merge=0x555328, common=0x555350,
> > branch1=Variable "branch1" is not available.
> > ) at merge-recursive.c:1074
> > #3 0x0000000000405376 in merge (h1=0x5452f0, h2=0x545370, branch1=0x7fffd4f77976 "HEAD",
> > branch2=0x7fffd4f7797b "cc016448b0bf0764928275d034e367753bde8162", call_depth=0,
> > ancestor=0x5453f0, result=0x7fffd4f764e0) at merge-recursive.c:1245
> > #4 0x00000000004056a5 in main (argc=Variable "argc" is not available.
> > ) at merge-recursive.c:1312
> >
> > I also ran git-bisect twice over two well known but overlapping
> > good-bad regions and I get the same commit as being the culprit.
> > It seems to be commit 1510fea781cb0517eeba8c378964f7bc4f9577ab.
>
> Oww, the finger points at me! :-)
>
> Hmm. 1510fe does not look right to me. That return 0 should only
> be activating when FAST_WORKING_DIRECTORY == 0, so you really want
> this patch below. Normally NO_FAST_WORKING_DIRECTORY is _not_
> defined, which means FAST_WORKING_DIRECTORY == 1, and in that case
> the if should always be false and the compiler should be stripping
> the code out entirely.
>
> What's odd is that the xdl_merge routine is crashing out because
> this code activated. It really should not have, so more work is
> still required...
Thanks. It is good to see that the solution patches are identical.
That fixes the problem.
Luben
>
> diff --git a/diff.c b/diff.c
> index 77ba641..1c1de11 100644
> --- a/diff.c
> +++ b/diff.c
> @@ -1194,7 +1194,7 @@ static int reuse_worktree_file(const char *name, const unsigned char
> *sha1, int
> * objects however would tend to be slower as they need
> * to be individually opened and inflated.
> */
> - if (FAST_WORKING_DIRECTORY && !want_file && has_sha1_pack(sha1, NULL))
> + if (!FAST_WORKING_DIRECTORY && !want_file && has_sha1_pack(sha1, NULL))
> return 0;
>
> len = strlen(name);
>
next prev parent reply other threads:[~2006-12-20 2:39 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-12-20 1:00 git-merge-recursive segmentation error Luben Tuikov
2006-12-20 1:10 ` Linus Torvalds
2006-12-20 2:15 ` Luben Tuikov
2006-12-20 2:25 ` Junio C Hamano
2006-12-20 2:30 ` Junio C Hamano
2006-12-20 2:33 ` Johannes Schindelin
2006-12-20 2:38 ` Luben Tuikov
2006-12-20 2:43 ` Shawn Pearce
2006-12-20 3:45 ` Junio C Hamano
2006-12-20 2:32 ` Shawn Pearce
2006-12-20 2:39 ` Luben Tuikov [this message]
2006-12-20 1:18 ` Johannes Schindelin
2006-12-20 2:18 ` Luben Tuikov
2006-12-20 2:31 ` Johannes Schindelin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=289759.11706.qm@web31808.mail.mud.yahoo.com \
--to=ltuikov@yahoo.com \
--cc=git@vger.kernel.org \
--cc=spearce@spearce.org \
--cc=torvalds@osdl.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.