Re: git-fast-import crashes
From: Shawn O. Pearce <hidden>
Date: 2016-06-15 22:43:41
Shun Kei Leung [off-list ref] wrote:
Program received signal EXC_BAD_ACCESS, Could not access memory. Reason: KERN_INVALID_ADDRESS at address: 0x64617469 in_window (win=0x5004d0, offset=3501) at sha1_file.c:701 701 off_t win_off = win->offset;
...
(gdb) print win
$1 = (struct pack_window *) 0x5004d0
(gdb) print *win
$2 = {
next = 0x64617461,
base = 0x20333936 <Address 0x20333936 out of bounds>,
offset = 22523564414626158,
len = 1685026675,
last_used = 795894075,
inuse_cnt = 0
}Wow. There's no way that struct pack_window is valid anymore. The base isn't a valid address. The offset cannot possibly be correct (you don't have that big of a packfile, do you?! What does `git count-objects -v` give you? I'm specifically interested in how many packfiles you have. The other thing that may be interesting to see is the value of pack_open_windows and peak_pack_open_windows (file scope in sha1_file.c). Then again, maybe that isn't interesting. This looks like it is memory corruption (e.g. someone overwriting a free'd segment), but that sort of memory corruption is very hard to track down. -- Shawn.