Hi, On Fri, 30 Jan 2009, Brian Moran wrote: > I am getting a bus error on a git merge, including the more recent versions. > Following the instructions from a bug August, I got the latest sources, > compiled them up, and executed the merge in the debugger to repro. Here¹s > what I found: Is it possible that your branch has submodules? > gdb ../git-1.6.1.2/git-merge > GNU gdb 6.3.50-20050815 (Apple version gdb-768) (Tue Oct 2 04:07:49 UTC > 2007) > Copyright 2004 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 "i386-apple-darwin"...Reading symbols for shared > libraries ........ done > > (gdb) set args -v v1-ftp-support > (gdb) run > Starting program: /Users/bmo/Documents/repo/git-1.6.1.2/git-merge -v > v1-ftp-support > Reading symbols for shared libraries +++++++. done > > Program received signal EXC_BAD_ACCESS, Could not access memory. > Reason: KERN_PROTECTION_FAILURE at address: 0x00000004 > 0x000863c3 in sha_eq (a=0x4 <Address 0x4 out of bounds>, b=0x7bf004 "<some > random chars>") at cache.h:575 > 575 return memcmp(sha1, sha2, 20); > > (gdb) backtrace > #0 0x000863c3 in sha_eq (a=0x4 <Address 0x4 out of bounds>, b=0x7bf004 > "<some random chars>") at cache.h:575 > #1 0x00086dc6 in merge_trees (o=0xbfffedd4, head=0x7bf020, merge=0x7bf000, > common=0x0, result=0xbfffed28) at merge-recursive.c:1164 common=0x0, that's the issue. > #2 0x00088960 in merge_recursive (o=0xbfffedd4, h1=0x4f4060, h2=0x4f4000, > ca=0x53cc20, result=0xbfffee2c) at merge-recursive.c:1294 However, here I read in my version of merge-recursive.c that "common" is the tree of merged_common_ancestor, which is either set to "pop_commit(&ca)", i.e. to one of the common ancestors, or to a virtual commit, that must have a tree. So it would be good if you could debug this further, letting me know where the merged_common_ancestor came from, and why it does not have a tree. Thanks, Dscho