Package: src:python-aiohttp-session Version: 2.12.1-3 Severity: serious Tags: ftbfs forky sid
Dear maintainer: During a rebuild of all packages in unstable, this package failed to build. Below you will find the last part of the build log (probably the most relevant part, but not necessarily). If required, the full build log is available here: https://people.debian.org/~sanvila/build-logs/202510/ 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 cannot 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:python-aiohttp-session, so that this is still visible in the BTS web page for this package. Thanks. -------------------------------------------------------------------------------- [...] debian/rules clean dh clean --with python3,sphinxdoc --buildsystem=pybuild dh_auto_clean -O--buildsystem=pybuild dh_autoreconf_clean -O--buildsystem=pybuild dh_clean -O--buildsystem=pybuild debian/rules binary dh binary --with python3,sphinxdoc --buildsystem=pybuild dh_update_autotools_config -O--buildsystem=pybuild dh_autoreconf -O--buildsystem=pybuild dh_auto_configure -O--buildsystem=pybuild dh_auto_build -O--buildsystem=pybuild I: pybuild plugin_pyproject:129: Building wheel for python3.13 with "build" module I: pybuild base:311: python3.13 -m build --skip-dependency-check --no-isolation --wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_aiohttp_session * Building wheel... /usr/lib/python3/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: Apache Software License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() running bdist_wheel running build running build_py creating build/lib/aiohttp_session copying aiohttp_session/__init__.py -> build/lib/aiohttp_session copying aiohttp_session/nacl_storage.py -> build/lib/aiohttp_session copying aiohttp_session/memcached_storage.py -> build/lib/aiohttp_session copying aiohttp_session/cookie_storage.py -> build/lib/aiohttp_session copying aiohttp_session/log.py -> build/lib/aiohttp_session copying aiohttp_session/redis_storage.py -> build/lib/aiohttp_session running egg_info creating aiohttp_session.egg-info writing aiohttp_session.egg-info/PKG-INFO writing dependency_links to aiohttp_session.egg-info/dependency_links.txt writing requirements to aiohttp_session.egg-info/requires.txt writing top-level names to aiohttp_session.egg-info/top_level.txt writing manifest file 'aiohttp_session.egg-info/SOURCES.txt' reading manifest file 'aiohttp_session.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no previously-included files matching '*.pyc' found anywhere in distribution no previously-included directories found matching 'docs/_build' adding license file 'LICENSE' writing manifest file 'aiohttp_session.egg-info/SOURCES.txt' copying aiohttp_session/py.typed -> build/lib/aiohttp_session installing to build/bdist.linux-x86_64/wheel running install running install_lib creating build/bdist.linux-x86_64/wheel creating build/bdist.linux-x86_64/wheel/aiohttp_session copying build/lib/aiohttp_session/__init__.py -> build/bdist.linux-x86_64/wheel/./aiohttp_session copying build/lib/aiohttp_session/nacl_storage.py -> build/bdist.linux-x86_64/wheel/./aiohttp_session copying build/lib/aiohttp_session/py.typed -> build/bdist.linux-x86_64/wheel/./aiohttp_session copying build/lib/aiohttp_session/memcached_storage.py -> build/bdist.linux-x86_64/wheel/./aiohttp_session copying build/lib/aiohttp_session/cookie_storage.py -> build/bdist.linux-x86_64/wheel/./aiohttp_session copying build/lib/aiohttp_session/log.py -> build/bdist.linux-x86_64/wheel/./aiohttp_session copying build/lib/aiohttp_session/redis_storage.py -> build/bdist.linux-x86_64/wheel/./aiohttp_session running install_egg_info Copying aiohttp_session.egg-info to build/bdist.linux-x86_64/wheel/./aiohttp_session-2.12.1.egg-info running install_scripts creating build/bdist.linux-x86_64/wheel/aiohttp_session-2.12.1.dist-info/WHEEL creating '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_aiohttp_session/.tmp-panyx9ym/aiohttp_session-2.12.1-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it adding 'aiohttp_session/__init__.py' adding 'aiohttp_session/cookie_storage.py' adding 'aiohttp_session/log.py' adding 'aiohttp_session/memcached_storage.py' adding 'aiohttp_session/nacl_storage.py' adding 'aiohttp_session/py.typed' adding 'aiohttp_session/redis_storage.py' adding 'aiohttp_session-2.12.1.dist-info/licenses/LICENSE' adding 'aiohttp_session-2.12.1.dist-info/METADATA' adding 'aiohttp_session-2.12.1.dist-info/WHEEL' adding 'aiohttp_session-2.12.1.dist-info/top_level.txt' adding 'aiohttp_session-2.12.1.dist-info/RECORD' removing build/bdist.linux-x86_64/wheel Successfully built aiohttp_session-2.12.1-py3-none-any.whl I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.13 with "installer" module debian/rules execute_after_dh_auto_build make[1]: Entering directory '/<<PKGBUILDDIR>>' cd docs/ ; /usr/bin/make html make[2]: Entering directory '/<<PKGBUILDDIR>>/docs' sphinx-build -b html -d _build/doctrees . _build/html Running Sphinx v8.2.3 WARNING: Invalid configuration value found: 'language = None'. Update your configuration to a valid language code. Falling back to 'en' (English). loading translations [en]... done making output directory... done Converting `source_suffix = '.rst'` to `source_suffix = {'.rst': 'restructuredtext'}`. loading intersphinx inventory 'python' from /usr/share/doc/python3-doc/html/objects.inv ... WARNING: failed to reach any of the inventories with the following issues: intersphinx inventory '/usr/share/doc/python3-doc/html/objects.inv' not readable due to FileNotFoundError: [Errno 2] No such file or directory: '/usr/share/doc/python3-doc/html/objects.inv' building [mo]: targets for 0 po files that are out of date writing output... building [html]: targets for 3 source files that are out of date updating environment: [new config] 3 added, 0 changed, 0 removed reading sources... [ 33%] glossary reading sources... [ 67%] index reading sources... [100%] reference /<<PKGBUILDDIR>>/docs/reference.rst:337: WARNING: duplicate object description of aiohttp_session.cookie_storage, other instance in reference, use :no-index: for one of them looking for now-outdated files... none found pickling environment... done checking consistency... done preparing documents... done copying assets... copying static files... Writing evaluated template result to /<<PKGBUILDDIR>>/docs/_build/html/_static/basic.css Writing evaluated template result to /<<PKGBUILDDIR>>/docs/_build/html/_static/language_data.js Writing evaluated template result to /<<PKGBUILDDIR>>/docs/_build/html/_static/documentation_options.js Writing evaluated template result to /<<PKGBUILDDIR>>/docs/_build/html/_static/alabaster.css copying static files: done copying extra files... copying extra files: done copying assets: done writing output... [ 33%] glossary writing output... [ 67%] index writing output... [100%] reference /<<PKGBUILDDIR>>/docs/glossary.rst:13: WARNING: term not in glossary: 'redis' [ref.term] /<<PKGBUILDDIR>>/docs/index.rst:12: WARNING: undefined label: 'aiohttp-web' [ref.ref] /<<PKGBUILDDIR>>/docs/index.rst:82: WARNING: term not in glossary: 'redis' [ref.term] /<<PKGBUILDDIR>>/docs/index.rst:124: WARNING: term not in glossary: 'redis' [ref.term] /<<PKGBUILDDIR>>/docs/reference.rst:18: WARNING: undefined label: 'coroutine' [ref.ref] /<<PKGBUILDDIR>>/docs/reference.rst:26: WARNING: undefined label: 'coroutine' [ref.ref] /<<PKGBUILDDIR>>/docs/reference.rst:237: WARNING: undefined label: 'coroutine' [ref.ref] /<<PKGBUILDDIR>>/docs/reference.rst:244: WARNING: undefined label: 'coroutine' [ref.ref] /<<PKGBUILDDIR>>/docs/reference.rst:252: WARNING: undefined label: 'coroutine' [ref.ref] generating indices... genindex py-modindex done highlighting module code... [ 33%] aiohttp_session highlighting module code... [ 67%] aiohttp_session.cookie_storage highlighting module code... [100%] aiohttp_session.redis_storage writing additional pages... search done dumping search index in English (code: en)... done dumping object inventory... done build succeeded, 12 warnings. The HTML pages are in _build/html. Build finished. The HTML pages are in _build/html. make[2]: Leaving directory '/<<PKGBUILDDIR>>/docs' make[1]: Leaving directory '/<<PKGBUILDDIR>>' dh_auto_test -O--buildsystem=pybuild I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_aiohttp_session/build; python3.13 -m pytest -k 'not test_memcached_storage and not test_redis_storage' ============================= test session starts ============================== platform linux -- Python 3.13.7, pytest-8.4.2, pluggy-1.6.0 -- /usr/bin/python3.13 cachedir: .pytest_cache rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_aiohttp_session/build configfile: pytest.ini testpaths: tests/ plugins: aiohttp-1.1.0, asyncio-1.1.0, sugar-1.1.1, typeguard-4.4.4, cov-5.0.0, mock-3.15.0 asyncio: mode=Mode.AUTO, asyncio_default_fixture_loop_scope=None, asyncio_default_test_loop_scope=function collecting ... collected 79 items / 27 deselected / 52 selected tests/test_abstract_storage.py::test_max_age_also_returns_expires PASSED [ 1%] tests/test_abstract_storage.py::test_max_age_session_reset PASSED [ 3%] tests/test_cookie_storage.py::test_create_new_session PASSED [ 5%] tests/test_cookie_storage.py::test_load_existing_session PASSED [ 7%] tests/test_cookie_storage.py::test_change_session PASSED [ 9%] tests/test_cookie_storage.py::test_clear_cookie_on_session_invalidation FAILED [ 11%] tests/test_cookie_storage.py::test_dont_save_not_requested_session PASSED [ 13%] tests/test_encrypted_cookie_storage.py::test_invalid_key PASSED [ 15%] tests/test_encrypted_cookie_storage.py::test_str_key PASSED [ 17%] tests/test_encrypted_cookie_storage.py::test_create_new_session_broken_by_format PASSED [ 19%] tests/test_encrypted_cookie_storage.py::test_load_existing_session PASSED [ 21%] tests/test_encrypted_cookie_storage.py::test_load_existing_session_with_fernet PASSED [ 23%] tests/test_encrypted_cookie_storage.py::test_change_session PASSED [ 25%] tests/test_encrypted_cookie_storage.py::test_clear_cookie_on_session_invalidation PASSED [ 26%] tests/test_encrypted_cookie_storage.py::test_encrypted_cookie_session_fixation PASSED [ 28%] tests/test_encrypted_cookie_storage.py::test_fernet_ttl PASSED [ 30%] tests/test_get_session.py::test_get_stored_session PASSED [ 32%] tests/test_get_session.py::test_session_is_not_stored PASSED [ 34%] tests/test_get_session.py::test_storage_returns_not_session_on_load_session PASSED [ 36%] tests/test_get_session.py::test_get_new_session PASSED [ 38%] tests/test_get_session.py::test_get_new_session_no_storage PASSED [ 40%] tests/test_get_session.py::test_get_new_session_bad_return PASSED [ 42%] tests/test_http_exception.py::test_exceptions PASSED [ 44%] tests/test_nacl_storage.py::test_invalid_key PASSED [ 46%] tests/test_nacl_storage.py::test_create_new_session PASSED [ 48%] tests/test_nacl_storage.py::test_load_existing_session PASSED [ 50%] tests/test_nacl_storage.py::test_change_session PASSED [ 51%] tests/test_nacl_storage.py::test_del_cookie_on_session_invalidation PASSED [ 53%] tests/test_nacl_storage.py::test_nacl_session_fixation PASSED [ 55%] tests/test_nacl_storage.py::test_load_session_dont_load_expired_session PASSED [ 57%] tests/test_nacl_storage.py::test_load_corrupted_session PASSED [ 59%] tests/test_nacl_storage.py::test_load_session_different_key PASSED [ 61%] tests/test_nacl_storage.py::test_load_expired_session PASSED [ 63%] tests/test_path_domain.py::test_with_same_path_domain PASSED [ 65%] tests/test_path_domain.py::test_with_different_path PASSED [ 67%] tests/test_path_domain.py::test_with_different_domain PASSED [ 69%] tests/test_path_domain.py::test_invalidate_with_same_path_domain PASSED [ 71%] tests/test_response_types.py::test_stream_response PASSED [ 73%] tests/test_response_types.py::test_bad_response_type PASSED [ 75%] tests/test_response_types.py::test_prepared_response_type PASSED [ 76%] tests/test_session_dict.py::test_create PASSED [ 78%] tests/test_session_dict.py::test_create2 PASSED [ 80%] tests/test_session_dict.py::test_create3 PASSED [ 82%] tests/test_session_dict.py::test_set_new_identity_ok PASSED [ 84%] tests/test_session_dict.py::test_set_new_identity_for_not_new_session PASSED [ 86%] tests/test_session_dict.py::test__repr__ PASSED [ 88%] tests/test_session_dict.py::test__repr__2 PASSED [ 90%] tests/test_session_dict.py::test_invalidate PASSED [ 92%] tests/test_session_dict.py::test_invalidate2 PASSED [ 94%] tests/test_session_dict.py::test_operations PASSED [ 96%] tests/test_session_dict.py::test_change PASSED [ 98%] tests/test_session_middleware.py::test_session_middleware_bad_storage PASSED [100%] =================================== FAILURES =================================== __________________ test_clear_cookie_on_session_invalidation ___________________ aiohttp_client = <function aiohttp_client.<locals>.go at 0x7f9f8e8f0ae0> async def test_clear_cookie_on_session_invalidation( aiohttp_client: AiohttpClient, ) -> None: async def handler(request: web.Request) -> web.StreamResponse: session = await get_session(request) session.invalidate() return web.Response(body=b"OK") client = await aiohttp_client(create_app(handler)) make_cookie(client, {"a": 1, "b": 2}) resp = await client.get("/") assert resp.status == 200 > assert ( 'Set-Cookie: AIOHTTP_SESSION="{}"; ' "domain=127.0.0.1; httponly; Path=/".upper() ) == resp.cookies["AIOHTTP_SESSION"].output().upper() E assert 'SET-COOKIE: ...PONLY; PATH=/' == 'SET-COOKIE: ...PONLY; PATH=/' E E - SET-COOKIE: AIOHTTP_SESSION="{}"; HTTPONLY; PATH=/ E + SET-COOKIE: AIOHTTP_SESSION="{}"; DOMAIN=127.0.0.1; HTTPONLY; PATH=/ E ? ++++++++++++++++++ aiohttp_client = <function aiohttp_client.<locals>.go at 0x7f9f8e8f0ae0> client = <aiohttp.test_utils.TestClient object at 0x7f9f8e8f5250> handler = <function test_clear_cookie_on_session_invalidation.<locals>.handler at 0x7f9f8e8f1580> resp = <ClientResponse(http://127.0.0.1:35331/) [200 OK]> <CIMultiDictProxy('Content-Length': '2', 'Set-Cookie': 'AIOHTTP_SES...-Type': 'application/octet-stream', 'Date': 'Sun, 05 Oct 2025 15:09:07 GMT', 'Server': 'Python/3.13 aiohttp/3.12.15')> tests/test_cookie_storage.py:100: AssertionError ---------- coverage: platform linux, python 3.13.7-final-0 ----------- Name Stmts Miss Cover ------------------------------------------------------------ aiohttp_session/__init__.py 182 5 97% aiohttp_session/cookie_storage.py 31 0 100% aiohttp_session/log.py 2 0 100% aiohttp_session/memcached_storage.py 45 34 24% aiohttp_session/nacl_storage.py 32 0 100% aiohttp_session/redis_storage.py 43 32 26% tests/__init__.py 0 0 100% tests/conftest.py 71 36 49% tests/test_abstract_storage.py 65 0 100% tests/test_cookie_storage.py 80 0 100% tests/test_encrypted_cookie_storage.py 157 0 100% tests/test_get_session.py 48 0 100% tests/test_http_exception.py 26 0 100% tests/test_memcached_storage.py 216 189 12% tests/test_nacl_storage.py 173 0 100% tests/test_path_domain.py 101 0 100% tests/test_redis_storage.py 230 195 15% tests/test_response_types.py 38 0 100% tests/test_session_dict.py 107 0 100% tests/test_session_middleware.py 5 0 100% tests/typedefs.py 4 0 100% ------------------------------------------------------------ TOTAL 1656 491 70% ============================= slowest 10 durations ============================= 5.01s call tests/test_nacl_storage.py::test_load_session_dont_load_expired_session 3.01s call tests/test_nacl_storage.py::test_load_expired_session 2.00s call tests/test_encrypted_cookie_storage.py::test_fernet_ttl 0.01s call tests/test_abstract_storage.py::test_max_age_also_returns_expires (6 durations < 0.005s hidden. Use -vv to show these durations.) =========================== short test summary info ============================ FAILED tests/test_cookie_storage.py::test_clear_cookie_on_session_invalidation ================= 1 failed, 51 passed, 27 deselected in 10.53s ================= E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_aiohttp_session/build; python3.13 -m pytest -k 'not test_memcached_storage and not test_redis_storage' dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.13 returned exit code 13 make: *** [debian/rules:12: binary] Error 25 dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 --------------------------------------------------------------------------------

