MagicStack / MagicStack/uvloop
SSL connection error while debug is enabled
Open
@fantix is already working on this.
Since Oct 27, 2021.
- Dominant language
- Cython
- Stars
- 11.9k
- Forks
- 616
- PR merge metrics
- No merged PRs in 30d
Description
- uvloop version: 0.15.2
- Python version: 3.7.3
- Platform: Debian GNU/Linux 10
- Can you reproduce the bug with
PYTHONASYNCIODEBUGin env?: yes - Does uvloop behave differently from vanilla asyncio? How?: yes, error in uvloop code
Sometimes when asyncio debug enabled (and connection is closed before starting SSL handshake? ) I got the error:
protocol: <uvloop.loop.SSLProtocol object at 0x7f69c01f4a20>
transport: <TCPTransport closed=False reading=False 0x16a0dc8>
Traceback (most recent call last):
File "uvloop/handles/stream.pyx", line 987, in uvloop.loop.__uv_stream_buffered_on_read
File "uvloop/loop.pyx", line 107, in uvloop.loop.run_in_context1
File "uvloop/sslproto.pyx", line 379, in uvloop.loop.SSLProtocol.buffer_updated
File "uvloop/sslproto.pyx", line 505, in uvloop.loop.SSLProtocol._do_handshake
File "uvloop/sslproto.pyx", line 531, in uvloop.loop.SSLProtocol._on_handshake_complete
TypeError: unsupported operand type(s) for -: 'float' and 'NoneType'
Looks like you should check if handshake is started before getting _handshake_start_time sslproto.pyx:
if self._loop.get_debug():
dt = self._loop.time() - self._handshake_start_time
aio_logger.debug("%r: SSL handshake took %.1f ms", self, dt * 1e3)
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.