3.15.0b2, openSUSE/Factory, i586: failing test: test_c_stack_unwind (specifically test_manual_unwind_finds_expected_frames)
還沒有人認領這個 Issue。
- 主要語言
- Python
- 星號
- 77.2k
- 分支
- 36k
- 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 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
研究方向
從 Lib/test/test_c_stack_unwind.py 開始,特別關注第 285 行附近的 ManualStackUnwindTests.test_manual_unwind_finds_expected_frames,並使用 openSUSE python315 package build 在 i586 上重現該失敗。檢查 build log,以及與 PEP 831 相關的明確 -fomit-frame-pointer 設定。當失敗的測試在 i586 上能夠穩定通過,或平台限制已透過適當的測試結果記錄下來時,即視為完成。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- linux, python
- 領域
- operating-systems, testing-qa
- Issue 類型
- 缺陷
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 活躍度
- 冷清
- 描述清晰度
- 需要釐清
- 新手友好度
- 45/100