New submission from Ben Brown <[email protected]>:
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
----------
assignee: christian.heimes
components: SSL
messages: 345201
nosy: ben.brown, christian.heimes
priority: normal
severity: normal
status: open
title: Asyncio Fatal Error on SSL Transport - IndexError Deque Index Out Of
Range
type: behavior
versions: Python 3.7
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue37226>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com