Source: asyncpg
Version: 0.26.0-1
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs
User: [email protected]
Usertags: ftbfs-20221023 ftbfs-bookworm
Hi,
During a rebuild of all packages in sid, your package failed to build
on amd64.
Relevant part (hopefully):
> debian/rules binary
> dh binary --with python3 --buildsystem=pybuild
> dh_update_autotools_config -O--buildsystem=pybuild
> dh_autoreconf -O--buildsystem=pybuild
> dh_auto_configure -O--buildsystem=pybuild
> I: pybuild base:240: python3.10 setup.py config
> running config
> dh_auto_build -O--buildsystem=pybuild
> I: pybuild base:240: /usr/bin/python3 setup.py build build_ext --cython-always
> running build
> running build_py
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg
> copying asyncpg/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg
> copying asyncpg/transaction.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg
> copying asyncpg/cursor.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg
> copying asyncpg/pool.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg
> copying asyncpg/connresource.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg
> copying asyncpg/compat.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg
> copying asyncpg/connect_utils.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg
> copying asyncpg/cluster.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg
> copying asyncpg/prepared_stmt.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg
> copying asyncpg/connection.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg
> copying asyncpg/_version.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg
> copying asyncpg/introspection.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg
> copying asyncpg/types.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg
> copying asyncpg/utils.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg
> copying asyncpg/serverversion.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg
> creating
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/exceptions
> copying asyncpg/exceptions/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/exceptions
> copying asyncpg/exceptions/_base.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/exceptions
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/pgproto
> copying asyncpg/pgproto/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/pgproto
> copying asyncpg/pgproto/types.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/pgproto
> creating
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/protocol
> copying asyncpg/protocol/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/protocol
> creating
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/_testbase
> copying asyncpg/_testbase/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/_testbase
> copying asyncpg/_testbase/fuzzer.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/_testbase
> creating
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/protocol/codecs
> copying asyncpg/protocol/codecs/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/protocol/codecs
> copying asyncpg/pgproto/buffer.pyx ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/pgproto
> copying asyncpg/pgproto/pgproto.pyx ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/pgproto
> copying asyncpg/pgproto/uuid.pyx ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/pgproto
> copying asyncpg/pgproto/frb.pyx ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/pgproto
> copying asyncpg/pgproto/tohex.pxd ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/pgproto
> copying asyncpg/pgproto/debug.pxd ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/pgproto
> copying asyncpg/pgproto/frb.pxd ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/pgproto
> copying asyncpg/pgproto/pgproto.pxd ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/pgproto
> copying asyncpg/pgproto/__init__.pxd ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/pgproto
> copying asyncpg/pgproto/buffer.pxd ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/pgproto
> copying asyncpg/pgproto/cpythonx.pxd ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/pgproto
> copying asyncpg/pgproto/hton.pxd ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/pgproto
> copying asyncpg/pgproto/consts.pxi ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/pgproto
> copying asyncpg/protocol/coreproto.pyx ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/protocol
> copying asyncpg/protocol/encodings.pyx ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/protocol
> copying asyncpg/protocol/scram.pyx ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/protocol
> copying asyncpg/protocol/protocol.pyx ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/protocol
> copying asyncpg/protocol/prepared_stmt.pyx ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/protocol
> copying asyncpg/protocol/settings.pyx ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/protocol
> copying asyncpg/protocol/settings.pxd ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/protocol
> copying asyncpg/protocol/coreproto.pxd ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/protocol
> copying asyncpg/protocol/protocol.pxd ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/protocol
> copying asyncpg/protocol/cpythonx.pxd ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/protocol
> copying asyncpg/protocol/prepared_stmt.pxd ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/protocol
> copying asyncpg/protocol/scram.pxd ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/protocol
> copying asyncpg/protocol/consts.pxi ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/protocol
> copying asyncpg/protocol/pgtypes.pxi ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/protocol
> copying asyncpg/protocol/codecs/pgproto.pyx ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/protocol/codecs
> copying asyncpg/protocol/codecs/array.pyx ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/protocol/codecs
> copying asyncpg/protocol/codecs/base.pyx ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/protocol/codecs
> copying asyncpg/protocol/codecs/textutils.pyx ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/protocol/codecs
> copying asyncpg/protocol/codecs/range.pyx ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/protocol/codecs
> copying asyncpg/protocol/codecs/record.pyx ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/protocol/codecs
> copying asyncpg/protocol/codecs/base.pxd ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/protocol/codecs
> running build_ext
> Compiling asyncpg/pgproto/pgproto.pyx because it depends on
> /usr/lib/python3/dist-packages/Cython/Includes/libc/string.pxd.
> Compiling asyncpg/protocol/protocol.pyx because it depends on
> /usr/lib/python3/dist-packages/Cython/Includes/libc/string.pxd.
> [1/2] Cythonizing asyncpg/pgproto/pgproto.pyx
> [2/2] Cythonizing asyncpg/protocol/protocol.pyx
> building 'asyncpg.pgproto.pgproto' extension
> creating build
> creating build/temp.linux-x86_64-cpython-310
> creating build/temp.linux-x86_64-cpython-310/asyncpg
> creating build/temp.linux-x86_64-cpython-310/asyncpg/pgproto
> x86_64-linux-gnu-gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv
> -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g
> -fwrapv -O2 -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=.
> -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time
> -D_FORTIFY_SOURCE=2 -fPIC -I./asyncpg/pgproto -I/usr/include/python3.10 -c
> asyncpg/pgproto/pgproto.c -o
> build/temp.linux-x86_64-cpython-310/asyncpg/pgproto/pgproto.o -O2
> -fsigned-char -Wall -Wsign-compare -Wconversion
> x86_64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -g -fwrapv -O2
> -Wl,-z,relro -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=.
> -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time
> -D_FORTIFY_SOURCE=2
> build/temp.linux-x86_64-cpython-310/asyncpg/pgproto/pgproto.o
> -L/usr/lib/x86_64-linux-gnu -o
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/pgproto/pgproto.cpython-310-x86_64-linux-gnu.so
> building 'asyncpg.protocol.protocol' extension
> creating build/temp.linux-x86_64-cpython-310/asyncpg/protocol
> creating build/temp.linux-x86_64-cpython-310/asyncpg/protocol/record
> x86_64-linux-gnu-gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv
> -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g
> -fwrapv -O2 -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=.
> -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time
> -D_FORTIFY_SOURCE=2 -fPIC -I./asyncpg/pgproto -Iasyncpg/pgproto/
> -I/usr/include/python3.10 -c asyncpg/protocol/protocol.c -o
> build/temp.linux-x86_64-cpython-310/asyncpg/protocol/protocol.o -O2
> -fsigned-char -Wall -Wsign-compare -Wconversion
> x86_64-linux-gnu-gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv
> -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g
> -fwrapv -O2 -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=.
> -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time
> -D_FORTIFY_SOURCE=2 -fPIC -I./asyncpg/pgproto -Iasyncpg/pgproto/
> -I/usr/include/python3.10 -c asyncpg/protocol/record/recordobj.c -o
> build/temp.linux-x86_64-cpython-310/asyncpg/protocol/record/recordobj.o -O2
> -fsigned-char -Wall -Wsign-compare -Wconversion
> x86_64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -g -fwrapv -O2
> -Wl,-z,relro -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=.
> -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time
> -D_FORTIFY_SOURCE=2
> build/temp.linux-x86_64-cpython-310/asyncpg/protocol/protocol.o
> build/temp.linux-x86_64-cpython-310/asyncpg/protocol/record/recordobj.o
> -L/usr/lib/x86_64-linux-gnu -o
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build/asyncpg/protocol/protocol.cpython-310-x86_64-linux-gnu.so
> dh_auto_test -O--buildsystem=pybuild
> I: pybuild base:240: cd
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build; python3.10 -m pytest
> -k "not test_flake8"
> ============================= test session starts
> ==============================
> platform linux -- Python 3.10.7, pytest-7.1.2, pluggy-1.0.0+repack
> rootdir: /<<PKGBUILDDIR>>
> collected 293 items / 1 deselected / 292 selected
>
> tests/test__environment.py ss [
> 0%]
> tests/test_adversity.py ... [
> 1%]
> tests/test_cache_invalidation.py ......... [
> 4%]
> tests/test_cancellation.py .... [
> 6%]
> tests/test_codecs.py .................................... [
> 18%]
> tests/test_connect.py ............................F............... [
> 33%]
> tests/test_copy.py ....................... [
> 41%]
> tests/test_cursor.py .......... [
> 44%]
> tests/test_exceptions.py ... [
> 45%]
> tests/test_execute.py ................... [
> 52%]
> tests/test_introspection.py ....... [
> 54%]
> tests/test_listeners.py .......... [
> 58%]
> tests/test_pool.py ........................................... [
> 72%]
> tests/test_prepare.py .................................. [
> 84%]
> tests/test_record.py ......................... [
> 93%]
> tests/test_test.py .. [
> 93%]
> tests/test_timeout.py ......... [
> 96%]
> tests/test_transaction.py ...... [
> 98%]
> tests/test_types.py . [
> 99%]
> tests/test_utils.py ..
> [100%]
>
> =================================== FAILURES
> ===================================
> ___________ TestSSLConnection.test_executemany_uvloop_ssl_issue_700
> ____________
>
> self = <tests.test_connect.TestSSLConnection
> testMethod=test_executemany_uvloop_ssl_issue_700>
>
> async def test_executemany_uvloop_ssl_issue_700(self):
> ssl_context = ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT)
> ssl_context.load_verify_locations(SSL_CA_CERT_FILE)
>
> con = await self.connect(
> host='localhost',
> user='ssl_user',
> ssl=ssl_context)
>
> try:
> > await con.execute('CREATE TABLE test_many (v int)')
>
> tests/test_connect.py:1455:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = <asyncpg.connection.Connection object at 0x7f65a1158d60>
> query = 'CREATE TABLE test_many (v int)', timeout = None, args = ()
>
> async def execute(self, query: str, *args, timeout: float=None) -> str:
> """Execute an SQL command (or commands).
>
> This method can execute many SQL commands at once, when no arguments
> are provided.
>
> Example:
>
> .. code-block:: pycon
>
> >>> await con.execute('''
> ... CREATE TABLE mytab (a int);
> ... INSERT INTO mytab (a) VALUES (100), (200), (300);
> ... ''')
> INSERT 0 3
>
> >>> await con.execute('''
> ... INSERT INTO mytab (a) VALUES ($1), ($2)
> ... ''', 10, 20)
> INSERT 0 2
>
> :param args: Query arguments.
> :param float timeout: Optional timeout value in seconds.
> :return str: Status of the last SQL command.
>
> .. versionchanged:: 0.5.4
> Made it possible to pass query arguments.
> """
> self._check_open()
>
> if not args:
> > return await self._protocol.query(query, timeout)
>
> asyncpg/connection.py:318:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> > return await waiter
> E asyncpg.exceptions.InsufficientPrivilegeError: permission denied for
> schema public
>
> asyncpg/protocol/protocol.pyx:338: InsufficientPrivilegeError
>
> During handling of the above exception, another exception occurred:
>
> self = <tests.test_connect.TestSSLConnection
> testMethod=test_executemany_uvloop_ssl_issue_700>
>
> async def test_executemany_uvloop_ssl_issue_700(self):
> ssl_context = ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT)
> ssl_context.load_verify_locations(SSL_CA_CERT_FILE)
>
> con = await self.connect(
> host='localhost',
> user='ssl_user',
> ssl=ssl_context)
>
> try:
> await con.execute('CREATE TABLE test_many (v int)')
> await con.executemany(
> 'INSERT INTO test_many VALUES ($1)',
> [(x + 1,) for x in range(100)]
> )
> self.assertEqual(
> await con.fetchval('SELECT sum(v) FROM test_many'), 5050
> )
> finally:
> try:
> > await con.execute('DROP TABLE test_many')
> E asyncpg.exceptions.UndefinedTableError: table "test_many"
> does not exist
>
> tests/test_connect.py:1465: UndefinedTableError
> =========================== short test summary info
> ============================
> FAILED
> tests/test_connect.py::TestSSLConnection::test_executemany_uvloop_ssl_issue_700
> ====== 1 failed, 289 passed, 2 skipped, 1 deselected in 68.93s (0:01:08)
> =======
> E: pybuild pybuild:379: test: plugin distutils failed with: exit code=1: cd
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_asyncpg/build; python3.10 -m pytest
> -k "not test_flake8"
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.10
> returned exit code 13
The full build log is available from:
http://qa-logs.debian.net/2022/10/23/asyncpg_0.26.0-1_unstable.log
All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20221023;[email protected]
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20221023&[email protected]&allbugs=1&cseverity=1&ctags=1&caffected=1#results
A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!
If you reassign this bug to another package, please marking it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects
If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.