Your message dated Fri, 08 May 2026 11:04:48 +0000
with message-id <[email protected]>
and subject line Bug#1134273: fixed in asgi-lifespan 2.1.0-4
has caused the Debian Bug report #1134273,
regarding asgi-lifespan: FTBFS: E TypeError: Router.__init__() got an
unexpected keyword argument 'on_startup'
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.)
--
1134273: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1134273
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: src:asgi-lifespan
Version: 2.1.0-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/202604/
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:asgi-lifespan, so that this is still
visible in the BTS web page for this package.
Thanks.
--------------------------------------------------------------------------------
[...]
debian/rules clean
dh clean --buildsystem=pybuild
debian/rules override_dh_auto_clean
make[1]: Entering directory '/<<PKGBUILDDIR>>'
dh_auto_clean
rm -rf src/asgi_lifespan.egg-info/
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_autoreconf_clean -O--buildsystem=pybuild
dh_clean -O--buildsystem=pybuild
debian/rules binary
dh binary --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
[... snipped ...]
assert shutdown_exception is not None # Please mypy.
raise shutdown_exception()
on_shutdown.append(shutdown)
> router = Router(on_startup=on_startup, on_shutdown=on_shutdown)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E TypeError: Router.__init__() got an unexpected keyword argument
'on_startup'
tests/test_manager.py:62: TypeError
_____________ test_lifespan_manager[asyncio-None-BodyFailed-None] ______________
concurrency = 'asyncio', startup_exception = None
body_exception = <class 'tests.test_manager.BodyFailed'>
shutdown_exception = None
@pytest.mark.usefixtures("concurrency")
@pytest.mark.parametrize("startup_exception", (None, StartupFailed))
@pytest.mark.parametrize("body_exception", (None, BodyFailed))
@pytest.mark.parametrize("shutdown_exception", (None, ShutdownFailed))
async def test_lifespan_manager(
concurrency: str,
startup_exception: typing.Optional[typing.Type[BaseException]],
body_exception: typing.Optional[typing.Type[BaseException]],
shutdown_exception: typing.Optional[typing.Type[BaseException]],
) -> None:
# Setup failing event handlers.
on_startup: list = []
on_shutdown: list = []
if startup_exception is not None:
async def startup() -> None:
assert startup_exception is not None # Please mypy.
raise startup_exception()
on_startup.append(startup)
if shutdown_exception is not None:
async def shutdown() -> None:
assert shutdown_exception is not None # Please mypy.
raise shutdown_exception()
on_shutdown.append(shutdown)
> router = Router(on_startup=on_startup, on_shutdown=on_shutdown)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E TypeError: Router.__init__() got an unexpected keyword argument
'on_startup'
tests/test_manager.py:62: TypeError
_________ test_lifespan_manager[asyncio-None-BodyFailed-StartupFailed] _________
concurrency = 'asyncio'
startup_exception = <class 'tests.test_manager.StartupFailed'>
body_exception = <class 'tests.test_manager.BodyFailed'>
shutdown_exception = None
@pytest.mark.usefixtures("concurrency")
@pytest.mark.parametrize("startup_exception", (None, StartupFailed))
@pytest.mark.parametrize("body_exception", (None, BodyFailed))
@pytest.mark.parametrize("shutdown_exception", (None, ShutdownFailed))
async def test_lifespan_manager(
concurrency: str,
startup_exception: typing.Optional[typing.Type[BaseException]],
body_exception: typing.Optional[typing.Type[BaseException]],
shutdown_exception: typing.Optional[typing.Type[BaseException]],
) -> None:
# Setup failing event handlers.
on_startup: list = []
on_shutdown: list = []
if startup_exception is not None:
async def startup() -> None:
assert startup_exception is not None # Please mypy.
raise startup_exception()
on_startup.append(startup)
if shutdown_exception is not None:
async def shutdown() -> None:
assert shutdown_exception is not None # Please mypy.
raise shutdown_exception()
on_shutdown.append(shutdown)
> router = Router(on_startup=on_startup, on_shutdown=on_shutdown)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E TypeError: Router.__init__() got an unexpected keyword argument
'on_startup'
tests/test_manager.py:62: TypeError
___________ test_lifespan_manager[asyncio-ShutdownFailed-None-None] ____________
concurrency = 'asyncio', startup_exception = None, body_exception = None
shutdown_exception = <class 'tests.test_manager.ShutdownFailed'>
@pytest.mark.usefixtures("concurrency")
@pytest.mark.parametrize("startup_exception", (None, StartupFailed))
@pytest.mark.parametrize("body_exception", (None, BodyFailed))
@pytest.mark.parametrize("shutdown_exception", (None, ShutdownFailed))
async def test_lifespan_manager(
concurrency: str,
startup_exception: typing.Optional[typing.Type[BaseException]],
body_exception: typing.Optional[typing.Type[BaseException]],
shutdown_exception: typing.Optional[typing.Type[BaseException]],
) -> None:
# Setup failing event handlers.
on_startup: list = []
on_shutdown: list = []
if startup_exception is not None:
async def startup() -> None:
assert startup_exception is not None # Please mypy.
raise startup_exception()
on_startup.append(startup)
if shutdown_exception is not None:
async def shutdown() -> None:
assert shutdown_exception is not None # Please mypy.
raise shutdown_exception()
on_shutdown.append(shutdown)
> router = Router(on_startup=on_startup, on_shutdown=on_shutdown)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E TypeError: Router.__init__() got an unexpected keyword argument
'on_startup'
tests/test_manager.py:62: TypeError
_______ test_lifespan_manager[asyncio-ShutdownFailed-None-StartupFailed] _______
concurrency = 'asyncio'
startup_exception = <class 'tests.test_manager.StartupFailed'>
body_exception = None
shutdown_exception = <class 'tests.test_manager.ShutdownFailed'>
@pytest.mark.usefixtures("concurrency")
@pytest.mark.parametrize("startup_exception", (None, StartupFailed))
@pytest.mark.parametrize("body_exception", (None, BodyFailed))
@pytest.mark.parametrize("shutdown_exception", (None, ShutdownFailed))
async def test_lifespan_manager(
concurrency: str,
startup_exception: typing.Optional[typing.Type[BaseException]],
body_exception: typing.Optional[typing.Type[BaseException]],
shutdown_exception: typing.Optional[typing.Type[BaseException]],
) -> None:
# Setup failing event handlers.
on_startup: list = []
on_shutdown: list = []
if startup_exception is not None:
async def startup() -> None:
assert startup_exception is not None # Please mypy.
raise startup_exception()
on_startup.append(startup)
if shutdown_exception is not None:
async def shutdown() -> None:
assert shutdown_exception is not None # Please mypy.
raise shutdown_exception()
on_shutdown.append(shutdown)
> router = Router(on_startup=on_startup, on_shutdown=on_shutdown)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E TypeError: Router.__init__() got an unexpected keyword argument
'on_startup'
tests/test_manager.py:62: TypeError
________ test_lifespan_manager[asyncio-ShutdownFailed-BodyFailed-None] _________
concurrency = 'asyncio', startup_exception = None
body_exception = <class 'tests.test_manager.BodyFailed'>
shutdown_exception = <class 'tests.test_manager.ShutdownFailed'>
@pytest.mark.usefixtures("concurrency")
@pytest.mark.parametrize("startup_exception", (None, StartupFailed))
@pytest.mark.parametrize("body_exception", (None, BodyFailed))
@pytest.mark.parametrize("shutdown_exception", (None, ShutdownFailed))
async def test_lifespan_manager(
concurrency: str,
startup_exception: typing.Optional[typing.Type[BaseException]],
body_exception: typing.Optional[typing.Type[BaseException]],
shutdown_exception: typing.Optional[typing.Type[BaseException]],
) -> None:
# Setup failing event handlers.
on_startup: list = []
on_shutdown: list = []
if startup_exception is not None:
async def startup() -> None:
assert startup_exception is not None # Please mypy.
raise startup_exception()
on_startup.append(startup)
if shutdown_exception is not None:
async def shutdown() -> None:
assert shutdown_exception is not None # Please mypy.
raise shutdown_exception()
on_shutdown.append(shutdown)
> router = Router(on_startup=on_startup, on_shutdown=on_shutdown)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E TypeError: Router.__init__() got an unexpected keyword argument
'on_startup'
tests/test_manager.py:62: TypeError
____ test_lifespan_manager[asyncio-ShutdownFailed-BodyFailed-StartupFailed] ____
concurrency = 'asyncio'
startup_exception = <class 'tests.test_manager.StartupFailed'>
body_exception = <class 'tests.test_manager.BodyFailed'>
shutdown_exception = <class 'tests.test_manager.ShutdownFailed'>
@pytest.mark.usefixtures("concurrency")
@pytest.mark.parametrize("startup_exception", (None, StartupFailed))
@pytest.mark.parametrize("body_exception", (None, BodyFailed))
@pytest.mark.parametrize("shutdown_exception", (None, ShutdownFailed))
async def test_lifespan_manager(
concurrency: str,
startup_exception: typing.Optional[typing.Type[BaseException]],
body_exception: typing.Optional[typing.Type[BaseException]],
shutdown_exception: typing.Optional[typing.Type[BaseException]],
) -> None:
# Setup failing event handlers.
on_startup: list = []
on_shutdown: list = []
if startup_exception is not None:
async def startup() -> None:
assert startup_exception is not None # Please mypy.
raise startup_exception()
on_startup.append(startup)
if shutdown_exception is not None:
async def shutdown() -> None:
assert shutdown_exception is not None # Please mypy.
raise shutdown_exception()
on_shutdown.append(shutdown)
> router = Router(on_startup=on_startup, on_shutdown=on_shutdown)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E TypeError: Router.__init__() got an unexpected keyword argument
'on_startup'
tests/test_manager.py:62: TypeError
=========================== short test summary info ============================
FAILED
../../../../../../dev/tests/test_manager.py::test_lifespan_manager[asyncio-None-None-None]
FAILED
../../../../../../dev/tests/test_manager.py::test_lifespan_manager[asyncio-None-None-StartupFailed]
FAILED
../../../../../../dev/tests/test_manager.py::test_lifespan_manager[asyncio-None-BodyFailed-None]
FAILED
../../../../../../dev/tests/test_manager.py::test_lifespan_manager[asyncio-None-BodyFailed-StartupFailed]
FAILED
../../../../../../dev/tests/test_manager.py::test_lifespan_manager[asyncio-ShutdownFailed-None-None]
FAILED
../../../../../../dev/tests/test_manager.py::test_lifespan_manager[asyncio-ShutdownFailed-None-StartupFailed]
FAILED
../../../../../../dev/tests/test_manager.py::test_lifespan_manager[asyncio-ShutdownFailed-BodyFailed-None]
FAILED
../../../../../../dev/tests/test_manager.py::test_lifespan_manager[asyncio-ShutdownFailed-BodyFailed-StartupFailed]
============ 8 failed, 6 passed, 17 deselected, 1 xfailed in 0.20s =============
E: pybuild pybuild:485: test: plugin pyproject failed with: exit code=1: cd
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_asgi-lifespan/build; python3.13 -m
pytest -c /dev/null --asyncio-mode=strict -p no:cacheprovider -m "not trio" -k
"not test_lifespan_state_async_cm"
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.14
3.13" --parallel=2 returned exit code 13
make: *** [debian/rules:7: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit
status 2
--------------------------------------------------------------------------------
--- End Message ---
--- Begin Message ---
Source: asgi-lifespan
Source-Version: 2.1.0-4
Done: Bastian Germann <[email protected]>
We believe that the bug you reported is fixed in the latest version of
asgi-lifespan, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Bastian Germann <[email protected]> (supplier of updated asgi-lifespan package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Format: 1.8
Date: Fri, 08 May 2026 12:48:30 +0200
Source: asgi-lifespan
Architecture: source
Version: 2.1.0-4
Distribution: unstable
Urgency: medium
Maintainer: Debian Python Team <[email protected]>
Changed-By: Bastian Germann <[email protected]>
Closes: 1134273
Changes:
asgi-lifespan (2.1.0-4) unstable; urgency=medium
.
* Team upload.
* Fix unit tests with current dependencies. (Closes: #1134273)
Checksums-Sha1:
e55d25493b2b39e05dfbb99594e8c183121ab61e 2475 asgi-lifespan_2.1.0-4.dsc
05065cdc9f53d60476bf9b63ffa70493aeba4c44 4220
asgi-lifespan_2.1.0-4.debian.tar.xz
513653b3e67de0460fb8b8281c1a92fa42125f74 8229
asgi-lifespan_2.1.0-4_source.buildinfo
Checksums-Sha256:
3ff5d7ef800d1bf062808a1e4b23d92a318676cec1831a6574aba6725ffe8182 2475
asgi-lifespan_2.1.0-4.dsc
7a9cd323f3981af0174589a51246ad70b0b0d67f73c4c4d08da267bdac9b6b10 4220
asgi-lifespan_2.1.0-4.debian.tar.xz
38f259b88ea347839b7a4ac482a18980288e8c428c3990dcf6b78b41db7c722e 8229
asgi-lifespan_2.1.0-4_source.buildinfo
Files:
d9fb83113a5690bee0d430330d7cde30 2475 python optional asgi-lifespan_2.1.0-4.dsc
fd8b057ea1ffd1b2b67d2c01569bf6d3 4220 python optional
asgi-lifespan_2.1.0-4.debian.tar.xz
a6e33c28d9ed037448db4160a96ab9f8 8229 python optional
asgi-lifespan_2.1.0-4_source.buildinfo
-----BEGIN PGP SIGNATURE-----
iQHEBAEBCgAuFiEEQGIgyLhVKAI3jM5BH1x6i0VWQxQFAmn9v60QHGJhZ2VAZGVi
aWFuLm9yZwAKCRAfXHqLRVZDFJqmC/912Yl4/W6AJLlYZYG0aAl1Owjf0lj7JPtC
SBZAa0rETS/VStRJnd6HJsH5nUPu4Y/7pE94hrrLlLkVN8UFPuwCMYAINFgqzRnW
G5CmYspOZzWVyt9dikN8I8hTzQSwoCHovPF6zhC9Kk7CRFtc+2HUsDwqIYeH3rK/
jehV+7SANLugjrw3SLUNqCvZ+F2SLGdRZluUbSDK4IMfZBh4d6obCBTse8nomGTY
cNdoN2AOpOrOUy3t8RzArtomEBUmSmVDPDQLR0nSI0JIucYTNmd8xWQ0RpP6jy+5
H+ukbtXnEP2S2rq3Hd0ECD6j58QsnCSt2W+Q7NK/cqabf7uhnRSVNcLJOk9AzRVk
RYmlcPOI7Qbby/SEaOwJ1qPLjTYgWbi6gDFjCrM3T76MMKCU9b2sYh+Jh8qCEB+b
7hbfXCOcH3NAvz4f+dbFif6igg/0Pr8U+zz42leWCQNQ73WvvDwp+gi4eXxQRqxj
FW4DDLbad2NdxujFLjIdAyJa8nL1Lz0=
=qjdr
-----END PGP SIGNATURE-----
pgpy4ur1phUak.pgp
Description: PGP signature
--- End Message ---