On Thu, 26 Apr 2007, Christian wrote: > Julian Phillips wrote: > > Loaded symbols for /lib/tls/libnss_dns.so.2 > #0 decode_tree_entry (desc=0xbff5110c, buf=0x0, size=454) at tree-walk.c:10 > 10 while ((c = *str++) != ' ') { > (gdb) bt > #0 decode_tree_entry (desc=0xbff5110c, buf=0x0, size=454) at tree-walk.c:10 > #1 0x0804b9a8 in mark_tree_uninteresting (tree=0x80d0240) at revision.c:65 > #2 0x080534cd in main (argc=2, argv=Cannot access memory at address 0x1ca > ) at http-push.c:1998 It looks like some strange corruption in http-push. You seem to have a NULL "buf" pointer (which certainly explains a SIGSEGV!), but mark_tree_uninteresting will have done if (parse_tree(tree) < 0) die("bad tree %s", sha1_to_hex(obj->sha1)); init_tree_desc(&desc, tree->buffer, tree->size); while (tree_entry(&desc, &entry)) { .. and tree_entry() does *entry = desc->entry; update_tree_entry(desc); and none of that sets "entry->buf" to NULL unless "size" was also zero. Can you run it under something like valgrind? You'd need to run "git-http-push" directly (as I don't think valgrind follows forks, and even if you can make it do so some way that would just be horribly slow and hard to debug). Linus - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html