[Twisted-Python] Strange exception deep in twisted

Matt Feifarek matt.feifarek at gmail.com
Wed Jun 15 15:51:09 EDT 2005


Hello.

I'm using twisted 1.3.0 and python 2.4.1 on a 2.6.10 Linux box.

I've got an application that uses twisted.web.resource to render images.

I'm getting this strange exception in my logs, and I can't figure out
where to start looking for problems to fix; it's so deep in twisted.

Note that my app IS working; the images are coming to the browser, but
they're coming out in bursts, rather than one-by-one, as I'm used to.

Here's the info from the log file.

Note that if I do a dump on that args[0], it IS an instance of
twisted.web.server.Request and it does have "channel" in its __dict__.

Thanks!

-----------------------
Unhandled error in Deferred:
Traceback (most recent call last):
  File "/usr/lib/python2.4/site-packages/twisted/internet/defer.py",
line 313, in _startRunCallbacks
    self._runCallbacks()

  File "/usr/lib/python2.4/site-packages/twisted/internet/defer.py",
line 338, in _runCallbacks
    self.result = callback(self.result, *args, **kw)

  File "/usr/lib/python2.4/site-packages/twisted/internet/defer.py",
line 252, in callback
    self._startRunCallbacks(result)

  File "/usr/lib/python2.4/site-packages/twisted/internet/defer.py",
line 313, in _startRunCallbacks
    self._runCallbacks()

--- <exception caught here> ---

  File "/usr/lib/python2.4/site-packages/twisted/internet/defer.py",
line 338, in _runCallbacks
    self.result = callback(self.result, *args, **kw)

  File "/usr/local/lib/python2.4/site-packages/Wrangler/render/image/__init__.py",
line 132, in postConvert_Success
    Inline_Generic.render_present( self, args[0] )

  File "/usr/local/lib/python2.4/site-packages/Wrangler/render/generic.py",
line 131, in render_present
    static.FileTransfer(f, size, request)

  File "/usr/lib/python2.4/site-packages/twisted/web/static.py", line
426, in __init__
    request.registerProducer(self, 0)

  File "/usr/lib/python2.4/site-packages/twisted/protocols/http.py",
line 583, in registerProducer
    self.transport.registerProducer(producer, streaming)

  File "/usr/lib/python2.4/site-packages/twisted/internet/abstract.py",
line 241, in registerProducer
    producer.resumeProducing()

  File "/usr/lib/python2.4/site-packages/twisted/web/static.py", line
437, in resumeProducing
    self.request.finish()

  File "/usr/lib/python2.4/site-packages/twisted/web/server.py", line
277, in finish
    http.Request.finish(self)

  File "/usr/lib/python2.4/site-packages/twisted/protocols/http.py",
line 634, in finish
    self._cleanup()

  File "/usr/lib/python2.4/site-packages/twisted/protocols/http.py",
line 447, in _cleanup
    self.channel.requestDone(self)

  File "/usr/lib/python2.4/site-packages/twisted/protocols/http.py",
line 1062, in requestDone
    self.requests[0].noLongerQueued()

  File "/usr/lib/python2.4/site-packages/twisted/protocols/http.py",
line 478, in noLongerQueued
    self.transport.registerProducer(self.producer, self.streamingProducer)

  File "/usr/lib/python2.4/site-packages/twisted/internet/abstract.py",
line 241, in registerProducer
    producer.resumeProducing()

  File "/usr/lib/python2.4/site-packages/twisted/web/static.py", line
437, in resumeProducing
    self.request.finish()

  File "/usr/lib/python2.4/site-packages/twisted/web/server.py", line
277, in finish
    http.Request.finish(self)

  File "/usr/lib/python2.4/site-packages/twisted/protocols/http.py",
line 634, in finish
    self._cleanup()

  File "/usr/lib/python2.4/site-packages/twisted/protocols/http.py",
line 447, in _cleanup
    self.channel.requestDone(self)

  File "/usr/lib/python2.4/site-packages/twisted/protocols/http.py",
line 1062, in requestDone
    self.requests[0].noLongerQueued()

  File "/usr/lib/python2.4/site-packages/twisted/protocols/http.py",
line 478, in noLongerQueued
    self.transport.registerProducer(self.producer, self.streamingProducer)

  File "/usr/lib/python2.4/site-packages/twisted/internet/abstract.py",
line 241, in registerProducer
    producer.resumeProducing()

  File "/usr/lib/python2.4/site-packages/twisted/web/static.py", line
437, in resumeProducing
    self.request.finish()

  File "/usr/lib/python2.4/site-packages/twisted/web/server.py", line
277, in finish
    http.Request.finish(self)

  File "/usr/lib/python2.4/site-packages/twisted/protocols/http.py",
line 634, in finish
    self._cleanup()

  File "/usr/lib/python2.4/site-packages/twisted/protocols/http.py",
line 447, in _cleanup
    self.channel.requestDone(self)

  File "/usr/lib/python2.4/site-packages/twisted/protocols/http.py",
line 1062, in requestDone
    self.requests[0].noLongerQueued()

  File "/usr/lib/python2.4/site-packages/twisted/protocols/http.py",
line 482, in noLongerQueued
    self._cleanup()

  File "/usr/lib/python2.4/site-packages/twisted/protocols/http.py",
line 447, in _cleanup
    self.channel.requestDone(self)

exceptions.AttributeError: Request instance has no attribute 'channel'




More information about the Twisted-Python mailing list