git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: git-merge segfault in 1.6.6 and master

From
Tim Olsen <tim@brooklynpenguin.com>
Date
Jan 21, 2010, 16:37 UTC
Message-ID
<4B5882BD.3090908@brooklynpenguin.com>
In-Reply-To
<7vtyugzabq.fsf@alter.siamese.dyndns.org>
Junio C Hamano wrote:
Show 20 quoted lines
> Tim Olsen <tim@brooklynpenguin.com> writes:
>> Breakpoint 8, write_tree_from_memory (o=0x7fffffffd560) at
>> merge-recursive.c:210
>> (gdb) list
>> 205				struct cache_entry *ce = active_cache[i];
>> 206				if (ce_stage(ce))
>> 207					output(o, 0, "%d %.*s", ce_stage(ce),
>> 208					       (int)ce_namelen(ce), ce->name);
>> 209			}
>> 210			return NULL;
>> 211		}
>> 212	
>> 213		if (!active_cache_tree)
>> 214			active_cache_tree = cache_tree();
>> (gdb)
> 
> Are you saying write_tree_from_memory() is returning NULL?  That probably
> means that in the recursive (i.e. the step that first merges multiple
> common ancestors into one) case the merge is getting conflicts.  Do you
> see these "There are unmerged index entries" output?

write_tree_from_memory() is returning NULL. Stepping through the execution in gdb shows it returning NULL at line 210.

I do not see any output, however:

$ git merge origin/deployed Segmentation fault $

Show 5 quoted lines
> In the recursive case (i.e. o->call_depth is non-zero), process_renames()
> and process_entry() are supposed to be forcing the conflicts resolved,
> recording the contents with conflict markers if necessary, before the
> control gets to that point, so it clearly is a bug very specific to the
> recursive merge implementation.

Setting breakpoints on process_renames() and process_entry() shows that they are being executed. Is there anything I can gather from their execution that would help you?

Tim
Previous: Junio C HamanoNext: Junio C Hamano
Message 5 of 10 in “git-merge segfault in 1.6.6 and master”
  1. Tim OlsenJan 20, 2010
  2. Junio C HamanoJan 20, 2010
  3. Tim OlsenJan 20, 2010
  4. Junio C HamanoJan 20, 2010
  5. Tim OlsenJan 21, 2010
  6. Junio C HamanoJan 21, 2010
  7. Junio C HamanoJan 22, 2010
  8. Junio C HamanoJan 22, 2010
  9. Miklos VajnaJan 21, 2010
  10. Tim OlsenJan 21, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.