[New-bugs-announce] [issue39758] StreamWriter.wait_closed() can hang indefinately.
Tom Christie
report at bugs.python.org
Wed Feb 26 05:36:06 EST 2020
New submission from Tom Christie <tom at tomchristie.com>:
Raising an issue that's impacting us on `httpx`.
It appears that in some cases SSL unwrapping can cause `.wait_closed()` to hang indefinately.
Trio are particularly careful to work around this case, and have an extensive comment on it: https://github.com/python-trio/trio/blob/31e2ae866ad549f1927d45ce073d4f0ea9f12419/trio/_ssl.py#L779-L829
Originally raised via https://github.com/encode/httpx/issues/634
Tested on:
* Python 3.7.6
* Python 3.8.1
```
import asyncio
import ssl
import certifi
hostname = 'login.microsoftonline.com'
context = ssl.create_default_context()
context.load_verify_locations(cafile=certifi.where())
async def main():
reader, writer = await asyncio.open_connection(hostname, 443, ssl=context)
print('opened')
writer.close()
print('close started')
await writer.wait_closed()
print('close completed')
asyncio.run(main())
```
----------
components: asyncio
messages: 362688
nosy: asvetlov, tomchristie, yselivanov
priority: normal
severity: normal
status: open
title: StreamWriter.wait_closed() can hang indefinately.
type: behavior
versions: Python 3.7, Python 3.8
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue39758>
_______________________________________
More information about the New-bugs-announce
mailing list