python / python/cpython

`test_compileall` failed in 2038 on 3.12 and 3.13

未关闭
#124,851 3 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

3.12 3.13 tests triaged type-bug
主要语言
Python
星标
77.2k
派生
35.9k
PR 合并指标
PR 指标待抓取

描述

Bug report

Bug description:

While working on reproducible builds for openSUSE (sponsored by the NLnet NGI0 fund), I found that
our python312 package fails to build when the build runs in a VM with
qemu-kvm -rtc base=2038-01-20T00:00:00

# Add a code block here, if required
 ======================================================================
 FAIL: test_import (test.test_compileall.HardlinkDedupTestsNoSourceEpoch.test_import)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
   File "/home/abuild/rpmbuild/BUILD/Python-3.12.6/Lib/test/test_py_compile.py", line 22, in wrapper 
     return fxn(*args, **kwargs)
            ^^^^^^^^^^^^^^^^^^^^
   File "/home/abuild/rpmbuild/BUILD/Python-3.12.6/Lib/test/test_compileall.py", line 1114, in test_import
     self.assertFalse(is_hardlink(pycs[1], pycs[2]))
 AssertionError: True is not false

3.13 seems to not be affected by the issue in test_compileall.

The full log is at https://rb.zq1.de/other/python312-ftbfs2038.log.txt
(there are also some expiring SSL certs)

CPython versions tested on:

3.12

Operating systems tested on:

Linux

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

从第 1114 行附近的 Lib/test/test_compileall.py 中的 test_import 开始,使用报告中描述的 2038 VM 时钟重现该失败。比较 3.12 和 3.13 的行为,并检查链接的 build log 以确认 hardlink 结果。在报告的环境下受影响的 compileall 测试通过即表示完成。

由索引模型根据 Issue 内容生成。

评估

技术栈
python
领域
build-system, testing-qa
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
需要澄清
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。