python-zict fails to build with Python 3.14.0a2. zict/tests/test_lru.py::test_stress_different_keys_threadsafe +++++++++++++++++++++++++++++++++++ Timeout ++++++++++++++++++++++++++++++++++++ ~~~~~~~~~~~~~ Stack of ThreadPoolExecutor-174_1 (140449005754048) ~~~~~~~~~~~~~~ File "/usr/lib64/python3.14/threading.py", line 1012, in _bootstrap self._bootstrap_inner() File "/usr/lib64/python3.14/threading.py", line 1041, in _bootstrap_inner self.run() File "/usr/lib64/python3.14/threading.py", line 992, in run self._target(*self._args, **self._kwargs) File "/usr/lib64/python3.14/concurrent/futures/thread.py", line 118, in _worker work_item.run(ctx) File "/usr/lib64/python3.14/concurrent/futures/thread.py", line 85, in run result = ctx.run(self.task) File "/usr/lib64/python3.14/concurrent/futures/thread.py", line 72, in run return fn(*args, **kwargs) File "/builddir/build/BUILD/python-zict-3.0.0-build/zict-3.0.0/zict/tests/utils_test.py", line 173, in worker z[key] = value File "/builddir/build/BUILD/python-zict-3.0.0-build/zict-3.0.0/zict/lru.py", line 138, in __setitem__ self.evict_until_below_target() File "/builddir/build/BUILD/python-zict-3.0.0-build/zict-3.0.0/zict/lru.py", line 180, in evict_until_below_target self.evict() File "/builddir/build/BUILD/python-zict-3.0.0-build/zict-3.0.0/zict/common.py", line 127, in wrapper return func(*args, **kwargs) File "/builddir/build/BUILD/python-zict-3.0.0-build/zict-3.0.0/zict/lru.py", line 227, in evict cb(key, value) File "/builddir/build/BUILD/python-zict-3.0.0-build/zict-3.0.0/zict/tests/test_lru.py", line 424, in slow_cb time.sleep(0.01) ~~~~~~~~~~~~~ Stack of ThreadPoolExecutor-174_0 (140449014146752) ~~~~~~~~~~~~~~ File "/usr/lib64/python3.14/threading.py", line 1012, in _bootstrap self._bootstrap_inner() File "/usr/lib64/python3.14/threading.py", line 1041, in _bootstrap_inner self.run() File "/usr/lib64/python3.14/threading.py", line 992, in run self._target(*self._args, **self._kwargs) File "/usr/lib64/python3.14/concurrent/futures/thread.py", line 118, in _worker work_item.run(ctx) File "/usr/lib64/python3.14/concurrent/futures/thread.py", line 85, in run result = ctx.run(self.task) File "/usr/lib64/python3.14/concurrent/futures/thread.py", line 72, in run return fn(*args, **kwargs) File "/builddir/build/BUILD/python-zict-3.0.0-build/zict-3.0.0/zict/tests/utils_test.py", line 173, in worker z[key] = value File "/builddir/build/BUILD/python-zict-3.0.0-build/zict-3.0.0/zict/lru.py", line 138, in __setitem__ self.evict_until_below_target() File "/builddir/build/BUILD/python-zict-3.0.0-build/zict-3.0.0/zict/lru.py", line 180, in evict_until_below_target self.evict() File "/builddir/build/BUILD/python-zict-3.0.0-build/zict-3.0.0/zict/common.py", line 126, in wrapper with self.lock: ~~~~~~~~~~~~~~~~~~~~ Stack of MainThread (140449073068928) ~~~~~~~~~~~~~~~~~~~~~ File "/usr/bin/pytest", line 8, in <module> sys.exit(console_main()) File "/usr/lib/python3.14/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.14/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.14/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.14/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.14/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.14/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.14/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.14/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.14/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.14/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.14/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.14/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.14/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.14/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.14/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.14/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.14/site-packages/_pytest/runner.py", line 242, in <lambda> lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.14/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.14/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.14/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.14/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.14/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.14/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.14/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/builddir/build/BUILD/python-zict-3.0.0-build/zict-3.0.0/zict/tests/test_lru.py", line 440, in test_stress_different_keys_threadsafe utils_test.check_different_keys_threadsafe(lru, allow_keyerror=True) File "/builddir/build/BUILD/python-zict-3.0.0-build/zict-3.0.0/zict/tests/utils_test.py", line 193, in check_different_keys_threadsafe f1.result() File "/usr/lib64/python3.14/concurrent/futures/_base.py", line 443, in result self._condition.wait(timeout) File "/usr/lib64/python3.14/threading.py", line 359, in wait waiter.acquire() +++++++++++++++++++++++++++++++++++ Timeout ++++++++++++++++++++++++++++++++++++ https://docs.python.org/3.14/whatsnew/3.14.html For the build logs, see: https://copr-be.cloud.fedoraproject.org/results/@python/python3.14/fedora-rawhide-x86_64/08300796-python-zict/ For all our attempts to build python-zict with Python 3.14, see: https://copr.fedorainfracloud.org/coprs/g/python/python3.14/package/python-zict/ Testing and mass rebuild of packages is happening in copr. You can follow these instructions to test locally in mock if your package builds with Python 3.14: https://copr.fedorainfracloud.org/coprs/g/python/python3.14/ Let us know here if you have any questions. Python 3.14 is planned to be included in Fedora 43. To make that update smoother, we're building Fedora packages with all pre-releases of Python 3.14. A build failure prevents us from testing all dependent packages (transitive [Build]Requires), so if this package is required a lot, it's important for us to get it fixed soon. We'd appreciate help from the people who know this package best, but if you don't want to work on this now, let us know so we can try to work around it on our side.
This bug appears to have been reported against 'rawhide' during the Fedora Linux 42 development cycle. Changing version to 42.