[Buildbot-devel] Concurrent builds on different slaves

Jean-Paul Calderone exarkun at divmod.com
Wed Nov 12 00:35:55 UTC 2008


On Tue, 11 Nov 2008 19:32:39 -0500, Jean-Paul Calderone <exarkun at divmod.com> wrote:
>On Tue, 11 Nov 2008 19:30:34 -0500, Jean-Paul Calderone <exarkun at divmod.com> wrote:
>>On Tue, 11 Nov 2008 19:27:49 -0500, "Dustin J. Mitchell" <dustin at zmanda.com> wrote:
>>>On Tue, Nov 11, 2008 at 6:41 PM, Jean-Paul Calderone <exarkun at divmod.com> wrote:
>>>>        'locks': [oneCPULock]}
>>>...
>>>> However, when I do this, builds across the two builders seem to end up
>>>> serialized instead of parallelised.  However, just to make things complicated,
>>>> *some* builds will run in parallel.  I cannot discern what pattern these
>>>> builds follow, though.
>>>
>>>Your "slave.copy()" is a shallow copy, so those slaves are sharing a
>>>single lock object.
>>
>>Completely true.  Is that bad?  My reading of the documentation is that
>>this is fine.  I suppose I could see how the exact opposite interpretation
>>could be extracted, though, now that you point out that this might be a
>>bad thing.
>>
>
>Ah.  Also, I've been sharing locks between different slaves like this
>for a long time and it's never resulted in behavior like I'm now observing.
>The only thing I haven't done before is use a lock with a builder which has
>multiple slaves associated with it.
>

I also now see that there are some tracebacks in my master log file:

2008-11-11 18:50:30-0500 [-] Unhandled error in Deferred:
2008-11-11 18:50:30-0500 [-] Unhandled Error
        Traceback (most recent call last):
          File "/srv/bb-master/Projects/Twisted/trunk/twisted/internet/defer.py", line 182, in addCallbacks
            self._runCallbacks()
          File "/srv/bb-master/Projects/Twisted/trunk/twisted/internet/defer.py", line 317, in _runCallbacks
            self.result = callback(self.result, *args, **kw)
          File "/srv/bb-master/Projects/Twisted/trunk/twisted/internet/defer.py", line 281, in _continue
            self.unpause()
          File "/srv/bb-master/Projects/Twisted/trunk/twisted/internet/defer.py", line 277, in unpause
            self._runCallbacks()
        --- <exception caught here> ---
          File "/srv/bb-master/Projects/Twisted/trunk/twisted/internet/defer.py", line 317, in _runCallbacks
            self.result = callback(self.result, *args, **kw)
          File "/srv/bb-master/.local/lib/python2.4/site-packages/buildbot/process/base.py", line 366, in _startBuild_2
            self.build_status.buildStarted(self)
          File "/srv/bb-master/.local/lib/python2.4/site-packages/buildbot/status/builder.py", line 1149, in buildStarted
            self.builder.buildStarted(self)
          File "/srv/bb-master/.local/lib/python2.4/site-packages/buildbot/status/builder.py", line 1669, in buildStarted
            assert s.number == self.nextBuildNumber - 1
        exceptions.AssertionError: 

And several builders are now stuck - they render yellow on the waterfall,
but no build is rendered for them.

Jean-Paul




More information about the devel mailing list