3.15.0b2, openSUSE/Factory, i586: failing test: test_c_stack_unwind (specifically test_manual_unwind_finds_expected_frames)
まだ誰も着手していません。
- 主要言語
- Python
- スター
- 77.2k
- フォーク
- 35.9k
- PR マージ指標
- PR 指標を取得中
説明
Bug report
Bug description:
As a followup to https://github.com/python/cpython/issues/151040 I am creating this separate ticket for i586. The traceback is exactly the same:
[ 3208s] test_manual_unwind_finds_expected_frames (test.test_c_stack_unwind.ManualStackUnwindTests.test_manual_unwind_finds_expected_frames) (env={'PYTHON_JIT': '0'}) ... FAIL
[ 3208s]
[ 3208s] ======================================================================
[ 3208s] FAIL: test_manual_unwind_finds_expected_frames (test.test_c_stack_unwind.ManualStackUnwindTests.test_manual_unwind_finds_expected_frames) (env={'PYTHON_JIT': '0'})
[ 3208s] ----------------------------------------------------------------------
[ 3208s] Traceback (most recent call last):
[ 3208s] File "/home/abuild/rpmbuild/BUILD/python315-3.15.0_b2-build/Python-3.15.0b2/Lib/test/test_c_stack_unwind.py", line 285, in test_manual_unwind_finds_expected_frames
[ 3208s] self.assertGreaterEqual(
[ 3208s] ~~~~~~~~~~~~~~~~~~~~~~~^
[ 3208s] python_frames,
[ 3208s] ^^^^^^^^^^^^^^
[ 3208s] STACK_DEPTH,
[ 3208s] ^^^^^^^^^^^^
[ 3208s] f"expected to find Python frames on {self.machine} with env {env}",
[ 3208s] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[ 3208s] )
[ 3208s] ^
[ 3208s] AssertionError: 1 not greater than or equal to 10 : expected to find Python frames on i686 with env {'PYTHON_JIT': '0'}
[ 3208s]
[ 3208s] ----------------------------------------------------------------------
[ 3208s] Ran 1 test in 0.276s
[ 3208s]
[ 3208s] FAILED (failures=1)
Build log shows all used packages and steps required to be taken. The repository with the package source is https://src.opensuse.org/python-interpreters/python315
@vstinner on the other ticket commented:
That's a different architecture. If you care, you should open a separated issue for i586. You pass explicitly
-fomit-frame-pointerwhich goes against PEP 831 (approved in Python 3.15).
Yes, we have -fomit-frame-pointer specifically for i586 architecture.
CPython versions tested on:
3.15
Operating systems tested on:
Linux
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
Lib/test/test_c_stack_unwind.pyから始め、特に285行目付近のManualStackUnwindTests.test_manual_unwind_finds_expected_framesに注目し、openSUSE python315 package buildを使ってi586上で失敗を再現してください。PEP 831との関連で、ビルドログと明示的な-fomit-frame-pointer設定を調査してください。i586上で失敗しているテストが安定して成功するか、またはプラットフォームの制限が適切なテスト結果とともに文書化されれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- linux, python
- 領域
- operating-systems, testing-qa
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 静か
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 45/100