python / python/cpython

3.15.0b2, openSUSE/Factory, i586: failing test: test_c_stack_unwind (specifically test_manual_unwind_finds_expected_frames)

Aberta
#151,602 4 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

tests type-bug
Linguagem predominante
Python
Estrelas
77.2k
Forks
36k
Métricas de merge de PRs
Métricas de PR pendentes

Descrição

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-pointer which 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

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Direção de pesquisa

Comece por Lib/test/test_c_stack_unwind.py, especialmente ManualStackUnwindTests.test_manual_unwind_finds_expected_frames por volta da linha 285, e reproduza a falha em i586 usando o openSUSE python315 package build. Inspecione o log de build e a configuração explícita -fomit-frame-pointer em relação à PEP 831. Considera-se concluído quando o teste que falha passar de forma confiável em i586 ou quando a limitação da plataforma estiver documentada com um resultado de teste apropriado.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
linux, python
Domínio
operating-systems, testing-qa
Tipo de issue
Bug
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Pouca atividade
Clareza
Precisa de esclarecimento
Facilidade para iniciantes
45/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.