Package: src:python-autocommand Version: 2.2.2-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/202512/ 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-autocommand, so that this is still visible in the BTS web page for this package. Thanks. -------------------------------------------------------------------------------- [...] debian/rules clean dh clean --with python3 --buildsystem=pybuild --test-pytest dh_auto_clean -O--buildsystem=pybuild -O--test-pytest dh_autoreconf_clean -O--buildsystem=pybuild -O--test-pytest dh_clean -O--buildsystem=pybuild -O--test-pytest debian/rules binary dh binary --with python3 --buildsystem=pybuild --test-pytest dh_update_autotools_config -O--buildsystem=pybuild -O--test-pytest dh_autoreconf -O--buildsystem=pybuild -O--test-pytest dh_auto_configure -O--buildsystem=pybuild -O--test-pytest dh_auto_build -O--buildsystem=pybuild -O--test-pytest I: pybuild plugin_pyproject:131: Building wheel for python3.14 with "build" module I: pybuild base:317: python3.14 -m build --skip-dependency-check --no-isolation --wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_autocommand * Building wheel... /usr/lib/python3/dist-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated. [... snipped ...] afterwards. ''' # Can't reuse new_loop() because some tests require new_loop and # context_loop to be different with closing(asyncio.new_event_loop()) as new_loop: > with temporary_context_loop(new_loop): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test/test_autoasync.py:64: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/contextlib.py:141: in __enter__ return next(self.gen) ^^^^^^^^^^^^^^ test/test_autoasync.py:35: in temporary_context_loop old_loop = asyncio.get_event_loop() ^^^^^^^^^^^^^^^^^^^^^^^^ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <asyncio.unix_events._UnixDefaultEventLoopPolicy object at 0x7f83020f38c0> def get_event_loop(self): """Get the event loop for the current context. Returns an instance of EventLoop or raises an exception. """ if self._local._loop is None: > raise RuntimeError('There is no current event loop in thread %r.' % threading.current_thread().name) E RuntimeError: There is no current event loop in thread 'MainThread'. /usr/lib/python3.14/asyncio/events.py:715: RuntimeError _______________ ERROR at setup of test_pass_loop_prior_argument ________________ @pytest.fixture def context_loop(): ''' Create a new event loop and set it as the current context event loop. asyncio.get_event_loop() will return this loop within this fixture. Restore the original current event loop afterwards. The new loop is also closed afterwards. ''' # Can't reuse new_loop() because some tests require new_loop and # context_loop to be different with closing(asyncio.new_event_loop()) as new_loop: > with temporary_context_loop(new_loop): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test/test_autoasync.py:64: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/contextlib.py:141: in __enter__ return next(self.gen) ^^^^^^^^^^^^^^ test/test_autoasync.py:35: in temporary_context_loop old_loop = asyncio.get_event_loop() ^^^^^^^^^^^^^^^^^^^^^^^^ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <asyncio.unix_events._UnixDefaultEventLoopPolicy object at 0x7f83020f38c0> def get_event_loop(self): """Get the event loop for the current context. Returns an instance of EventLoop or raises an exception. """ if self._local._loop is None: > raise RuntimeError('There is no current event loop in thread %r.' % threading.current_thread().name) E RuntimeError: There is no current event loop in thread 'MainThread'. /usr/lib/python3.14/asyncio/events.py:715: RuntimeError _________________ ERROR at setup of test_pass_loop_kwarg_only __________________ @pytest.fixture def context_loop(): ''' Create a new event loop and set it as the current context event loop. asyncio.get_event_loop() will return this loop within this fixture. Restore the original current event loop afterwards. The new loop is also closed afterwards. ''' # Can't reuse new_loop() because some tests require new_loop and # context_loop to be different with closing(asyncio.new_event_loop()) as new_loop: > with temporary_context_loop(new_loop): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test/test_autoasync.py:64: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/contextlib.py:141: in __enter__ return next(self.gen) ^^^^^^^^^^^^^^ test/test_autoasync.py:35: in temporary_context_loop old_loop = asyncio.get_event_loop() ^^^^^^^^^^^^^^^^^^^^^^^^ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <asyncio.unix_events._UnixDefaultEventLoopPolicy object at 0x7f83020f38c0> def get_event_loop(self): """Get the event loop for the current context. Returns an instance of EventLoop or raises an exception. """ if self._local._loop is None: > raise RuntimeError('There is no current event loop in thread %r.' % threading.current_thread().name) E RuntimeError: There is no current event loop in thread 'MainThread'. /usr/lib/python3.14/asyncio/events.py:715: RuntimeError ______________________ ERROR at setup of test_run_forever ______________________ @pytest.fixture def context_loop(): ''' Create a new event loop and set it as the current context event loop. asyncio.get_event_loop() will return this loop within this fixture. Restore the original current event loop afterwards. The new loop is also closed afterwards. ''' # Can't reuse new_loop() because some tests require new_loop and # context_loop to be different with closing(asyncio.new_event_loop()) as new_loop: > with temporary_context_loop(new_loop): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test/test_autoasync.py:64: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/contextlib.py:141: in __enter__ return next(self.gen) ^^^^^^^^^^^^^^ test/test_autoasync.py:35: in temporary_context_loop old_loop = asyncio.get_event_loop() ^^^^^^^^^^^^^^^^^^^^^^^^ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <asyncio.unix_events._UnixDefaultEventLoopPolicy object at 0x7f83020f38c0> def get_event_loop(self): """Get the event loop for the current context. Returns an instance of EventLoop or raises an exception. """ if self._local._loop is None: > raise RuntimeError('There is no current event loop in thread %r.' % threading.current_thread().name) E RuntimeError: There is no current event loop in thread 'MainThread'. /usr/lib/python3.14/asyncio/events.py:715: RuntimeError ___________________ ERROR at setup of test_run_forever_func ____________________ @pytest.fixture def context_loop(): ''' Create a new event loop and set it as the current context event loop. asyncio.get_event_loop() will return this loop within this fixture. Restore the original current event loop afterwards. The new loop is also closed afterwards. ''' # Can't reuse new_loop() because some tests require new_loop and # context_loop to be different with closing(asyncio.new_event_loop()) as new_loop: > with temporary_context_loop(new_loop): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test/test_autoasync.py:64: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/contextlib.py:141: in __enter__ return next(self.gen) ^^^^^^^^^^^^^^ test/test_autoasync.py:35: in temporary_context_loop old_loop = asyncio.get_event_loop() ^^^^^^^^^^^^^^^^^^^^^^^^ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <asyncio.unix_events._UnixDefaultEventLoopPolicy object at 0x7f83020f38c0> def get_event_loop(self): """Get the event loop for the current context. Returns an instance of EventLoop or raises an exception. """ if self._local._loop is None: > raise RuntimeError('There is no current event loop in thread %r.' % threading.current_thread().name) E RuntimeError: There is no current event loop in thread 'MainThread'. /usr/lib/python3.14/asyncio/events.py:715: RuntimeError _____________________ ERROR at setup of test_defered_loop ______________________ @pytest.fixture def context_loop(): ''' Create a new event loop and set it as the current context event loop. asyncio.get_event_loop() will return this loop within this fixture. Restore the original current event loop afterwards. The new loop is also closed afterwards. ''' # Can't reuse new_loop() because some tests require new_loop and # context_loop to be different with closing(asyncio.new_event_loop()) as new_loop: > with temporary_context_loop(new_loop): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test/test_autoasync.py:64: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/contextlib.py:141: in __enter__ return next(self.gen) ^^^^^^^^^^^^^^ test/test_autoasync.py:35: in temporary_context_loop old_loop = asyncio.get_event_loop() ^^^^^^^^^^^^^^^^^^^^^^^^ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <asyncio.unix_events._UnixDefaultEventLoopPolicy object at 0x7f83020f38c0> def get_event_loop(self): """Get the event loop for the current context. Returns an instance of EventLoop or raises an exception. """ if self._local._loop is None: > raise RuntimeError('There is no current event loop in thread %r.' % threading.current_thread().name) E RuntimeError: There is no current event loop in thread 'MainThread'. /usr/lib/python3.14/asyncio/events.py:715: RuntimeError =========================== short test summary info ============================ ERROR test/test_autoasync.py::test_basic_autoasync - RuntimeError: There is n... ERROR test/test_autoasync.py::test_custom_loop - RuntimeError: There is no cu... ERROR test/test_autoasync.py::test_pass_loop - RuntimeError: There is no curr... ERROR test/test_autoasync.py::test_pass_loop_prior_argument - RuntimeError: T... ERROR test/test_autoasync.py::test_pass_loop_kwarg_only - RuntimeError: There... ERROR test/test_autoasync.py::test_run_forever - RuntimeError: There is no cu... ERROR test/test_autoasync.py::test_run_forever_func - RuntimeError: There is ... ERROR test/test_autoasync.py::test_defered_loop - RuntimeError: There is no c... ========================= 64 passed, 8 errors in 0.19s ========================= E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_autocommand/build; python3.14 -m pytest test I: pybuild base:317: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_autocommand/build; python3.13 -m pytest test ============================= test session starts ============================== platform linux -- Python 3.13.11, pytest-9.0.2, pluggy-1.6.0 rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_autocommand/build configfile: pyproject.toml plugins: typeguard-4.4.4 collected 72 items test/test_autoasync.py ........ [ 11%] test/test_autocommand.py .... [ 16%] test/test_automain.py ...... [ 25%] test/test_autoparse/test_annotations.py ........... [ 40%] test/test_autoparse/test_bad_signature.py .. [ 43%] test/test_autoparse/test_basic_autoparse.py .......... [ 56%] test/test_autoparse/test_invocation.py ....... [ 66%] test/test_autoparse/test_single_flags.py ......... [ 79%] test/test_autoparse/test_smart_open.py ..... [ 86%] test/test_autoparse/test_types.py .......... [100%] =============================== warnings summary =============================== test/test_autoasync.py::test_basic_autoasync /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_autocommand/build/test/test_autoasync.py:35: DeprecationWarning: There is no current event loop old_loop = asyncio.get_event_loop() test/test_autoasync.py::test_custom_loop /usr/lib/python3.13/asyncio/base_events.py:750: RuntimeWarning: coroutine 'test_custom_loop.<locals>.bad_coro' was never awaited self._ready.clear() Enable tracemalloc to get traceback where the object was allocated. See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html ======================== 72 passed, 2 warnings in 0.49s ======================== dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.14 3.13" returned exit code 13 make: *** [debian/rules:7: binary] Error 25 dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 --------------------------------------------------------------------------------

