[Buildbot-devel] problem with buildbot try, subversion, and large diffs

Andrew Lawrence andrew at parascale.com
Tue Feb 9 09:29:40 UTC 2010


We're attempting to use buildbot try to give our developers an easy way to
build and test on all of our supported platforms, but we're having problems
with the transport mechanism buildbot uses to send the diffs across to the
buildmaster.  We frequently encounter the error message below, apparently
because the function used from the twisted library limits the size of the
diff that can be sent to the buildmaster to 640k.

Compounding this problem is the way buildbot try attempts to replicate the
base revision that exists in the client workspace.  Since it generates a
diff between the client's tree and the current revision in the repository,
has the buildslaves check out the current revision, and patch to get back to
the revision in the user's client workspace (instead of having the
buildslaves used for the try build check out the revision used in the user's
client workspace, then applying only the user's changes as a patch), if
there have been more than 640k of changes to the source tree since the user
checked out the tree, buildbot try will encounter this same error for even a
very small change.

Is there some way I can configure buildbot to get around this?


thanks,
--Andrew


[andrew at phi sm40-8790]$ buildbot try
using 'pb' connect method
job created
Traceback (most recent call last):
  File "/usr/lib/python2.4/site-packages/twisted/internet/defer.py", line
285, in unpause
    self._runCallbacks()
  File "/usr/lib/python2.4/site-packages/twisted/internet/defer.py", line
328, in _runCallbacks
    self.result = callback(self.result, *args, **kw)
  File "/usr/lib/python2.4/site-packages/twisted/internet/defer.py", line
289, in _continue
    self.unpause()
  File "/usr/lib/python2.4/site-packages/twisted/internet/defer.py", line
285, in unpause
    self._runCallbacks()
--- <exception caught here> ---
  File "/usr/lib/python2.4/site-packages/twisted/internet/defer.py", line
328, in _runCallbacks
    self.result = callback(self.result, *args, **kw)
  File "/usr/lib/python2.4/site-packages/buildbot/scripts/tryclient.py",
line 497, in _deliverJob_pb
    self.config.get('properties', {}))
  File "/usr/lib/python2.4/site-packages/twisted/spread/pb.py", line 340, in
callRemote
    _name, args, kw)
  File "/usr/lib/python2.4/site-packages/twisted/spread/pb.py", line 833, in
_sendMessage
    self.sendCall(prefix+"message", requestID, objectID, message,
answerRequired, netArgs, netKw)
  File "/usr/lib/python2.4/site-packages/twisted/spread/pb.py", line 547, in
sendCall
    self.sendEncoded(exp)
  File "/usr/lib/python2.4/site-packages/twisted/spread/banana.py", line
277, in sendEncoded
    self._encode(obj, io.write)
  File "/usr/lib/python2.4/site-packages/twisted/spread/banana.py", line
289, in _encode
    self._encode(elem, write)
  File "/usr/lib/python2.4/site-packages/twisted/spread/banana.py", line
289, in _encode
    self._encode(elem, write)
  File "/usr/lib/python2.4/site-packages/twisted/spread/banana.py", line
289, in _encode
    self._encode(elem, write)
  File "/usr/lib/python2.4/site-packages/twisted/spread/banana.py", line
317, in _encode
    raise BananaError(
twisted.spread.banana.BananaError: string is too long to send (1482372)
Unhandled error in Deferred:
Traceback (most recent call last):
Failure: twisted.spread.pb.PBConnectionLost: [Failure instance: Traceback
(failure with no frames): twisted.internet.error.ConnectionLost: Connection
to the other side was lost in a non-clean fashion: Connection lost.
]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://buildbot.net/pipermail/devel/attachments/20100209/1813d2cf/attachment.html>


More information about the devel mailing list