[Twisted-Python] how to write a safe catch-all

exarkun at twistedmatrix.com exarkun at twistedmatrix.com
Fri Oct 1 10:00:08 EDT 2010


On 01:30 pm, chris at simplistix.co.uk wrote:
>Hi Glyph,
>
>On 30/09/2010 19:52, Glyph Lefkowitz wrote:
>>>File "Twisted-8.2.0-py2.5-linux-x86_64.egg/twisted/internet/base.py",
>>>line 757, in runUntilCurrent
>>>call.func(*call.args, **call.kw)
>>>File "test_looping.py", line 24, in __call__
>>>del self.connector
>>>exceptions.AttributeError: Break instance has no attribute 
>>>'connector'
>>
>>This traceback indicates a bug in Twisted.
>>
>>This is an error that other people have very occasionally spotted, and
>>we have never been able to reliably reproduce it.
>
>While I'm able to reproduce this, I can't really as it involves a
>customer ftp server also generating error messages and they've already
>had enough of them ;-)
>>Over the years we have
>>tried to diagnose it in various ways and we have always failed.
>>
>>It would be really valuable to everyone if you could write up a bug 
>>and
>
>Is there a bug already tracking this?
>>provide detailed reproduction instructions, ideally with some python
>>code that triggers this error, so that we can address the bug. It 
>>would
>>be super useful if you could write an example that reproduces the same
>>bug on a recent Twisted version (8.2 is pretty old), especially the 
>>10.2
>>prerelease. But, if your example reproduces on 8.2 and not 10.0, that
>>tells us something too.
>
>Well, unfortunately I can't do any of the above :-( I've only seen 
>this,
>as I said previously, when we use twisted.protocols.ftp.FTPClient to 
>try
>to send a file to an ftp server that was only able to handle active ftp
>transfers when our setup only allowed passive ftp transfers.
>
>It was happening in a steady, reproducible fashion (ie: every time we
>tried) but unfortunately we've had to bail and now send via sftp using 
>a
>pexpect-based wrapper around the real sftp command client (we had buggy
>behaviour with twisted's sftp client elsewhere)
>
>I hope this helps, do let me know if I should add it to an issue
>somewhere...

Can you at least provide a traffic capture recording an instance of this 
happening?

Jean-Paul



More information about the Twisted-Python mailing list