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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions