Bug#1125107: pytango: autopkgtest failure with Python 3.14

Graham Inggs ginggs at debian.org
Fri Jan 9 11:46:57 GMT 2026


Source: pytango
Version: 10.0.2-3
Severity: serious
Tags: forky sid
User: debian-python at lists.debian.org
Usertags: python3.14

Hi Maintainer

The autopkgtests of this package fail with Python 3.14 [1].  I've
copied what I hope is the relevant part of the log below.

Regards
Graham


[1] https://ci.debian.net/packages/p/pytango/testing/amd64/


201s ==================================== ERRORS
====================================
201s ____ ERROR at setup of
test_read_write_attribute_with_green_modes[Asyncio] _____
201s fixturedef = <FixtureDef argname='tango_test_with_green_modes'
scope='module' baseid='tests'>
201s request = <SubRequest 'tango_test_with_green_modes' for <Function
test_read_write_attribute_with_green_modes[Asyncio]>>
201s
201s     @pytest.hookimpl(wrapper=True)
201s     def pytest_fixture_setup(fixturedef: FixtureDef, request) ->
object | None:
201s         asyncio_mode = _get_asyncio_mode(request.config)
201s         if not _is_asyncio_fixture_function(fixturedef.func):
201s             if asyncio_mode == Mode.STRICT:
201s                 # Ignore async fixtures without explicit asyncio
mark in strict mode
201s                 # This applies to pytest_trio fixtures, for example
201s >               return (yield)
201s                         ^^^^^
201s
201s /usr/lib/python3/dist-packages/pytest_asyncio/plugin.py:728:
201s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _
201s tests/conftest.py:201: in tango_test_with_green_modes
201s     proxy = wait_for_proxy(host, proc, device, green_mode)
201s             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
201s tests/conftest.py:176: in wait_for_proxy
201s     proxy = get_proxy(host, port, device, green_mode)
201s             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
201s tests/conftest.py:167: in get_proxy
201s     return device_proxy_map[green_mode](access)
201s            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
201s /usr/lib/python3/dist-packages/tango/green.py:226: in greener
201s     return executor.run(fn, args, kwargs, wait=wait, timeout=timeout)
201s            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
201s /usr/lib/python3/dist-packages/tango/green.py:118: in run
201s     accessor = self.delegate(fn, *args, **kwargs)
201s                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
201s /usr/lib/python3/dist-packages/tango/asyncio_executor.py:187: in delegate
201s     coro = self.loop.run_in_executor(self.subexecutor, callback)
201s            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
201s /usr/lib/python3.14/asyncio/base_events.py:898: in run_in_executor
201s     executor.submit(func, *args), loop=self)
201s     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
201s /usr/lib/python3.14/concurrent/futures/thread.py:215: in submit
201s     self._adjust_thread_count()
201s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _
201s
201s self = <tango.utils.PyTangoThreadPoolExecutor object at 0x7f319f83f0e0>
201s
201s     def _adjust_thread_count(self):
201s         # if idle threads are available, don't spin new threads
201s         if self._idle_semaphore.acquire(timeout=0):
201s             return
201s
201s         # When the executor gets lost, the weakref callback will wake up
201s         # the worker threads.
201s         def weakref_cb(_, q=self._work_queue):
201s             q.put(None)
201s
201s         num_threads = len(self._threads)
201s         if num_threads < self._max_workers:
201s             thread_name = "%s_%d" % (self._thread_name_prefix or
self, num_threads)
201s             t = threading.Thread(
201s                 name=thread_name,
201s                 target=_thread_pool_executor_worker,
201s                 args=(
201s                     weakref.ref(self, weakref_cb),
201s                     self._work_queue,
201s >                   self._initializer,
201s                     ^^^^^^^^^^^^^^^^^
201s                     self._initargs,
201s                 ),
201s             )
201s E           AttributeError: 'PyTangoThreadPoolExecutor' object
has no attribute '_initializer'
201s
201s /usr/lib/python3/dist-packages/tango/utils.py:2711: AttributeError
201s ---------------------------- Captured stdout setup
-----------------------------
201s Ready to accept request



More information about the debian-science-maintainers mailing list