Re: [PATCH 2/2] index-pack: reduce memory usage when the pack has large blobs
- From
- Ian Kumlien <pomac@vapor.com>
- Date
- Feb 26, 2012, 13:28 UTC
- Message-ID
- <20120226132834.GK9526@pomac.netswarm.net>
- In-Reply-To
- <CACsJy8Cncs8RYiSB0N20vy9zu2NRTTHpfw3rSfmW64i-4_wxSw@mail.gmail.com>
On Sun, Feb 26, 2012 at 11:10:14AM +0700, Nguyen Thai Ngoc Duy wrote:
Show 9 quoted lines
> On Sun, Feb 26, 2012 at 5:45 AM, Ian Kumlien <pomac@vapor.com> wrote: > > Actually, i added a backtrace and used addr2line to confirm my > > suspicion... which is: > > builtin/index-pack.c:414 > > > > ie get_data_from_pack... > > That function should only be called when objects are deltified, which > should _not_ happen for large blobs. What is its caller?
Full backtrace:
for x in 0x536031 0x451b0e 0x452212 0x4523f5 0x452711 0x452799 0x452bbb 0x454344 0x4170d1 0x41726c ; do addr2line $x -e ../git/git ; done git/wrapper.c:41 git/builtin/index-pack.c:414 git/builtin/index-pack.c:588 git/builtin/index-pack.c:625 git/builtin/index-pack.c:679 git/builtin/index-pack.c:694 git/builtin/index-pack.c:805 git/builtin/index-pack.c:1246 git/git.c:308 git/git.c:467
Which means: xmalloc get_data_from_pack get_base_data -- line just after: if (!delta_nr) { resolve_delta find_unresolved_deltas_1 find_unresolved_deltas parse_pack_objects cmd_index_pack [skipping the git.c part]
Btw, i'm running these tests on a 64 bit laptop - since i'm not at work ;) (had to manually limit xmalloc but it triggers at the same point)