[Buildbot-devel] Buildbot through stacktrace during SVNPoller

Dustin J. Mitchell dustin at v.igoro.us
Sat Jun 25 00:06:28 UTC 2011


On Wed, Jun 22, 2011 at 4:38 PM, William Deegan
<bill at baddogconsulting.com> wrote:
> Interesting, what about using vfork() or similar or is there no way to call vfork from python?
> (It's a lazy copy fork)

vfork is not available in Python.

Here's an interesting post from Linus on the topic:

http://mail.python.org/pipermail/python-dev/1995-March/095464.html

which suggests, as other things do, that vfork is far from a "lazy
fork" (fork's already lazy).

Here's a post from (!) the scons mailing list analyzing some similar problems:

http://old.nabble.com/fork%28%29%2Bexec%28%29-vs-posix_spawn%28%29-td19224020.html

I think that the bottom line is that you should have a hefty amount of
swap space (at least the size of RAM) on your master systems, even if
you never intend to use it.  Another alternative is to monkey with the
overcommit settings in the linux kernel:

  http://www.centos.org/docs/4/4.5/Reference_Guide/s3-proc-sys-vm.html

although we have that set to 0 at Mozilla and we're still seeing
failures to fork in our masters..

Dustin




More information about the devel mailing list