Skip to content

Exception in cli on windows #1681

@Danstiv

Description

@Danstiv

Hello!
Starting from 15.0 windows cli throws exception.

(v) D:\temp\ws>python -m websockets ws://127.0.0.1:8765
Connected to ws://127.0.0.1:8765.
> Exception in callback _ProactorReadPipeTransport._loop_reading()
handle: <Handle _ProactorReadPipeTransport._loop_reading()>
Traceback (most recent call last):
  File "C:\Users\Danstiv\AppData\Local\Python\pythoncore-3.13-64\Lib\asyncio\proactor_events.py", line 306, in _loop_reading
    self._read_fut = self._loop._proactor.recv_into(self._sock, self._data)
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Danstiv\AppData\Local\Python\pythoncore-3.13-64\Lib\asyncio\windows_events.py", line 497, in recv_into
    self._register_with_iocp(conn)
    ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
  File "C:\Users\Danstiv\AppData\Local\Python\pythoncore-3.13-64\Lib\asyncio\windows_events.py", line 710, in _register_with_iocp
    _overlapped.CreateIoCompletionPort(obj.fileno(), self._iocp, 0, 0)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
OSError: [WinError 6] Неверный дескриптор

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\Danstiv\AppData\Local\Python\pythoncore-3.13-64\Lib\asyncio\events.py", line 89, in _run
    self._context.run(self._callback, *self._args)
    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Danstiv\AppData\Local\Python\pythoncore-3.13-64\Lib\asyncio\proactor_events.py", line 316, in _loop_reading
    self._fatal_error(exc, 'Fatal read error on pipe transport')
    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Danstiv\AppData\Local\Python\pythoncore-3.13-64\Lib\asyncio\proactor_events.py", line 132, in _fatal_error
    self._force_close(exc)
    ~~~~~~~~~~~~~~~~~^^^^^
  File "C:\Users\Danstiv\AppData\Local\Python\pythoncore-3.13-64\Lib\asyncio\proactor_events.py", line 135, in _force_close
    if self._empty_waiter is not None and not self._empty_waiter.done():
       ^^^^^^^^^^^^^^^^^^
AttributeError: '_ProactorReadPipeTransport' object has no attribute '_empty_waiter'

For some reason it is hangs completely with example asyncio server and not accepting input, but with uvicorn+websockets+fastapi i can send and receive despite the exception.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions