This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: Fatal error on SSL transport
Type: behavior Stage: resolved
Components: asyncio Versions: Python 3.6
process
Status: closed Resolution: duplicate
Dependencies: Superseder: Skip sending/receiving after SSL transport closing
View: 33037
Assigned To: Nosy List: Eric Toombs, agnosticdev, asvetlov, kyuupichan, ned.deily, yselivanov
Priority: normal Keywords:

Created on 2018-03-17 17:36 by Eric Toombs, last changed 2022-04-11 14:58 by admin. This issue is now closed.

Messages (5)
msg314008 - (view) Author: Eric Toombs (Eric Toombs) Date: 2018-03-17 17:36
I'm not exactly sure what caused this error, but I was a client receiving messages on a websocket for a while (about 12 hours). Suddenly all incoming data stopped, then nothing happened for about 5 hours. Finally, I received a ConnectionClosed and the following appeared on stdout:

```
Fatal error on SSL transport
protocol: <asyncio.sslproto.SSLProtocol object at 0x7f17ae393e48>
transport: <_SelectorSocketTransport closing fd=15 read=idle write=<idle, bufsize=0>>
Traceback (most recent call last):
  File "/usr/lib/python3.6/asyncio/sslproto.py", line 636, in _process_write_backlog
    ssldata, offset = self._sslpipe.feed_appdata(data, offset)
AttributeError: 'NoneType' object has no attribute 'feed_appdata'
```

I can't imagine this is what was supposed to happen. This has happened about three times now, so I can confirm it is reproducible. I'm writing a minimalist client now to see if I can isolate the problem any further. It's still unclear, though, which layer is responsible---websockets or asyncio. The websockets issue is here:

https://github.com/aaugustin/websockets/issues/356
msg314042 - (view) Author: Matt Eaton (agnosticdev) * Date: 2018-03-18 14:31
Eric, what is needed to try and reproduce this issue accurately?  Would it be installing websockets and setting up your client to ping to the server forever (12 hours in this case)?  If you are able to provide a client I would be willing to setup a test case on my end.
msg314184 - (view) Author: Neil Booth (kyuupichan) * Date: 2018-03-21 02:14
Looks like https://bugs.python.org/issue33037
msg314302 - (view) Author: Eric Toombs (Eric Toombs) Date: 2018-03-23 09:59
Well, that looks good! Looking forward to 3.6.5!
msg314324 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2018-03-23 20:30
Thanks for the report and for the analysis!  Closing as duplicate.
History
Date User Action Args
2022-04-11 14:58:58adminsetgithub: 77274
2018-03-23 20:30:58ned.deilysetstatus: open -> closed

superseder: Skip sending/receiving after SSL transport closing

nosy: + ned.deily
messages: + msg314324
resolution: duplicate
stage: resolved
2018-03-23 11:20:59ppperrysettype: behavior
2018-03-23 09:59:02Eric Toombssetmessages: + msg314302
2018-03-21 02:14:13kyuupichansetnosy: + kyuupichan
messages: + msg314184
2018-03-18 14:31:29agnosticdevsetnosy: + agnosticdev
messages: + msg314042
2018-03-17 17:36:10Eric Toombscreate