Emscripten: Remove obsolete `pthread_getattr_np` workaround in `ceval.c`
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 45/100
Direção de pesquisa
Read the workaround in Python/ceval.c and the Emscripten version in Platforms/emscripten/config.toml. Check how the current toolchain handles pthread_getattr_np() and run the relevant Emscripten tests for stack boundary detection and recursion protection. Done means the obsolete workaround is removed and both behaviors still work with the current toolchain.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Bug report
Description
The workaround in Python/ceval.c was introduced to address a broken pthread_getattr_np() implementation in Emscripten versions prior to 4.0.6 (GH-130396, #131088).
The existing comment explicitly describes it as temporary:
#if defined(__EMSCRIPTEN__)
// Temporary workaround to make `pthread_getattr_np` work on Emscripten.
// Emscripten 4.0.6 will contain a fix:
// https://github.com/emscripten-core/emscripten/pull/23887
However, the workaround is still enabled for all Emscripten versions because it only checks __EMSCRIPTEN__, regardless of the toolchain version.
The upstream fix was included in Emscripten 4.0.6, and CPython now uses Emscripten 6.0.13 (Platforms/emscripten/config.toml).
Therefore, this workaround appears to be obsolete and could potentially be removed, allowing CPython to use Emscripten's native pthread_getattr_np() implementation.
The removal should be verified against the current Emscripten toolchain to ensure that stack boundary detection and recursion protection continue to work correctly.
CPython versions tested on:
CPython main branch
Operating systems tested on:
Linux
Linked PRs
- gh-160874
- gh-160902
- Linguagem predominante
- Python
- Estrelas
- 77.8k
- Forks
- 37.7k
- Merge médio
- 17h 24min
- PRs com merge (30d)
- 716
Preparar o ambiente
Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de python/cpython
-
build OS-unsupported OS-windows type-bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 60/100
Mantenedores costumam responder em até 1 dia
-
What's New in 3.12 credits the unstable C API tier to PEP 697 instead of PEP 689Talvez já em andamento @TheLouisMahdi assumiu hoje. Abertadocs
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 82/100
python/cpython#161078 · 3 comentários ·
Mantenedores costumam responder em até 1 dia
-
OS-windows type-bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
Mantenedores costumam responder em até 1 dia
-
docs
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
python/cpython#161007 · 4 comentários ·
Mantenedores costumam responder em até 1 dia
-
Null dereferencing of a pointer in initconfig.cTalvez já em andamento @lazerg assumiu há 3 dias. Abertainterpreter-core topic-C-API type-bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
python/cpython#160962 · 4 comentários ·
Mantenedores costumam responder em até 1 dia
Todas as issues de python/cpython
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
earthtojake/text-to-cad#758 ·
Mantenedores costumam responder em até 1 dia
-
domain:upgrades enhancement needs-triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 66/100
gke-labs/kube-agents#4634 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
agardnerIT/opamp-server-py#116 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
enhancement good first issue
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
elviskahoro/sdk-python-attio#144 · 1 comentário ·
Mantenedores costumam responder em até 1 dia