
On 21 December 2012 18:08, <exarkun@twistedmatrix.com> wrote:
On 04:12 pm, poalman@gmail.com wrote:
Hey,
I'm getting the following error in my logs (lots and lots), but only after the server has been running for some time, I'm not sure what the cause is or what I can do to remedy it.
This seems like a bug in `Agent`, perhaps related to `stopProducing` being called more than once. It would be great if you could produce a minimal example to include with a bug report in the issue tracker. An example that reproduces the problem will also make it easier to see where the bug is in your code, if it happens to be there rather than in Twisted.
I'll try my best! The problem is I don't seem to see this at all for 10k+ requests ish then I guess something must trigger it as it will start happening a lot, so it may be difficult to reproduce.
Jean-Paul
This is what I see in the logs:
2012-12-20 17:07:17+0000 [HTTP11ClientProtocol,client] Unhandled Error Traceback (most recent call last): Failure: twisted.web._newclient.RequestTransmissionFailed: [<twisted.python.failure.Failure <class 'twisted.internet.error.ConnectionDone'>>]
2012-12-20 17:07:17+0000 [HTTP11ClientProtocol,client] Unexpected exception from twisted.web.client.FileBodyProducer.stopProducing Traceback (most recent call last): File "/usr/local/lib/python2.7/site- packages/Twisted-12.2.0-py2.7-linux- x86_64.egg/twisted/internet/endpoints.py", line 99, in connectionLost return self._wrappedProtocol.connectionLost(reason) File "/usr/local/lib/python2.7/site- packages/Twisted-12.2.0-py2.7-linux- x86_64.egg/twisted/web/_newclient.py", line 859, in dispatcher return func(*args, **kwargs) File "/usr/local/lib/python2.7/site- packages/Twisted-12.2.0-py2.7-linux- x86_64.egg/twisted/web/_newclient.py", line 1458, in _connectionLost_TRANSMITTING self._currentRequest.stopWriting() File "/usr/local/lib/python2.7/site- packages/Twisted-12.2.0-py2.7-linux- x86_64.egg/twisted/web/_newclient.py", line 760, in stopWriting _callAppFunction(self.bodyProducer.stopProducing) --- <exception caught here> --- File "/usr/local/lib/python2.7/site- packages/Twisted-12.2.0-py2.7-linux- x86_64.egg/twisted/web/_newclient.py", line 191, in _callAppFunction function() File "/usr/local/lib/python2.7/site- packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/web/client.py", line 760, in stopProducing self._task.stop() File "/usr/local/lib/python2.7/site- packages/Twisted-12.2.0-py2.7-linux- x86_64.egg/twisted/internet/task.py", line 459, in stop self._checkFinish() File "/usr/local/lib/python2.7/site- packages/Twisted-12.2.0-py2.7-linux- x86_64.egg/twisted/internet/task.py", line 469, in _checkFinish raise self._completionState twisted.internet.task.TaskStopped:
Just loads of those, they always seem to come through in pairs (the first twisted.internet.error.ConnectionDone, and then the twisted.internet.task.TaskStopped as above)
I'm just doing PUT requests with twisted.web.client.Agent and using a twisted.web.client.FileBodyProducer to provide the content.
I'm doing the PUT while I still have the request from a render_GET, so I thought maybe it's caused if the user disconnects while I'm doing the PUT? The idea is I redirect them to the file I PUT with request.redirect, which seems to work fine (until I get this error and it doesn't)
The reason I do a PUT and redirect, instead of just writing back to the request is that I check if the file is in a cache first, I then only PUT if it's not there- then redirect afterwards.
Any clues or ideas of what is happening would be hugely helpful
thanks!!
Paul
_______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
_______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python