[3.12 Regression] backport of gh-120233 to 3.12 (gh-121350) breaks mercurial, working with 3.12.4
还没有人认领这个 Issue。
- 主要语言
- Python
- 星标
- 77.2k
- 派生
- 35.9k
- PR 合并指标
- PR 指标待抓取
描述
Bug report
Bug description:
mercurial 6.8 fails to start with the 3.12 branch 2024-07-15, but works with 3.12.4:
~$ hg
Traceback (most recent call last):
File "/usr/bin/hg", line 57, in
from mercurial import dispatch
File "", line 1360, in _find_and_load
File "", line 1331, in _find_and_load_unlocked
File "", line 935, in _load_unlocked
File "/usr/lib/python3/dist-packages/hgdemandimport/demandimportpy3.py", line 52, in exec_module
super().exec_module(module)
File "", line 257, in exec_module
File "", line 1360, in _find_and_load
File "", line 1331, in _find_and_load_unlocked
File "", line 935, in _load_unlocked
File "/usr/lib/python3/dist-packages/hgdemandimport/demandimportpy3.py", line 52, in exec_module
super().exec_module(module)
File "", line 267, in exec_module
AttributeError: partially initialized module 'threading' has no attribute 'RLock' (most likely due to a circular import)
Commenting out the hgdemandimport.enable() at line 55 of /usr/bin/hg, it works:
Complete bug report at https://bugs.debian.org/1076449
CPython versions tested on:
3.12
Operating systems tested on:
Linux
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
报告指出了第 55 行的 /usr/bin/hg 和 hgdemandimport.enable(),并以 Debian 错误报告作为补充背景。首先在 3.12 分支上相对于 3.12.4 重现 mercurial 6.8 的启动失败,并检查 gh-120233/gh-121350 回归;当 hg 能够在没有 threading 循环导入错误的情况下启动时,即视为完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- python
- 领域
- operating-systems, tooling
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 25/100