[Buildbot-devel] Win32 buildbot slave keepalive timing out

Brian Warner warner-buildbot at lothar.com
Mon Mar 24 07:26:11 UTC 2008

> It gets through my configure steps and starts the compile steps.  The
> slave is configured with a keepalive of 120 seconds.  After a few
> minutes into the compile step, the slave reports that it hasn't heard
> from the master in over 120 seconds and kills the build and
> disconnects, etc.

Hmm. I'm not excited about the keepalive code in buildbot (I'm able to use a
less touchy technique in Foolscap), but it should work most of the time. The
one case where I can imagine problems is if the buildslave is sending large
amounts of log output to the buildmaster, over a slow link. The actual
timeout for this purpose is 30 seconds. If there is more than (30 seconds *
upstream bandwidth) worth of traffic in the queue, then the keepalive message
will get stalled behind that traffic, and won't make it to the master and
back within the timeout.

Were your compile steps creating a lot of output?

If that's the problem, try increasing the timeout. To be honest, I don't
remember exactly how the keepalives and timeouts work in
buildbot/slave/bot.py right now.. the code is kind of weird. There are two
arguments to the BuildSlave class, though, which you might try playing with.
Edit your buildbot.tac file to modify the keepalive= and keepaliveTimeout=
values. I think you want to increase keepaliveTimeout=.

If that wasn't the problem, we'll have more digging to do.

> Has anyone else out there successfully run a Win32 buildbot slave as a
> VirtualBox VM guest?

The only way I can imagine this affecting things would be if, e.g., the
VirtualBox didn't forward network traffic while the CPU was busy, or
something. Who knows what its scheduler is doing.


More information about the devel mailing list