-
Notifications
You must be signed in to change notification settings - Fork 60
Open
Description
Tracking known blockers to actual support of Python's new t
free-threaded ABI - add new ones as we discover them.
- Extensions built with
Py_LIMITED_API
(default) undert
ABI will always segfault. (fixed by Hard disable Py_LIMITED_API under free-threaded build #125) - Threaded embedding tests fail under free-threaded build. ([Python bug]
(Crash inPy_Initialize
in non-main thread in free-threading build python/cpython#123022), fixed in 3.13.0rc2) - Add non-artifact CI job for 3.13t.
- Evaluate all type creation/caching code for obvious GIL-incidental locking or deadlock issues sans GIL.
- Evaluate all manual refcounting, buffer manipulations, marshaling code, etc for obvious concurrency issues.
- Build a lot more threaded stress tests for the above, measure coverage.
- Update documentation to describe current state, concerns around GIL-free operation modes.
-
Once we have some confidence in true GIL-free operations, provide a high-level opt-in/out for CFFI-backed extensions to callPyUnstable_Module_SetGIL()
during extension init to control the automatic legacy extension GIL re-enable. - Clean up and enable at least optional runs of the full test suite under Windows (skipped in CI for time, currently numerous broken tests and at least one item deadlocks under the parallel runner).
- Remove known dead code from active development branches (ala Remove pre-Python 3.8 C code #124).
- Work with high-profile CFFI-consuming projects (e.g. cryptography, pynacl, pygame, ?) to ensure any future threaded stress tests are not broken by CFFI issues.
ankush, electroglyph, Bendartrussell, sle78, justinchuby and 9 more
Metadata
Metadata
Assignees
Labels
No labels