Bug 2328012 - python-zict fails to build with Python 3.14: test_stress_different_keys_threadsafe Timeout
Summary: python-zict fails to build with Python 3.14: test_stress_different_keys_threa...
Keywords:
Status: NEW
Alias: None
Product: Fedora
Classification: Fedora
Component: python-zict
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Elliott Sales de Andrade
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: PYTHON3.14
TreeView+ depends on / blocked
 
Reported: 2024-11-22 11:11 UTC by Karolina Surma
Modified: 2025-03-31 10:45 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Karolina Surma 2024-11-22 11:11:39 UTC
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.

Comment 1 Aoife Moloney 2025-02-26 13:17:51 UTC
This bug appears to have been reported against 'rawhide' during the Fedora Linux 42 development cycle.
Changing version to 42.


Note You need to log in before you can comment on or make changes to this bug.