New submission from Tom Christie <t...@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 <rep...@bugs.python.org> <https://bugs.python.org/issue39758> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com