3.15.0b2, openSUSE/Factory, i586: failing test: test_c_stack_unwind (specifically test_manual_unwind_finds_expected_frames)
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 77.2k
- Forks
- 35.9k
- PR merge metrics
- PR metrics pending
Description
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
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with Lib/test/test_c_stack_unwind.py, especially ManualStackUnwindTests.test_manual_unwind_finds_expected_frames around line 285, and reproduce the failure on i586 using the openSUSE python315 package build. Inspect the build log and the explicit -fomit-frame-pointer setting in relation to PEP 831. Done means the failing test reliably passes on i586 or the platform limitation is documented with an appropriate test outcome.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- linux, python
- Domain
- operating-systems, testing-qa
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 45/100