When hg push --chunked still throws abort: out of memory what should you do? - Kiln Knowledge Exchange most recent 30 from http://kiln.stackexchange.com 2013-05-26T05:10:56Z http://kiln.stackexchange.com/feeds/question/1337 http://www.creativecommons.org/licenses/by-nc/2.5/rdf http://kiln.stackexchange.com/questions/1337/when-hg-push-chunked-still-throws-abort-out-of-memory-what-should-you-do When hg push --chunked still throws abort: out of memory what should you do? Deva 2010-05-12T18:11:19Z 2010-11-29T15:52:46Z <p>Thanks in advance for your help, </p> <p>I have contacted FogCreek / Kiln, who directed me to this --chunked option {http://kiln.stackexchange.com/questions/396/what-if-im-having-trouble-importing-a-very-large-repository}... but it still does not seem to work... they suggested I try posting here to see if the community has any suggestions. </p> <p>I have a tried the hg push --chunked http://{my kiln repositry} command only to get the following results: searching for changes searching for changes searching for changes abort: out of memory</p> <p>We do have some large files checked into our repository - in particular .net framework 3.5 install, msde ect... which subversion handled no problem.. I saw a post that said that Hg will run out of memory on 10 meg file if the machine doing the push has 2 gig of ram or less... could that be affecting this? Is there any work around for large repositories with large files?</p> <p>Any ideas?</p> <p>-Deva</p> http://kiln.stackexchange.com/questions/1337/when-hg-push-chunked-still-throws-abort-out-of-memory-what-should-you-do/1342#1342 Answer by Benjamin Pollack for When hg push --chunked still throws abort: out of memory what should you do? Benjamin Pollack 2010-05-12T20:48:46Z 2010-11-29T15:52:46Z <p>Mercurial can handle small binary files just fine; in fact, we have a lot of them (some not really that small, in fact) in Kiln's own repository. The problem comes because Mercurial requires roughly <code>2 * sum(file sizes)</code> RAM to make a new changeset. Since Tortoise uses a 32-bit version of Mercurial, that means that commits need to be less than about 500 MB each for Mercurial to deal with them. Do you know whether you're over that limit?</p> <p><strong>ANSWER:</strong> I spoke to Deva on the phone. One of his changesets was well over 500 MB all by itself, which was indeed causing the problem. There were two parts to the solution:</p> <ol> <li>Push from a 64-bit machine.</li> <li>Bypass Kiln entirely for the initial push, since Kiln was running on a 32-bit machine.</li> </ol> <p>All of us on the Kiln team are keenly aware that Mercurial's handling of large binaries needs to be improved, and we're actively working on it right now. Stay tuned for announcements on that front over the next several months.</p>