[Twisted-Python] self.channel.writeHeaders(version, code, reason, headers)\nbuiltins.AttributeError: \'NoneType\' object has no attribute \'writeHeaders\'\
Waqar Khan
wk80333 at gmail.com
Sun Aug 4 18:57:10 MDT 2019
Hi Glyph,
Thanks for the suggestion.
I tried the suggestion.. While it fixes the self.channel NoneType issue..
It creates another issue.
Traceback (most recent call last):
File
"/usr/local/Cellar/python/3.7.1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/asyncio/events.py",
line 88, in _run
self._context.run(self._callback, *self._args)
File "/usr/local/lib/python3.7/site-packages/twisted/internet/defer.py",
line 827, in adapt
adapt.actual.callback(extracted)
File "/usr/local/lib/python3.7/site-packages/twisted/internet/defer.py",
line 460, in callback
self._startRunCallbacks(result)
File "/usr/local/lib/python3.7/site-packages/twisted/internet/defer.py",
line 568, in _startRunCallbacks
self._runCallbacks()
--- <exception caught here> ---
File "/usr/local/lib/python3.7/site-packages/twisted/internet/defer.py",
line 654, in _runCallbacks
current.result = callback(current.result, *args, **kw)
......
request.finish()
File "/usr/local/lib/python3.7/site-packages/twisted/web/server.py", line
268, in finish
return http.Request.finish(self)
File "/usr/local/lib/python3.7/site-packages/twisted/web/http.py", line
1071, in finish
"Request.finish called on a request after its connection was lost; "
builtins.RuntimeError: Request.finish called on a request after its
connection was lost; use Request.notifyFinish to keep track of this.
I have got some handle on the issue. I was wondering if you have any
advise on how to debug the issue.
Somewhere in the codebase are async/await code (from asyncio world). Hence,
when the connection is closed down by client, seems like those pending
coroutines are lingering on.
def connectionLost(self, channel, reason):
t = asyncio.all_tasks(asyncio.get_event_loop())
print("pending tasks ", len(t))
The above does shows the list of pending tasks. I am wondering if you have
any advice on how to kill these coroutines?
Also, I apologize if this is the wrong community to ask and if I should
post it to asyncio community?
Thanks for all the help.
Regards,
Waqar
On Sat, Aug 3, 2019 at 3:56 PM Glyph <glyph at twistedmatrix.com> wrote:
>
>
> On Aug 2, 2019, at 4:31 PM, Waqar Khan <wk80333 at gmail.com> wrote:
>
> Hi,
> I have a twisted server. And I have been seeing this annoying issue.
> Normally. when i develop and test it out. everything is fine..
> But then I try to loadtest is via https://locust.io/
>
> Again, everything is fine.. until I "stop" the test.
> Then, I see this
> 'Traceback (most recent call last):\n File
> "/usr/local/Cellar/python/3.7.1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/asyncio/events.py",
> line 88, in _run\n self._context.run(self._callback, *self._args)\n
> File "/usr/local/lib/python3.7/site-packages/twisted/internet/defer.py",
> line 827, in adapt\n adapt.actual.callback(extracted)\n File
> "/usr/local/lib/python3.7/site-packages/twisted/internet/defer.py", line
> 460, in callback\n self._startRunCallbacks(result)\n File
> "/usr/local/lib/python3.7/site-packages/twisted/internet/defer.py", line
> 568, in _startRunCallbacks\n self._runCallbacks()\n--- <exception caught
> here> ---\n File
> "/usr/local/lib/python3.7/site-packages/twisted/internet/defer.py", line
> 654, in _runCallbacks\n current.result = callback(current.result, *args,
> **kw)\n File
> ....
> File "/usr/local/lib/python3.7/site-packages/twisted/web/server.py", line
> 238, in write\n http.Request.write(self, data)\n File
> "/usr/local/lib/python3.7/site-packages/twisted/web/http.py", line 1118, in
> write\n self.channel.writeHeaders(version, code, reason,
> headers)\nbuiltins.AttributeError: \'NoneType\' object has no attribute
> \'writeHeaders\'\n'
>
>
> I found this similar bug report:
> https://github.com/buildbot/buildbot/issues/4045
> But I am using 19.2.1 twisted version..
>
>
> There is a prerelease version, with this bug fixed, that is awaiting final
> release upload right now; can you try with Twisted==19.7.0rc1 ? That
> should fix this issue. If not, then we have some investigating to do :-).
>
> -g
>
> -g
> _______________________________________________
> Twisted-Python mailing list
> Twisted-Python at twistedmatrix.com
> https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/twisted-python/attachments/20190804/444ec03e/attachment-0002.html>
More information about the Twisted-Python
mailing list