`test_compileall` failed in 2038 on 3.12 and 3.13
オープン
まだ誰も着手していません。
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
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
Lib/test/test_compileall.py の 1114 行目付近にある 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