RuntimeError: File descriptor 2877 is used by transport <TCPTransport closed=False reading=True 0x55b8dc9baa90>

Aperta
#653 2 commenti 2 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
25/100
Tipo di issue
Bug
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
python
Ambito
networking

Direzione di ricerca

Inizia dai punti di ingresso del traceback in uvloop/loop.pyx, in particolare _ensure_fd_no_transport e _add_writer, quindi confrontali con aiohttp/connector.py e aiohappyeyeballs/impl.py per le versioni delle dipendenze segnalate. Riproduci il conflitto di file-descriptor usando Python 3.10.15 su Debian 12 con uvloop 0.19.0 e aiohttp 3.10.5; il lavoro è completato quando viene identificata una causa riproducibile e viene fornito un test di regressione o una correzione di compatibilità documentata.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

In our service we had aiohttp==3.8.5 and upgraded aiohttp to 3.10.5 version. That is all. In production now we have issues like issue below.
Maybe i should to write issue to another libs, tell me about it if so, or maybe you have your own fix then tell me uvloop version i need to upgrade in my service.

traceback:

RuntimeError: File descriptor 2877 is used by transport <TCPTransport closed=False reading=True 0x55b8dc9baa90>
  File "our_service/app/client.py", line 204, in get_recommendations
    async with self._session.get(
  File "aiohttp/client.py", line 1353, in __aenter__
    self._resp = await self._coro
  File "aiohttp/client.py", line 657, in _request
    conn = await self._connector.connect(
  File "aiohttp/connector.py", line 564, in connect
    proto = await self._create_connection(req, traces, timeout)
  File "aiohttp/connector.py", line 975, in _create_connection
    _, proto = await self._create_direct_connection(req, traces, timeout)
  File "aiohttp/connector.py", line 1319, in _create_direct_connection
    transp, proto = await self._wrap_create_connection(
  File "aiohttp/connector.py", line 1073, in _wrap_create_connection
    sock = await aiohappyeyeballs.start_connection(
  File "aiohappyeyeballs/impl.py", line 104, in start_connection
    raise first_exception
  File "aiohappyeyeballs/impl.py", line 82, in start_connection
    sock = await _connect_sock(
  File "aiohappyeyeballs/impl.py", line 174, in _connect_sock
    await loop.sock_connect(sock, address)
  File "uvloop/loop.pyx", line 2631, in sock_connect
    fut = self._sock_connect(sock, address)
  File "uvloop/loop.pyx", line 1089, in uvloop.loop.Loop._sock_connect
    self._add_writer(sock, handle)
  File "uvloop/loop.pyx", line 837, in uvloop.loop.Loop._add_writer
    self._ensure_fd_no_transport(fd)
  File "uvloop/loop.pyx", line 764, in uvloop.loop.Loop._ensure_fd_no_transport
    raise RuntimeError(

python version:
Python 3.10.15

os info:
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian

other installed libs:
aiohttp==3.10.5
aiohttp_traversal==0.11.0
aiojobs==1.2.0
asyncpg==0.29.0
orjson==3.9.10
uvloop==0.19.0
yarl==1.12.1

Lingua principale
Cython
Stelle
11.9k
Fork
615
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di MagicStack/uvloop

Tutte le issue di MagicStack/uvloop

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.