Your message dated Fri, 09 Oct 2026 11:14:51 +0000
with message-id <[email protected]>
and subject line Bug#1150193: Removed package(s) from unstable
has caused the Debian Bug report #1058292,
regarding aioredis: FTBFS: FAILED tests/multi_exec_test.py::test_global_loop
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
1058292: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1058292
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: aioredis
Version: 1.3.1-2
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: [email protected]
Usertags: ftbfs-20231212 ftbfs-trixie
Hi,
During a rebuild of all packages in sid, your package failed to build
on amd64.
Relevant part (hopefully):
> debian/rules build
> dh build --with python3 --buildsystem=pybuild
> dh: warning: Compatibility levels before 10 are deprecated (level 9 in use)
> dh_update_autotools_config -O--buildsystem=pybuild
> dh_auto_configure -O--buildsystem=pybuild
> dh_auto_configure: warning: Compatibility levels before 10 are deprecated
> (level 9 in use)
> I: pybuild base:310: python3.12 setup.py config
> running config
> I: pybuild base:310: python3.11 setup.py config
> running config
> dh_auto_build -O--buildsystem=pybuild
> dh_auto_build: warning: Compatibility levels before 10 are deprecated (level
> 9 in use)
> I: pybuild base:310: /usr/bin/python3.12 setup.py build
> running build
> running build_py
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_aioredis/build/aioredis
> copying aioredis/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_aioredis/build/aioredis
> copying aioredis/pool.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_aioredis/build/aioredis
> copying aioredis/log.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_aioredis/build/aioredis
> copying aioredis/parser.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_aioredis/build/aioredis
> copying aioredis/errors.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_aioredis/build/aioredis
> copying aioredis/pubsub.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_aioredis/build/aioredis
> copying aioredis/abc.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_aioredis/build/aioredis
> copying aioredis/locks.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_aioredis/build/aioredis
> copying aioredis/util.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_aioredis/build/aioredis
> copying aioredis/stream.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_aioredis/build/aioredis
> copying aioredis/connection.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_aioredis/build/aioredis
> creating
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_aioredis/build/aioredis/sentinel
> copying aioredis/sentinel/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_aioredis/build/aioredis/sentinel
> copying aioredis/sentinel/pool.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_aioredis/build/aioredis/sentinel
> copying aioredis/sentinel/commands.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_aioredis/build/aioredis/sentinel
> creating
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_aioredis/build/aioredis/commands
> copying aioredis/commands/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_aioredis/build/aioredis/commands
> copying aioredis/commands/geo.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_aioredis/build/aioredis/commands
> copying aioredis/commands/cluster.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_aioredis/build/aioredis/commands
> copying aioredis/commands/transaction.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_aioredis/build/aioredis/commands
> copying aioredis/commands/string.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_aioredis/build/aioredis/commands
> copying aioredis/commands/streams.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_aioredis/build/aioredis/commands
> copying aioredis/commands/generic.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_aioredis/build/aioredis/commands
> copying aioredis/commands/list.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_aioredis/build/aioredis/commands
> copying aioredis/commands/sorted_set.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_aioredis/build/aioredis/commands
> copying aioredis/commands/pubsub.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_aioredis/build/aioredis/commands
> copying aioredis/commands/hyperloglog.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_aioredis/build/aioredis/commands
> copying aioredis/commands/scripting.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_aioredis/build/aioredis/commands
> copying aioredis/commands/hash.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_aioredis/build/aioredis/commands
> copying aioredis/commands/server.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_aioredis/build/aioredis/commands
> copying aioredis/commands/set.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_aioredis/build/aioredis/commands
> running egg_info
> creating aioredis.egg-info
> writing aioredis.egg-info/PKG-INFO
> writing dependency_links to aioredis.egg-info/dependency_links.txt
> writing requirements to aioredis.egg-info/requires.txt
> writing top-level names to aioredis.egg-info/top_level.txt
> writing manifest file 'aioredis.egg-info/SOURCES.txt'
> reading manifest file 'aioredis.egg-info/SOURCES.txt'
> reading manifest template 'MANIFEST.in'
> warning: no previously-included files matching '*.pyc' found anywhere in
> distribution
> warning: no previously-included files matching '*.swp' found anywhere in
> distribution
> warning: no previously-included files matching '*.*~' found anywhere in
> distribution
> adding license file 'LICENSE'
> writing manifest file 'aioredis.egg-info/SOURCES.txt'
> I: pybuild base:310: /usr/bin/python3 setup.py build
> running build
> running build_py
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_aioredis/build/aioredis
> copying aioredis/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_aioredis/build/aioredis
> copying aioredis/pool.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_aioredis/build/aioredis
> copying aioredis/log.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_aioredis/build/aioredis
> copying aioredis/parser.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_aioredis/build/aioredis
> copying aioredis/errors.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_aioredis/build/aioredis
> copying aioredis/pubsub.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_aioredis/build/aioredis
> copying aioredis/abc.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_aioredis/build/aioredis
> copying aioredis/locks.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_aioredis/build/aioredis
> copying aioredis/util.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_aioredis/build/aioredis
> copying aioredis/stream.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_aioredis/build/aioredis
> copying aioredis/connection.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_aioredis/build/aioredis
> creating
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_aioredis/build/aioredis/sentinel
> copying aioredis/sentinel/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_aioredis/build/aioredis/sentinel
> copying aioredis/sentinel/pool.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_aioredis/build/aioredis/sentinel
> copying aioredis/sentinel/commands.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_aioredis/build/aioredis/sentinel
> creating
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_aioredis/build/aioredis/commands
> copying aioredis/commands/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_aioredis/build/aioredis/commands
> copying aioredis/commands/geo.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_aioredis/build/aioredis/commands
> copying aioredis/commands/cluster.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_aioredis/build/aioredis/commands
> copying aioredis/commands/transaction.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_aioredis/build/aioredis/commands
> copying aioredis/commands/string.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_aioredis/build/aioredis/commands
> copying aioredis/commands/streams.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_aioredis/build/aioredis/commands
> copying aioredis/commands/generic.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_aioredis/build/aioredis/commands
> copying aioredis/commands/list.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_aioredis/build/aioredis/commands
> copying aioredis/commands/sorted_set.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_aioredis/build/aioredis/commands
> copying aioredis/commands/pubsub.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_aioredis/build/aioredis/commands
> copying aioredis/commands/hyperloglog.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_aioredis/build/aioredis/commands
> copying aioredis/commands/scripting.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_aioredis/build/aioredis/commands
> copying aioredis/commands/hash.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_aioredis/build/aioredis/commands
> copying aioredis/commands/server.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_aioredis/build/aioredis/commands
> copying aioredis/commands/set.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_aioredis/build/aioredis/commands
> running egg_info
> writing aioredis.egg-info/PKG-INFO
> writing dependency_links to aioredis.egg-info/dependency_links.txt
> writing requirements to aioredis.egg-info/requires.txt
> writing top-level names to aioredis.egg-info/top_level.txt
> reading manifest file 'aioredis.egg-info/SOURCES.txt'
> reading manifest template 'MANIFEST.in'
> warning: no previously-included files matching '*.pyc' found anywhere in
> distribution
> warning: no previously-included files matching '*.swp' found anywhere in
> distribution
> warning: no previously-included files matching '*.*~' found anywhere in
> distribution
> adding license file 'LICENSE'
> writing manifest file 'aioredis.egg-info/SOURCES.txt'
> dh_auto_test -O--buildsystem=pybuild
> dh_auto_test: warning: Compatibility levels before 10 are deprecated (level 9
> in use)
> I: pybuild base:310: cd
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_aioredis/build; python3.12 -m pytest
> -ktest_global_loop
> ============================= test session starts
> ==============================
> platform linux -- Python 3.12.1, pytest-7.4.3, pluggy-1.3.0
> rootdir: /<<PKGBUILDDIR>>
> configfile: setup.cfg
> plugins: cov-4.1.0
> collected 799 items / 798 deselected / 1 selected
>
> tests/multi_exec_test.py F
> [100%]
>
> =================================== FAILURES
> ===================================
> _______________________________ test_global_loop
> _______________________________
>
> def test_global_loop():
> conn = mock.Mock(spec=(
> 'execute closed _transaction_error _buffered'
> .split()))
> try:
> old_loop = asyncio.get_event_loop()
> except (AssertionError, RuntimeError):
> old_loop = None
> loop = asyncio.new_event_loop()
> asyncio.set_event_loop(loop)
>
> tr = MultiExec(conn, commands_factory=Redis)
> # assert tr._loop is loop
>
> def make_fut(cmd, *args, **kw):
> fut = asyncio.get_event_loop().create_future()
> if cmd == 'PING':
> fut.set_result(b'QUEUED')
> elif cmd == 'EXEC':
> fut.set_result([b'PONG'])
> else:
> fut.set_result(b'OK')
> return fut
>
> conn.execute.side_effect = make_fut
> conn.closed = False
> conn._transaction_error = None
> conn._buffered.side_effect = lambda: nullcontext(conn)
>
> async def go():
> tr.ping()
> res = await tr.execute()
> assert res == [b'PONG']
> > loop.run_until_complete(go())
>
> tests/multi_exec_test.py:47:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> /usr/lib/python3.12/asyncio/base_events.py:684: in run_until_complete
> return future.result()
> tests/multi_exec_test.py:45: in go
> res = await tr.execute()
> aioredis/commands/transaction.py:176: in execute
> return await self._do_execute(
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = <aioredis.commands.transaction.MultiExec object at 0x7fca9e3fba70>
> conn = <Mock id='140508215083280'>
>
> async def _do_execute(self, conn, *, return_exceptions=False):
> self._waiters = waiters = []
> with conn._buffered():
> multi = conn.execute('MULTI')
> coros = list(self._send_pipeline(conn))
> exec_ = conn.execute('EXEC')
> gather = asyncio.gather(multi, *coros,
> return_exceptions=True)
> last_error = None
> try:
> await asyncio.shield(gather)
> except asyncio.CancelledError:
> await gather
> except Exception as err:
> last_error = err
> raise
> finally:
> if conn.closed:
> if last_error is None:
> last_error = ConnectionClosedError()
> for fut in waiters:
> _set_exception(fut, last_error)
> # fut.cancel()
> for fut in self._results:
> if not fut.done():
> fut.set_exception(last_error)
> # fut.cancel()
> else:
> try:
> results = await exec_
> except RedisError as err:
> for fut in waiters:
> fut.set_exception(err)
> else:
> > assert len(results) == len(waiters), (
> "Results does not match waiters", results, waiters)
> E AssertionError: ('Results does not match waiters',
> [b'PONG'], [<Future pending>])
>
> aioredis/commands/transaction.py:293: AssertionError
> =============================== warnings summary
> ===============================
> tests/conftest.py:33
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_aioredis/build/tests/conftest.py:33:
> PytestDeprecationWarning: @pytest.yield_fixture is deprecated.
> Use @pytest.fixture instead; they are the same.
> @pytest.yield_fixture
>
> tests/conftest.py:143
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_aioredis/build/tests/conftest.py:143:
> PytestDeprecationWarning: @pytest.yield_fixture is deprecated.
> Use @pytest.fixture instead; they are the same.
> @pytest.yield_fixture
>
> tests/conftest.py:502
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_aioredis/build/tests/conftest.py:502:
> PytestDeprecationWarning: @pytest.yield_fixture is deprecated.
> Use @pytest.fixture instead; they are the same.
> @pytest.yield_fixture(scope='session')
>
> tests/conftest.py:527
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_aioredis/build/tests/conftest.py:527:
> PytestDeprecationWarning: The hookimpl pytest_pyfunc_call uses old-style
> configuration options (marks or attributes).
> Please use the pytest.hookimpl(tryfirst=True) decorator instead
> to configure the hooks.
> See
> https://docs.pytest.org/en/latest/deprecations.html#configuring-hook-specs-impls-using-markers
> @pytest.mark.tryfirst
>
> ../../../../../../usr/lib/python3/dist-packages/_pytest/config/__init__.py:1373
> /usr/lib/python3/dist-packages/_pytest/config/__init__.py:1373:
> PytestConfigWarning: Unknown config option: restpaths
>
> self._warn_or_fail_if_strict(f"Unknown config option: {key}\n")
>
> .pybuild/cpython3_3.12_aioredis/build/tests/multi_exec_test.py::test_global_loop
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_aioredis/build/tests/multi_exec_test.py:19:
> DeprecationWarning: There is no current event loop
> old_loop = asyncio.get_event_loop()
>
> -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
> =========================== short test summary info
> ============================
> FAILED tests/multi_exec_test.py::test_global_loop - AssertionError:
> ('Results...
> ================ 1 failed, 798 deselected, 6 warnings in 1.22s
> =================
> E: pybuild pybuild:395: test: plugin distutils failed with: exit code=1: cd
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_aioredis/build; python3.12 -m pytest
> -ktest_global_loop
> I: pybuild base:310: cd
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_aioredis/build; python3.11 -m pytest
> -ktest_global_loop
> ============================= test session starts
> ==============================
> platform linux -- Python 3.11.7, pytest-7.4.3, pluggy-1.3.0
> rootdir: /<<PKGBUILDDIR>>
> configfile: setup.cfg
> plugins: cov-4.1.0
> collected 799 items / 798 deselected / 1 selected
>
> tests/multi_exec_test.py .
> [100%]
>
> =============================== warnings summary
> ===============================
> tests/conftest.py:33
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_aioredis/build/tests/conftest.py:33:
> PytestDeprecationWarning: @pytest.yield_fixture is deprecated.
> Use @pytest.fixture instead; they are the same.
> @pytest.yield_fixture
>
> tests/conftest.py:143
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_aioredis/build/tests/conftest.py:143:
> PytestDeprecationWarning: @pytest.yield_fixture is deprecated.
> Use @pytest.fixture instead; they are the same.
> @pytest.yield_fixture
>
> tests/conftest.py:502
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_aioredis/build/tests/conftest.py:502:
> PytestDeprecationWarning: @pytest.yield_fixture is deprecated.
> Use @pytest.fixture instead; they are the same.
> @pytest.yield_fixture(scope='session')
>
> tests/conftest.py:527
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_aioredis/build/tests/conftest.py:527:
> PytestDeprecationWarning: The hookimpl pytest_pyfunc_call uses old-style
> configuration options (marks or attributes).
> Please use the pytest.hookimpl(tryfirst=True) decorator instead
> to configure the hooks.
> See
> https://docs.pytest.org/en/latest/deprecations.html#configuring-hook-specs-impls-using-markers
> @pytest.mark.tryfirst
>
> ../../../../../../usr/lib/python3/dist-packages/_pytest/config/__init__.py:1373
> /usr/lib/python3/dist-packages/_pytest/config/__init__.py:1373:
> PytestConfigWarning: Unknown config option: restpaths
>
> self._warn_or_fail_if_strict(f"Unknown config option: {key}\n")
>
> -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
> ================ 1 passed, 798 deselected, 5 warnings in 1.27s
> =================
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.12
> 3.11" returned exit code 13
The full build log is available from:
http://qa-logs.debian.net/2023/12/12/aioredis_1.3.1-2_unstable.log
All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20231212;[email protected]
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20231212&[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 mark 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.
--- End Message ---
--- Begin Message ---
Version: 1.3.1-2+rm
Dear submitter,
as the package aioredis has just been removed from the Debian archive
unstable we hereby close the associated bug reports. We are sorry
that we couldn't deal with your issue properly.
For details on the removal, please see https://bugs.debian.org/1150193
The version of this package that was in Debian prior to this removal
can still be found using https://snapshot.debian.org/.
Please note that the changes have been done on the master archive and
will not propagate to any mirrors until the next dinstall run at the
earliest.
This message was generated automatically; if you believe that there is
a problem with it please contact the archive administrators by mailing
[email protected].
Debian distribution maintenance software
pp.
Thorsten Alteholz (the ftpmaster behind the curtain)
--- End Message ---