Source: pytango Version: 10.0.2-3 Severity: serious Tags: forky sid User: [email protected] 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

