Subject: Re: Out of memory error during git push

From: Jonathan Nieder <[email-masked]>
Date: Fri, 20 Aug 2010 07:51:19 -0500

(+cc: Nicolas, who knows the packing code pretty well)

Hi,

Thomas Jampen wrote:

> I'm experiencing the following error while pushing a git repo (home
> directory) to my QNAP TS-210:
> 
> user@mypc:~$ git push origin master
> Counting objects: 12532, done.
> Delta compression using up to 2 threads.
> Compressing objects: 100% (8974/8974), done.
> fatal: Out of memory, malloc failed, 986.06 MiB | 1.65 MiB/s
> error: pack-objects died of signal 13

What version of git are you using?  Do you have overcommit accounting
enabled?

I am not sure this is the problem you are running into, but pack-objects
like many other parts of git uses mmap() to read packfiles, which can
make the address space usage high.

> I've searched the internet and found suggestions to try to repack with
> lower values for 'depth', 'window' and 'windowMemory'. I used 3, 3, 50
> respectively, but a push after the repack command resulted in the same
> error.
> 
> I tried git fsck which reported a few dangling blobs only and I got the
> same error again during the next push.
> 
> I watched /proc/meminfo and /proc/swaps on the NAS while pushing and saw
> that there are always 20-50MB of free RAM and that from 512MB swap space
> only about 180MB are used.

I don't know --- this is out of my depth. :)

Good luck,
Jonathan