On Wed, Jan 20, 2010 at 04:57:19PM -0500, Tim Olsen <tim@xxxxxxxxxxxxxxxxxxx> wrote: > 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.
Attachment:
pgpeQWvlmvoE2.pgp
Description: PGP signature