Emscripten: Remove obsolete `pthread_getattr_np` workaround in `ceval.c`
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 45/100
Rechercherichtung
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.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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
- Vorherrschende Sprache
- Python
- Sterne
- 77.8k
- Forks
- 37.7k
- Ø Merge
- 15 Std. 24 Min.
- Gemergte PRs (30 T.)
- 728
Entwicklungsumgebung
Startet den Dev-Container des Projekts im Browser, mit Ihrem eigenen GitHub-Konto.
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus python/cpython
-
What's New in 3.12 credits the unstable C API tier to PEP 697 instead of PEP 689Evtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offendocs
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 82/100
python/cpython#161078 · 3 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
OS-windows type-bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
Maintainer antworten meist innerhalb von 1 Tag
-
docs
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
python/cpython#161007 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Null dereferencing of a pointer in initconfig.cEvtl. vergeben @lazerg hat das vor 3 Tagen übernommen. Offeninterpreter-core topic-C-API type-bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
python/cpython#160962 · 4 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
tests topic-profiling type-bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
python/cpython#160881 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
Ähnliche Issues
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
aws/sagemaker-python-sdk#6554 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 78/100
huggingface/diffusers#15170 ·
Maintainer antworten meist innerhalb von 1 Tag
-
[BUG] LLM conflict check ignores MNEMOSYNE_LLM_MAX_TOKENS, so reasoning models return empty repliesOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
mnemosyne-oss/mnemosyne#1325 ·
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement meshtastic-2.8
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
pskillen/meshflow-api#459 ·