Bug 2365820
Summary: | mercurial fails to build with Python 3.14: AttributeError: partially initialized module 'threading' from '/usr/lib64/python3.14/threading.py' has no attribute 'RLock' (most likely due to a circular import) | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Karolina Surma <ksurma> |
Component: | mercurial | Assignee: | Mads Kiilerich <mads> |
Status: | POST --- | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | rawhide | CC: | fedoraproject.org, ksurma, mads, mhroncok, ndbecker2, opohorel, pstodulk |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | --- | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | Type: | Bug | |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 2322407 |
Description
Karolina Surma
2025-05-13 08:45:11 UTC
This very much reminds me of a problem that we saw earlier (bz2299346). Back then, it was fixed by a patch added in https://src.fedoraproject.org/rpms/mercurial/c/f1186a25db41b5bde9bdd37eb2fee05466bf1b0e?branch=389eb5b7d2e8459fe6f91a12fc133c310822f0f4 and later removed in https://src.fedoraproject.org/rpms/mercurial/c/9ee6346e8f42002676d4c943a0775ed4040189ff?branch=rawhide as upstreamed. Indeed, that patch was upstreamed, and the code after fedpkg prep is: IGNORES = { ... # threading is locally imported by importlib.util.LazyLoader.exec_module '_weakrefset', 'warnings', 'threading', 'collections.abc', } https://github.com/python/cpython/commit/d687900f98114bb5910daad9553ae381d7daf94b added a new import to threading, called _contextvars. Perhpas adding that one will fix this? This patch works: --- a/hgdemandimport/__init__.py +++ b/hgdemandimport/__init__.py @@ -60,6 +60,7 @@ IGNORES = { 'setuptools', '_distutils_hack.override', # threading is locally imported by importlib.util.LazyLoader.exec_module + '_contextvars', '_weakrefset', 'warnings', 'threading', I will try to figure out a way to send an upstream merge request. |