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 call
PyUnstable_Module_SetGIL()
during extension init to control the automatic legacy extension GIL re-enable. - 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.
Metadata
Metadata
Assignees
Labels
No labels