Source: asyncpg
Version: 0.26.0-1
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs
User: lu...@debian.org
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;users=lu...@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20221023&fusertaguser=lu...@debian.org&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.

Reply via email to