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

SIGSEGV in merge recursive

From
LTLuben Tuikov <ltuikov@yahoo.com>
Date
Dec 29, 2006, 19:49 UTC
Message-ID
<699806.13055.qm@web31803.mail.mud.yahoo.com>
This time it happens when merging one of my git trees into another:

$git-pull . git-upstream Trying really trivial in-index merge... fatal: Merge requires file-level merging Nope. git-merge-recursive 777f68432f1db967573e5722bf0fd08af05e748f -- HEAD d985fdaf7a4b8b1dde313c8fad12983dc4ce20f7 Merging HEAD with d985fdaf7a4b8b1dde313c8fad12983dc4ce20f7 Merging: 52d5052 Merge branch 'git-upstream' into git-lt-work d985fda Merge branch 'next' into git-upstream found 1 common ancestor(s): 777f684 Merge branch 'next' into git-upstream Auto-merging .gitignore /home/luben/bin/git-merge: line 441: 2889 Segmentation fault git-merge-$strategy $common -- "$head_arg" "$@" Merge with strategy recursive failed.

(git-upstream has already had "next" merged into it without a problem.)
And here is the backtrace:

$gdb ~/bin/git-merge-recursive GNU gdb 6.5 Copyright (C) 2006 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i686-pc-linux-gnu"...Using host libthread_db library "/lib/libthread_db.so.1".

(gdb) run 777f68432f1db967573e5722bf0fd08af05e748f -- HEAD d985fdaf7a4b8b1dde313c8fad12983dc4ce20f7 Starting program: /home/luben/bin/git-merge-recursive 777f68432f1db967573e5722bf0fd08af05e748f -- HEAD d985fdaf7a4b8b1dde313c8fad12983dc4ce20f7 Failed to read a valid object file image from memory. Merging HEAD with d985fdaf7a4b8b1dde313c8fad12983dc4ce20f7 Merging: 52d5052 Merge branch 'git-upstream' into git-lt-work d985fda Merge branch 'next' into git-upstream found 1 common ancestor(s): 777f684 Merge branch 'next' into git-upstream Auto-merging .gitignore

Program received signal SIGSEGV, Segmentation fault.
0x08070469 in xdl_merge (orig=0xbff3aae0, mf1=0xbff3aad8, 
    name1=0x80f5208 "HEAD:.gitignore", mf2=0xbff3aad0, 
    name2=0x80f59a8 "d985fdaf7a4b8b1dde313c8fad12983dc4ce20f7:.gitignore", 
    xpp=0xbff3aae8, level=2, result=0xbff3aac8) at xdiff/xmerge.c:200
warning: Source file is more recent than executable.
200                      */
(gdb) bt
#0  0x08070469 in xdl_merge (orig=0xbff3aae0, mf1=0xbff3aad8, 
    name1=0x80f5208 "HEAD:.gitignore", mf2=0xbff3aad0, 
    name2=0x80f59a8 "d985fdaf7a4b8b1dde313c8fad12983dc4ce20f7:.gitignore", 
    xpp=0xbff3aae8, level=2, result=0xbff3aac8) at xdiff/xmerge.c:200
#1  0x0804a6c2 in merge_file (o=0xbff3accc, a=0xbff3ac74, b=0xbff3aca0, 
    branch1=0xbff3c928 "HEAD", 
    branch2=0xbff3c92d "d985fdaf7a4b8b1dde313c8fad12983dc4ce20f7")
    at merge-recursive.c:660
#2  0x0804c296 in merge_trees (head=0x80924c8, merge=0x80924e8, 
    common=0x8092508, branch1=<value optimized out>, 
    branch2=<value optimized out>, result=0xbff3add0) at merge-recursive.c:1067
#3  0x0804c9cd in merge (h1=0x80874c0, h2=0x8087544, 
    branch1=0xbff3c928 "HEAD", 
    branch2=0xbff3c92d "d985fdaf7a4b8b1dde313c8fad12983dc4ce20f7", 
    call_depth=0, ancestor=0x8087518, result=0xbff3ae24)
    at merge-recursive.c:1238
#4  0x0804cc78 in main (argc=3, argv=0xbff3aea4) at merge-recursive.c:1320
      Luben
Next: Junio C Hamano
Message 1 of 8 in “SIGSEGV in merge recursive”
  1. Luben TuikovDec 29, 2006
  2. Junio C HamanoDec 29, 2006
  3. Luben TuikovDec 29, 2006
  4. Johannes SchindelinDec 30, 2006
  5. Florian WeimerDec 30, 2006
  6. Luben TuikovDec 31, 2006
  7. Junio C HamanoDec 31, 2006
  8. Luben TuikovDec 31, 2006

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.