Emscripten: Remove obsolete `pthread_getattr_np` workaround in `ceval.c`
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 45/100
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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
- Lenguaje dominante
- Python
- Estrellas
- 77.8k
- Forks
- 37.7k
- Merge medio
- 17 h 24 min
- PR fusionados (30 d)
- 716
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de python/cpython
-
build OS-unsupported OS-windows type-bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 60/100
Los mantenedores suelen responder en 1 día
-
What's New in 3.12 credits the unstable C API tier to PEP 697 instead of PEP 689Posiblemente ocupada @TheLouisMahdi la tomó hoy. Abiertodocs
Dificultad 1/5 Menos de una hora Aptitud para principiantes 82/100
python/cpython#161078 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
OS-windows type-bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
docs
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
python/cpython#161007 · 4 comentarios ·
Los mantenedores suelen responder en 1 día
-
Null dereferencing of a pointer in initconfig.cPosiblemente ocupada @lazerg la tomó hace 3 días. Abiertointerpreter-core topic-C-API type-bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
python/cpython#160962 · 4 comentarios ·
Los mantenedores suelen responder en 1 día
Todos los issues de python/cpython
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
enhancement good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
elviskahoro/sdk-python-attio#144 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 1 día
-
RenyiELBO raises TypeError when model has no sample sitesPosiblemente ocupada @alibb007 la tomó hoy. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
Los mantenedores suelen responder en 1 día
-
[Bug]: Four evaluation scripts unpack init_memmachine_params's five return values into three namesAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
MemMachine/MemMachine#1911 ·
Los mantenedores suelen responder en 3 días