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

Marc-Antoine Ruel maruel at chromium.org
Tue Feb 9 14:19:53 UTC 2010


http://src.chromium.org/viewvc/chrome/trunk/tools/buildbot/scripts/common/chromium_config.py?revision=37140&view=markup

<http://src.chromium.org/viewvc/chrome/trunk/tools/buildbot/scripts/common/chromium_config.py?revision=37140&view=markup>
---

from twisted.spread import banana

# By default, the banana's string size limit is 640kb, which is unsufficient
# when passing diff's around. Raise it to 100megs. Do this here since the limit
# is enforced on both the server and the client so both need to raise the
# limit.
banana.SIZE_LIMIT = 100 * 1024 * 1024

---

Then load the script from both master.cfg and buildbot.tac

Example:
http://src.chromium.org/viewvc/chrome/trunk/tools/buildbot/slave/buildbot.tac?revision=22306&view=markup

<http://src.chromium.org/viewvc/chrome/trunk/tools/buildbot/slave/buildbot.tac?revision=22306&view=markup>
M-A

2010/2/9 Andrew Lawrence <andrew at parascale.com>

> 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.
> ]
>
>
>
> ------------------------------------------------------------------------------
> The Planet: dedicated and managed hosting, cloud storage, colocation
> Stay online with enterprise data centers and the best network in the
> business
> Choose flexible plans and management services without long-term contracts
> Personal 24x7 support from experience hosting pros just a phone call away.
> http://p.sf.net/sfu/theplanet-com
> _______________________________________________
> Buildbot-devel mailing list
> Buildbot-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/buildbot-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://buildbot.net/pipermail/devel/attachments/20100209/20837eb9/attachment.html>


More information about the devel mailing list