[Buildbot-devel] Log polling errors

Brian Warner warner-buildbot at lothar.com
Sun Aug 6 22:38:00 UTC 2006


> I don't know why the file being polled does not exist on this one slave; I
> suppose it is a race of some sort. However, since the exception prevents
> the LoopingCall used by the poller from being started, when the loop is
> eventually stopped, another exception occurs. This seems to confuse the
> buildmaster and the slave becomes indefinitely wedged.

Good catch.. it is indeed a race between the command being started (in this
case trial) and the buildslave. There were actually a couple of races: trial
deletes the _trial_temp/ directory, then opens _trial_temp/test.log, vs the
buildslave os.stat'ing test.log once, then coming back and trying to open it
for real.

I fixed the race condition properly, by not freaking out if the file doesn't
exist when we look for it, and added a couple of unit tests to exercise that
case. I also applied your poller patch as a failsafe.

thanks,
 -Brian




More information about the devel mailing list