python / python/cpython

[3.12 Regression] backport of gh-120233 to 3.12 (gh-121350) breaks mercurial, working with 3.12.4

Aberta
#122,438 8 comentários 1 reação 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

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:

mercurial 6.8 fails to start with the 3.12 branch 2024-07-15, but works with 3.12.4:

~$ hg
Traceback (most recent call last):
File "/usr/bin/hg", line 57, in
from mercurial import dispatch
File "", line 1360, in _find_and_load
File "", line 1331, in _find_and_load_unlocked
File "", line 935, in _load_unlocked
File "/usr/lib/python3/dist-packages/hgdemandimport/demandimportpy3.py", line 52, in exec_module
super().exec_module(module)
File "", line 257, in exec_module
File "", line 1360, in _find_and_load
File "", line 1331, in _find_and_load_unlocked
File "", line 935, in _load_unlocked
File "/usr/lib/python3/dist-packages/hgdemandimport/demandimportpy3.py", line 52, in exec_module
super().exec_module(module)
File "", line 267, in exec_module
AttributeError: partially initialized module 'threading' has no attribute 'RLock' (most likely due to a circular import)

Commenting out the hgdemandimport.enable() at line 55 of /usr/bin/hg, it works:

Complete bug report at https://bugs.debian.org/1076449

CPython versions tested on:

3.12

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

O relatório identifica /usr/bin/hg e hgdemandimport.enable() na linha 55, com um relatório de bug do Debian como contexto adicional. Primeiro, reproduza a falha de inicialização do mercurial 6.8 na branch 3.12 em comparação com a 3.12.4 e investigue a regressão gh-120233/gh-121350; considera-se concluído quando hg iniciar sem o erro de importação circular de threading.

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

Avaliação

Stack de tecnologia
python
Domínio
operating-systems, tooling
Tipo de issue
Bug
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
25/100

Receba novas issues na sua caixa de entrada

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