Re: git-merge segfault in 1.6.6 and master
On Wed, Jan 20, 2010 at 04:57:19PM -0500, Tim Olsen <tim@brooklynpenguin.com> wrote:
Show 22 quoted lines
> It appears that a segfault still happens with your patch applied, but
> this time it is caught:
>
> tolsen@neurofunk:~/git/site-build-dav-sync-05 [git:build-dav-sync-05]$
> git merge origin/deployed
> error: merge-recursive died of signal 11
> Merge with strategy recursive failed.
> tolsen@neurofunk:~/git/site-build-dav-sync-05 [git:build-dav-sync-05]$
>
>
> > "common = NULL" means merged_common_ancestors->tree is NULL in the caller.
> > Somebody is passing a bogus commit in "ca" (aka common ancestors) list
> > when calling merge_recursive(), or forgetting to parse them before calling
> > it. In your debugger could you find out where it comes from and what it
> > has before this call into merge_trees() is made? Specifically, what the
> > "ca" list at 0x7b3c00 contains, and how "merged_common_ancestors" at
> > 0x121e360 looks like. in this trace we see below:
>
> Here is the replay of the flow of execution from the first time we enter
> merge_recursive(). The repository has been modified slightly so the
> pointers are different this time but the segfault is still happening
> (I'll stop modifying the repository now ;-) .
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?
- Can you see if this happens with v1.6.0? If yes, can you bisect it?
Thanks.