Package: src:asyncpg Version: 0.27.0-1 Severity: serious Control: close -1 0.30.0-1.1 Tags: ftbfs bookworm
Dear maintainer: During a rebuild of all packages in bookworm, your package failed to build: [ Note: The bug is closed with the version in trixie/sid, but packages in bookworm must still build in bookworm ]. -------------------------------------------------------------------------------- [...] debian/rules clean dh clean --with python3 --buildsystem=pybuild dh_auto_clean -O--buildsystem=pybuild I: pybuild base:240: python3.11 setup.py clean running clean removing '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build' (and everything under it) 'build/bdist.linux-x86_64' does not exist -- can't clean it 'build/scripts-3.11' does not exist -- can't clean it dh_autoreconf_clean -O--buildsystem=pybuild dh_clean -O--buildsystem=pybuild 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.11 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.11_asyncpg/build/asyncpg copying asyncpg/connection.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg copying asyncpg/pool.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg copying asyncpg/_version.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg copying asyncpg/cluster.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg copying asyncpg/types.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg copying asyncpg/prepared_stmt.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg copying asyncpg/connect_utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg copying asyncpg/compat.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg copying asyncpg/transaction.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg copying asyncpg/serverversion.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg copying asyncpg/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg copying asyncpg/utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg copying asyncpg/connresource.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg copying asyncpg/introspection.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg copying asyncpg/cursor.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/exceptions copying asyncpg/exceptions/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/exceptions copying asyncpg/exceptions/_base.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/exceptions creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/pgproto copying asyncpg/pgproto/types.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/pgproto copying asyncpg/pgproto/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/pgproto creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/_testbase copying asyncpg/_testbase/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/_testbase copying asyncpg/_testbase/fuzzer.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/_testbase creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol copying asyncpg/protocol/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol/codecs copying asyncpg/protocol/codecs/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol/codecs copying asyncpg/pgproto/frb.pyx -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/pgproto copying asyncpg/pgproto/buffer.pyx -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/pgproto copying asyncpg/pgproto/pgproto.pyx -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/pgproto copying asyncpg/pgproto/uuid.pyx -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/pgproto copying asyncpg/pgproto/cpythonx.pxd -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/pgproto copying asyncpg/pgproto/hton.pxd -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/pgproto copying asyncpg/pgproto/__init__.pxd -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/pgproto copying asyncpg/pgproto/pgproto.pxd -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/pgproto copying asyncpg/pgproto/buffer.pxd -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/pgproto copying asyncpg/pgproto/tohex.pxd -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/pgproto copying asyncpg/pgproto/frb.pxd -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/pgproto copying asyncpg/pgproto/debug.pxd -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/pgproto copying asyncpg/pgproto/consts.pxi -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/pgproto copying asyncpg/protocol/prepared_stmt.pyx -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol copying asyncpg/protocol/coreproto.pyx -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol copying asyncpg/protocol/settings.pyx -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol copying asyncpg/protocol/scram.pyx -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol copying asyncpg/protocol/protocol.pyx -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol copying asyncpg/protocol/encodings.pyx -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol copying asyncpg/protocol/prepared_stmt.pxd -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol copying asyncpg/protocol/settings.pxd -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol copying asyncpg/protocol/cpythonx.pxd -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol copying asyncpg/protocol/protocol.pxd -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol copying asyncpg/protocol/coreproto.pxd -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol copying asyncpg/protocol/scram.pxd -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol copying asyncpg/protocol/consts.pxi -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol copying asyncpg/protocol/pgtypes.pxi -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol copying asyncpg/protocol/codecs/range.pyx -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol/codecs copying asyncpg/protocol/codecs/array.pyx -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol/codecs copying asyncpg/protocol/codecs/base.pyx -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol/codecs copying asyncpg/protocol/codecs/textutils.pyx -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol/codecs copying asyncpg/protocol/codecs/record.pyx -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol/codecs copying asyncpg/protocol/codecs/pgproto.pyx -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol/codecs copying asyncpg/protocol/codecs/base.pxd -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol/codecs running build_ext building 'asyncpg.pgproto.pgproto' extension creating build creating build/temp.linux-x86_64-cpython-311 creating build/temp.linux-x86_64-cpython-311/asyncpg creating build/temp.linux-x86_64-cpython-311/asyncpg/pgproto x86_64-linux-gnu-gcc -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.11 -c asyncpg/pgproto/pgproto.c -o build/temp.linux-x86_64-cpython-311/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-311/asyncpg/pgproto/pgproto.o -L/usr/lib/x86_64-linux-gnu -o /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/pgproto/pgproto.cpython-311-x86_64-linux-gnu.so building 'asyncpg.protocol.protocol' extension creating build/temp.linux-x86_64-cpython-311/asyncpg/protocol creating build/temp.linux-x86_64-cpython-311/asyncpg/protocol/record x86_64-linux-gnu-gcc -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.11 -c asyncpg/protocol/protocol.c -o build/temp.linux-x86_64-cpython-311/asyncpg/protocol/protocol.o -O2 -fsigned-char -Wall -Wsign-compare -Wconversion x86_64-linux-gnu-gcc -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.11 -c asyncpg/protocol/record/recordobj.c -o build/temp.linux-x86_64-cpython-311/asyncpg/protocol/record/recordobj.o -O2 -fsigned-char -Wall -Wsign-compare -Wconversion asyncpg/protocol/record/recordobj.c: In function ârecord_deallocâ: asyncpg/protocol/record/recordobj.c:101:5: warning: âUsingDeprecatedTrashcanMacroâ is deprecated [-Wdeprecated-declarations] 101 | Py_TRASHCAN_SAFE_BEGIN(o) | ^~~~~~~~~~~~~~~~~~~~~~ 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-311/asyncpg/protocol/protocol.o build/temp.linux-x86_64-cpython-311/asyncpg/protocol/record/recordobj.o -L/usr/lib/x86_64-linux-gnu -o /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol/protocol.cpython-311-x86_64-linux-gnu.so dh_auto_test -O--buildsystem=pybuild I: pybuild base:240: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build; python3.11 -m pytest -k "not test_flake8" ============================= test session starts ============================== platform linux -- Python 3.11.2, pytest-7.2.1, 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 =================================== ____________________ TestConnectParams.test_connect_params _____________________ self = <tests.test_connect.TestConnectParams testMethod=test_connect_params> def test_connect_params(self): for testcase in self.TESTS: > self.run_testcase(testcase) tests/test_connect.py:881: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_connect.py:810: in run_testcase addrs, params = connect_utils._parse_connect_dsn_and_args( asyncpg/connect_utils.py:266: in _parse_connect_dsn_and_args parsed = urllib.parse.urlparse(dsn) /usr/lib/python3.11/urllib/parse.py:395: in urlparse splitresult = urlsplit(url, scheme, allow_fragments) /usr/lib/python3.11/urllib/parse.py:516: in urlsplit _check_bracketed_netloc(netloc) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ netloc = 'user@[2001:db8::1234%25eth0],[::1]' def _check_bracketed_netloc(netloc): # Note that this function must mirror the splitting # done in NetlocResultMixins._hostinfo(). hostname_and_port = netloc.rpartition('@')[2] before_bracket, have_open_br, bracketed = hostname_and_port.partition('[') if have_open_br: # No data is allowed before a bracket. if before_bracket: raise ValueError("Invalid IPv6 URL") hostname, _, port = bracketed.partition(']') # No data is allowed after the bracket but before the port delimiter. if port and not port.startswith(":"): > raise ValueError("Invalid IPv6 URL") E ValueError: Invalid IPv6 URL /usr/lib/python3.11/urllib/parse.py:451: ValueError =========================== short test summary info ============================ FAILED tests/test_connect.py::TestConnectParams::test_connect_params - ValueE... ====== 1 failed, 289 passed, 2 skipped, 1 deselected in 61.09s (0:01:01) ======= E: pybuild pybuild:388: test: plugin distutils failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build; python3.11 -m pytest -k "not test_flake8" dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.11 returned exit code 13 make: *** [debian/rules:8: binary] Error 25 dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 -------------------------------------------------------------------------------- The above is just how the build ends and not necessarily the most relevant part. If required, the full build log is available here: https://people.debian.org/~sanvila/build-logs/bookworm/ About the archive rebuild: The build was made on virtual machines from AWS, using sbuild and a reduced chroot with only build-essential packages. If you could not reproduce the bug please contact me privately, as I am willing to provide ssh access to a virtual machine where the bug is fully reproducible. If this is really a bug in one of the build-depends, please use reassign and add an affects on src:asyncpg, so that this is still visible in the BTS web page for this package. Note: The following packages fail in a similar weird way: asyncpg python-taskflow python-w3lib yarl Maybe there is a common reason, or maybe the packages need to adapt anyway. Thanks.