Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

insufficient data in buffer

Ouverte
#1,147 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
25/100
Type d'issue
Bug
Clarté
À clarifier
Activité
À l'abandon
Stack technique
postgresql, python, sqlalchemy
Domaine
databases

Piste de recherche

Commencez par les entrées de la traceback dans asyncpg/protocol/coreproto.pyx, asyncpg/protocol/codecs/float.pyx et asyncpg/protocol/frb.pyx, puis examinez le chemin d’exécution asynchrone de SQLAlchemy présenté. Reproduisez l’échec avec les versions indiquées de Python, PostgreSQL et asyncpg et déterminez s’il est possible d’isoler le tampon tronqué. Le travail est considéré comme terminé lorsqu’une cause confirmée ainsi qu’un test de régression ou une reproduction clairement documentée sont disponibles.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

  • asyncpg version: 0.29.0
  • PostgreSQL version: 15.6
  • Python version: 3.11.4
  • Platform: debian
  • Do you use pgbouncer?: no
  • Did you install asyncpg with pip?: yes
  • Can the issue be reproduced under both asyncio and
    uvloop?
    : not sure
AssertionError: insufficient data in buffer: requested 8 remaining 4
  File "sqlalchemy/ext/asyncio/engine.py", line 659, in execute
    result = await greenlet_spawn(
  File "sqlalchemy/util/_concurrency_py3k.py", line 200, in greenlet_spawn
    result = context.throw(*sys.exc_info())
  File "sqlalchemy/engine/base.py", line 1416, in execute
    return meth(
  File "sqlalchemy/sql/elements.py", line 517, in _execute_on_connection
    return connection._execute_clauseelement(
  File "sqlalchemy/engine/base.py", line 1639, in _execute_clauseelement
    ret = self._execute_context(
  File "sqlalchemy/engine/base.py", line 1848, in _execute_context
    return self._exec_single_context(
  File "sqlalchemy/engine/base.py", line 1988, in _exec_single_context
    self._handle_dbapi_exception(
  File "sqlalchemy/engine/base.py", line 2347, in _handle_dbapi_exception
    raise exc_info[1].with_traceback(exc_info[2])
  File "sqlalchemy/engine/base.py", line 1969, in _exec_single_context
    self.dialect.do_execute(
  File "sqlalchemy/engine/default.py", line 922, in do_execute
    cursor.execute(statement, parameters)
  File "sqlalchemy/dialects/postgresql/asyncpg.py", line 580, in execute
    self._adapt_connection.await_(
  File "sqlalchemy/util/_concurrency_py3k.py", line 130, in await_only
    return current.driver.switch(awaitable)  # type: ignore[no-any-return]
  File "sqlalchemy/util/_concurrency_py3k.py", line 195, in greenlet_spawn
    value = await result
  File "sqlalchemy/dialects/postgresql/asyncpg.py", line 558, in _prepare_and_execute
    self._handle_exception(error)
  File "sqlalchemy/dialects/postgresql/asyncpg.py", line 509, in _handle_exception
    self._adapt_connection._handle_exception(error)
  File "sqlalchemy/dialects/postgresql/asyncpg.py", line 799, in _handle_exception
    raise error
  File "sqlalchemy/dialects/postgresql/asyncpg.py", line 546, in _prepare_and_execute
    self._rows = await prepared_stmt.fetch(*parameters)
  File "asyncpg/prepared_stmt.py", line 176, in fetch
    data = await self.__bind_execute(args, 0, timeout)
  File "asyncpg/prepared_stmt.py", line 241, in __bind_execute
    data, status, _ = await self.__do_execute(
  File "asyncpg/prepared_stmt.py", line 230, in __do_execute
    return await executor(protocol)
  File "asyncpg/protocol/protocol.pyx", line 207, in bind_execute
  File "asyncpg/protocol/coreproto.pyx", line 70, in asyncpg.protocol.protocol.CoreProtocol._read_server_messages
  File "asyncpg/protocol/coreproto.pyx", line 225, in asyncpg.protocol.protocol.CoreProtocol._process__bind_execute
  File "asyncpg/protocol/coreproto.pyx", line 518, in asyncpg.protocol.protocol.CoreProtocol._parse_data_msgs
  File "asyncpg/protocol/protocol.pyx", line 839, in asyncpg.protocol.protocol.BaseProtocol._decode_row
  File "asyncpg/protocol/prepared_stmt.pyx", line 328, in asyncpg.protocol.protocol.PreparedStatementState._decode_row
  File "asyncpg/protocol/codecs/base.pyx", line 330, in asyncpg.protocol.protocol.Codec.decode
  File "asyncpg/protocol/codecs/base.pyx", line 230, in asyncpg.protocol.protocol.Codec.decode_scalar
  File "asyncpg/pgproto/./codecs/float.pyx", line 33, in asyncpg.pgproto.pgproto.float8_decode
  File "asyncpg/pgproto/./frb.pxd", line 27, in asyncpg.pgproto.pgproto.frb_read
  File "asyncpg/pgproto/./frb.pyx", line 10, in asyncpg.pgproto.pgproto.frb_check

is it a network issue or somewhere I need to look into?

Langage dominant
Python
Étoiles
8.1k
Forks
474
Merge moyen
1 j 17 h
PR mergées (30 j)
24

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de MagicStack/asyncpg

Toutes les issues de MagicStack/asyncpg

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.