Background issue is that at $dayjob I've an automated process performing cherrypicks on a server (basically waits to be modified of branches of interest, cherrypicks them on various targets, and pushes those new branches out), on a pretty large repository (a few GBs, though the cherrypicks tend to be only a few commits at a time).
Usually this works fine, but from time to time a cherrypick will fail with a status 128 (which apparently means a die() call), and the only output of
inflateInit: out of memory (no message)
- I've seen no commonality between the failing cherry-picks, they touch different files, have a different number of commits, different authors, ...
fsckon the repository (on the server) doesn't show anything suspicious- since there is no other output and
cherry-pickhas noverboseflag, there is no information coming from git - the memory load of the server is usually low (right now it's at 2.6GiB / 8GiB), it has plenty of headroom, and even with a serious repack (
-AbFd --window=500) everything fits within physical memory with room to spare - there is no CPU or memory load warning on the monitoring, though that is unlikely as the cherry-pick process finishes very quickly (<2s) and the monitoring doesn't poll anywhere near that fast
I'm not quite sure how to try and investigate the issue to resolve it, whether it's a configuration error (missing configuration), a usage problem, ...