[Buildbot-devel] Unhandled Error (BananaError: string is too long to send)

Christophe de Vienne cdevienne at alphacent.com
Wed Feb 20 17:09:33 UTC 2008


Hi,

I am trying to set up a buildbot slave for sqlalchemy bot
(http://pylonshq.com:8012/).

An unhandled error on the slave makes the master think a time-out
occurred (see
http://pylonshq.com:8012/builders/Windows%20MS_SQL%202000_2005/builds/35).

The error is "twisted.spread.banana.BananaError: string is too long to
send (2484738)", (the complete stack is below).
I tried to raise twisted.spread.banana.SIZE_LIMIT on the slave, but then
the slave complains that it lost the connection to the master. I guess I
would have to do it on the master too, but I'm pretty sure it's not the
right solution.
My other guess is that something in my logs is too long, but I did not
figure what it is yet. Anyway the state it put the master in afterwards
is a probably a bad thing.

I wanted to write a unittest to reproduce the issue but I got lost in
the test directory and could not figure in which TestCase it should be done.

I'm stuck here now, and looking for help which I hope to find here.

Many thanks,

Christophe de Vienne

PS: Tail of the slave twistd.log file :

2008/02/20 17:32 +0200 [Broker,client]  startCommand:shell [id 521]
2008/02/20 17:32 +0200 [Broker,client] ShellCommand._startCommand
2008/02/20 17:32 +0200 [Broker,client]  C:\WINNT\system32\cmd.exe /c
mypython\scripts\python.exe test\alltests.py
--dburi=mssql://satest:satest@soleil.alphacent.com/satest?text_as_varchar=1
2008/02/20 17:32 +0200 [Broker,client]   in dir
d:\bbslave_sa\sqlalchemy\sqlalchemy (timeout 1200 secs)
2008/02/20 17:32 +0200 [Broker,client]   watching logfiles {}
2008/02/20 17:32 +0200 [Broker,client]   argv:
['C:\\WINNT\\system32\\cmd.exe', '/c', 'mypython\\scripts\\python.exe',
'test\\alltests.py',
'--dburi=mssql://satest:satest@soleil.alphacent.com/satest?text_as_varchar=1']
2008/02/20 17:32 +0200 [Broker,client]  environment: {'TMP':
'C:\\DOCUME~1\\BUILD_~1\\LOCALS~1\\Temp', 'COMPUTERNAME': 'CASTOR',
'USERDOMAIN': 'CASTOR', 'COMMONPROGRAMFILES': 'C:\\Program Files\\Common
Files', 'PROCESSOR_IDENTIFIER': 'x86 Family 15 Model 2 Stepping 9,
GenuineIntel', 'PROGRAMFILES': 'C:\\Program Files',
'PROCESSOR_REVISION': '0209', 'PATH':
'C:\\WINNT\\Microsoft.NET\\Framework\\v1.1.4322\\;C:\\Program
Files\\Borland\\BDS\\4.0\\Bin;C:\\WINNT\\system32;C:\\WINNT;C:\\WINNT\\System32\\Wbem;C:\\Program
Files\\Subversion\\bin;C:\\Python25;C:\\Python25\\Scripts;C:\\Program
Files\\Microsoft SQL Server\\80\\Tools\\BINN', 'SYSTEMROOT':
'C:\\WINNT', 'TEMP': 'C:\\DOCUME~1\\BUILD_~1\\LOCALS~1\\Temp',
'PROCESSOR_ARCHITECTURE': 'x86', 'APR_ICONV_PATH': 'C:\\Program
Files\\Subversion\\iconv', 'ALLUSERSPROFILE': 'C:\\Documents and
Settings\\All Users', 'USERNAME': 'build_agent', 'COMSPEC':
'C:\\WINNT\\system32\\cmd.exe', 'PYTHONPATH': 'test\\', 'PATHEXT':
'.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.py', 'WINDIR':
'C:\\WINNT', 'SYSTEMDRIVE': 'C:', 'NUMBER_OF_PROCESSORS': '1',
'PROCESSOR_LEVEL': '15', 'OS2LIBPATH': 'C:\\WINNT\\system32\\os2\\dll;',
'OS': 'Windows_NT', 'USERPROFILE': 'C:\\Documents and
Settings\\build_agent'}
2008/02/20 17:33 +0200 [-] Unhandled Error
        Traceback (most recent call last):
          File
"c:\python25\lib\site-packages\twisted\scripts\_twistw.py", line 57, in
postApplication
            app.runReactorWithLogging(self.config, self.oldstdout,
self.oldstderr)
          File
"c:\python25\lib\site-packages\twisted\application\app.py", line 113, in
runReactorWithLogging
            reactor.run()
          File
"c:\python25\lib\site-packages\twisted\internet\posixbase.py", line 220,
in run
            self.mainLoop()
          File
"c:\python25\lib\site-packages\twisted\internet\posixbase.py", line 228,
in mainLoop
            self.runUntilCurrent()
        --- <exception caught here> ---
          File "c:\python25\lib\site-packages\twisted\internet\base.py",
line 561, in runUntilCurrent
            call.func(*call.args, **call.kw)
          File
"c:\python25\lib\site-packages\twisted\internet\_pollingfile.py", line
72, in _pollEvent
            workUnits += resource.checkWork()
          File
"c:\python25\lib\site-packages\twisted\internet\_pollingfile.py", line
127, in checkWork
            self.receivedCallback(dataBuf)
          File
"c:\python25\lib\site-packages\twisted\internet\_dumbwin32proc.py", line
228, in <lambda>
            lambda data: self.protocol.childDataReceived(2, data),
          File
"c:\python25\lib\site-packages\twisted\internet\protocol.py", line 425,
in childDataReceived
            self.errReceived(data)
          File
"c:\python25\lib\site-packages\buildbot\slave\commands.py", line 146, in
errReceived
            self.command.addStderr(data)
          File
"c:\python25\lib\site-packages\buildbot\slave\commands.py", line 420, in
addStderr
            self.sendStatus({'stderr': data})
          File
"c:\python25\lib\site-packages\buildbot\slave\commands.py", line 294, in
sendStatus
            self.builder.sendUpdate(status)
          File "c:\python25\lib\site-packages\buildbot\slave\bot.py",
line 218, in sendUpdate
            d = self.remoteStep.callRemote("update", updates)
          File "c:\python25\lib\site-packages\twisted\spread\pb.py",
line 343, in callRemote
            _name, args, kw)
          File "c:\python25\lib\site-packages\twisted\spread\pb.py",
line 829, in _sendMessage
            self.sendCall(prefix+"message", requestID, objectID,
message, answerRequired, netArgs, netKw)
          File "c:\python25\lib\site-packages\twisted\spread\pb.py",
line 543, in sendCall
            self.sendEncoded(exp)
          File "c:\python25\lib\site-packages\twisted\spread\banana.py",
line 279, in sendEncoded
            self._encode(obj, io.write)
          File "c:\python25\lib\site-packages\twisted\spread\banana.py",
line 291, in _encode
            self._encode(elem, write)
          File "c:\python25\lib\site-packages\twisted\spread\banana.py",
line 291, in _encode
            self._encode(elem, write)
          File "c:\python25\lib\site-packages\twisted\spread\banana.py",
line 291, in _encode
            self._encode(elem, write)
          File "c:\python25\lib\site-packages\twisted\spread\banana.py",
line 291, in _encode
            self._encode(elem, write)
          File "c:\python25\lib\site-packages\twisted\spread\banana.py",
line 291, in _encode
            self._encode(elem, write)
          File "c:\python25\lib\site-packages\twisted\spread\banana.py",
line 291, in _encode
            self._encode(elem, write)
          File "c:\python25\lib\site-packages\twisted\spread\banana.py",
line 320, in _encode
            "string is too long to send (%d)" % (len(obj),))
        twisted.spread.banana.BananaError: string is too long to send
(2484738)

2008/02/20 17:39 +0200 [-] sending app-level keepalive
2008/02/20 17:49 +0200 [-] sending app-level keepalive
2008/02/20 17:53 +0200 [-] command timed out: 1200 seconds without output
2008/02/20 17:53 +0200 [-] trying process.signalProcess('KILL')
2008/02/20 17:53 +0200 [-] Unhandled Error
        Traceback (most recent call last):
          File
"c:\python25\lib\site-packages\twisted\scripts\_twistw.py", line 57, in
postApplication
            app.runReactorWithLogging(self.config, self.oldstdout,
self.oldstderr)
          File
"c:\python25\lib\site-packages\twisted\application\app.py", line 113, in
runReactorWithLogging
            reactor.run()
          File
"c:\python25\lib\site-packages\twisted\internet\posixbase.py", line 220,
in run
            self.mainLoop()
          File
"c:\python25\lib\site-packages\twisted\internet\posixbase.py", line 228,
in mainLoop
            self.runUntilCurrent()
        --- <exception caught here> ---
          File "c:\python25\lib\site-packages\twisted\internet\base.py",
line 561, in runUntilCurrent
            call.func(*call.args, **call.kw)
          File
"c:\python25\lib\site-packages\buildbot\slave\commands.py", line 466, in
doTimeout
            self.kill(msg)
          File
"c:\python25\lib\site-packages\buildbot\slave\commands.py", line 517, in
kill
            self.process.signalProcess(self.KILL)
          File
"c:\python25\lib\site-packages\twisted\internet\_dumbwin32proc.py", line
247, in signalProcess
            win32process.TerminateProcess(self.hProcess, 1)
        pywintypes.error: (5, 'TerminateProcess', 'Access is denied.')

2008/02/20 17:59 +0200 [-] sending app-level keepalive






More information about the devel mailing list