Excessive memory usage on push

Pierre-Yves David pierre-yves.david at ens-lyon.org
Wed Jun 24 03:26:50 UTC 2015



On 06/23/2015 06:56 PM, Matt Harbison wrote:
> I'm not sure what I've run into here, but I thought I would throw it out
> here to see if anyone has any ideas.
>
> I have 10.8.5, with hg 3.4.1 acting as a server at work.  I didn't enable
> evolve on it, but did enable the experimental config:
>
>       $ hg showconfig experimental
>       experimental.evolution=createmarkers,exchange,allowunstable
>
> It pulls from selenic.com at night, and I guess I would have expected it to
> pull the obsolete markers too.  The local hg repo I do the work on does
> have
> evolve enabled, but when I push from it to the Mac server, it looks like it
> is trying to push all of the evolve markers (or certainly way more than
> I've created locally).  The progressbar indicated it would take 20+
> minutes, so I let it run in the background.  When the whole system slowed
> to a crawl, I noticed the out of memory error, and task manager indicated
> that hg.exe was using 1.4GB of memory.  (This is Windows 7, 32 bit with 2GB
> of RAM.)
>
>       $ hg push -r tip home
>       pushing to https://mharbison@....
>       searching for changes
>       remote has heads on branch 'default' that are not known locally:
> 7fdd1782fc4e
>       remote: adding changesets
>       remote: adding manifests
>       remote: adding file changes
>       remote: added 8 changesets with 7 changes to 3 files (+1 heads)
>       pushing 75376 obsolescence markers in 1719 pushkey payload (11255670
> bytes)
>       abort: out of memory

This probably deserve and upstream bug. Can you try turning bundle2 on 
on you client to use a more modern exchange protocol ?

(set experimental.bundle2-exp=True on your client)

>
> The store/obsstore file on the server is 7,978,472 bytes, the local one is
> 8,981,240 bytes.  The local hg version is 3.4, evolve is 043e5ca9322f.

what does hg version --verbose says for evolve?

>  I'm not sure if this is expected (but undesired) behavior- I don't see a
> bug for it.  (Or is this a sign of obsolete cycles?)  I'm guessing if I
> enable evolve on the server, it will just fix itself, because I haven't
> had any issues like this at home using 'hg serve' between VirtualBox VMs
> with evolve on both sides.  Is there any debugging I should do before
> trying that, in case it hides/alters the problem?

First time I hear about it, could be useful to find out where is comes 
from (but moderably interested if it goes away with bundle2)


-- 
Pierre-Yves David



More information about the Evolve-testers mailing list