Excessive memory usage on push

Matt Harbison mharbison72 at gmail.com
Wed Jun 24 01:56:00 UTC 2015


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

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.

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?


More information about the Evolve-testers mailing list