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