Re: git-fast-import crashes
- From
Shawn O. Pearce <spearce@spearce.org>
- Date
- Oct 13, 2007, 03:29 UTC
- Message-ID
- <20071013032916.GL27899@spearce.org>
- In-Reply-To
- <e66701d40710120242p6fc05148hd40d19d295373ac4@mail.gmail.com>
Shun Kei Leung <kevinlsk@gmail.com> 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;
...
Show 11 quoted lines
> (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.