New submission from Ben Brown <ben.br...@envisionvirginracing.com>:

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 <rep...@bugs.python.org>
<https://bugs.python.org/issue37226>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to