On Wed, 10 May 2006, Nicolas Pitre wrote: > > When linking with Electric Fence I can reproduce the segfault on Linux > as well. > > Looking into it now. Yeah, I get #0 0x1000bfe4 in create_delta (index=0xf7d758a0, trg_buf=0xf7d72eb8, trg_size=327, delta_size=0xffb422b4, max_size=143) at diff-delta.c:308 #1 0x10005734 in try_delta (trg=0xf7fdbfa0, src=0xf7fdbf94, src_index=0xf7d758a0, max_depth=10) at pack-objects.c:1049 #2 0x10005b04 in find_deltas (list=0xf7e32f54, window=11, depth=10) at pack-objects.c:1128 #3 0x10005ca0 in prepare_pack (window=10, depth=10) at pack-objects.c:1161 #4 0x1000677c in main (argc=3, argv=0xffb436e4) at pack-objects.c:1359 ie the "entry" chain seems to be corrupt in create_delta. Actually, it's not even the chain: it's the very first entry: (gdb) p index->hash[i] $2 = (struct index_entry *) 0xf7d7385c (gdb) p entry $3 = (struct index_entry *) 0xf7d7385c and it's not a random value - it looks perfectly valid. As do all the other index hash entries. It's just that the index hash entries seem to all have been freed, so accessing them causes a SIGSEV! Linus - : 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