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

Re: SEGV in git-merge recursive:

From
Alex Riesen <raa.lkml@gmail.com>
Date
Mar 29, 2007, 20:44 UTC
Message-ID
<20070329204458.GD2809@steel.home>
In-Reply-To
<Pine.LNX.4.64.0703291237240.6730@woody.linux-foundation.org>
Linus Torvalds, Thu, Mar 29, 2007 21:40:53 +0200:
Show 14 quoted lines
> 
> 
> On Thu, 29 Mar 2007, Linus Torvalds wrote:
> > 
> > It's not the initial commit. It's a criss-cross merge, and it's a virtual 
> > commit created by a previous level of merging.
> > 
> > Apply this patch to see it blow up much earlier, when that bogus commit 
> > with a NULL tree is created.
> > 
> > (I didn't debug *why* that happens, but maybe this gets somebody further)
> 
> Well, it happens because "git_write_tree()" returns NULL. Which in turn is 
> because "unmerged_index()" returns true. 

which in turn is because the inner merge has a rename/rename conflict. See the repo in the tarball from <20070329185501.GC2809@steel.home>

> merge_trees() tries to clean up the unmerged index, but apparently doesn't 
> do good enough of a job, so git_write_tree() is called with entries still 
> unmerged..
I see no "job" at all: no index cleanup there (merge_trees).
Previous: Linus TorvaldsNext: Johannes Schindelin
Message 18 of 31 in “SEGV in git-merge recursive:”
  1. Tom PrinceMar 29, 2007
  2. Alex RiesenMar 29, 2007
  3. Tom PrinceMar 29, 2007
  4. Alex RiesenMar 29, 2007
  5. Tom PrinceMar 29, 2007
  6. Alex RiesenMar 29, 2007
  7. Tom PrinceMar 29, 2007
  8. Alex RiesenMar 29, 2007
  9. Alex RiesenMar 29, 2007
  10. Tom PrinceMar 29, 2007
  11. Alex RiesenMar 29, 2007
  12. Alex RiesenMar 29, 2007
  13. Alex RiesenMar 29, 2007
  14. An attempt to resolve a rename/rename conflict in recursive mergeAlex Riesen, Mar 29, 2007
  15. Alex RiesenMar 29, 2007
  16. Linus TorvaldsMar 29, 2007
  17. Linus TorvaldsMar 29, 2007
  18. Alex RiesenMar 29, 2007
  19. Johannes SchindelinMar 30, 2007
  20. Linus TorvaldsMar 31, 2007
  21. Linus TorvaldsMar 31, 2007
  22. Alex RiesenMar 31, 2007
  23. Keep rename/rename conflicts of intermediate merges while doing recursive mergeAlex Riesen, Mar 31, 2007
  24. Jakub NarebskiMar 31, 2007
  25. Johannes SchindelinMar 31, 2007
  26. Johannes SchindelinMar 31, 2007
  27. Linus TorvaldsMar 31, 2007
  28. Alex RiesenMar 31, 2007
  29. Junio C HamanoMar 31, 2007
  30. Johannes SchindelinMar 31, 2007
  31. Tom PrinceMar 29, 2007

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.