MagicStack / MagicStack/asyncpg
insufficient data in buffer
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Python
- Estrellas
- 8.1k
- Forks
- 468
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
- 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?
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza con las entradas del traceback en asyncpg/protocol/coreproto.pyx, asyncpg/protocol/codecs/float.pyx y asyncpg/protocol/frb.pyx; después, revisa la ruta de ejecución asíncrona de SQLAlchemy que se muestra. Reproduce el fallo con las versiones indicadas de Python, PostgreSQL y asyncpg y determina si se puede aislar el búfer truncado. Se considerará terminado cuando haya una causa confirmada y una prueba de regresión o una reproducción claramente documentada.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- postgresql, python, sqlalchemy
- Área
- databases
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 25/100