Message345201
I have been getting an intermittent errors when using asyncio with SSL. The error always occurs in the _process_write_backlog method in asyncio's sslproto.py file. I have looked at lots of possibilities as to what the cause is and found that for some reason when in _process_write_backlog's loop the deque seems to be empty, I added some quick terrible hacky code to confirm it fixed the issue and checking at each point it is used wether it is empty fixes the issue, I am unusure as to what causes it to become empty but still run through the loop. The most frequent time it happens is after we have a successful message the client sends a request to join a data stream this request mostly causes the error but sometimes it happens while the client is receiving data. I am currently using python 3.7.1 but have also tested my code on 3.7.3 with the same result.
NOTE: I am currently working on a minimal sample to show the issue easier.
Fatal error on SSL transport
protocol: <asyncio.sslproto.SSLProtocol object at 0x7f267462e780>
transport: <_SelectorSocketTransport fd=38 read=polling write=<idle, bufsize=0>>
Traceback (most recent call last):
File "/usr/local/lib/python3.7/asyncio/sslproto.py", line 689, in _process_write_backlog
del self._write_backlog[0]
IndexError: deque index out of range
Fatal error on SSL transport
protocol: <asyncio.sslproto.SSLProtocol object at 0x7f45f802ec88>
transport: <_SelectorSocketTransport fd=29 read=polling write=<idle, bufsize=0>>
Traceback (most recent call last):
File "/usr/local/lib/python3.7/asyncio/sslproto.py", line 664, in _process_write_backlog
data, offset = self._write_backlog[0]
IndexError: deque index out of range |
|
Date |
User |
Action |
Args |
2019-06-11 08:44:59 | ben.brown | set | recipients:
+ ben.brown, christian.heimes |
2019-06-11 08:44:59 | ben.brown | set | messageid: <1560242699.55.0.804750809475.issue37226@roundup.psfhosted.org> |
2019-06-11 08:44:59 | ben.brown | link | issue37226 messages |
2019-06-11 08:44:59 | ben.brown | create | |
|