python / python/cpython

test_track_literals depends on a garbage collection

Aberta
#155,728 7 comentários 0 reações 1 responsável Ver no GitHub

@sergey-miryanov já está trabalhando nisso.

Desde 13/8/2026.

3.14 3.15 3.16 interpreter-core 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

_not_tracked_instantly() requires the tuple to be untracked without a collection. This holds for tuples created at run time, but tuple constants are created tracked and are only untracked by _PyTuple_MaybeUntrack(), which is called only from the collector.

$ ./python -c "import gc; print(gc.is_tracked((1,)))"
True

So test_track_literals passes only if a collection happens between importing the module and running the test. Under regrtest it does not:

$ ./python -m test test_tuple -m test_track_literals
AssertionError: True is not false : (1,)

while ./python -m unittest test.test_tuple.TupleTest.test_track_literals passes.

Untracking tuple constants when the code object is created would let the test keep the stronger check.

Linked PRs
  • gh-156419
  • gh-156423

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.

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

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