| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
PyType_Freeze() stopped the world under the type lock without pinning it, so the lock could be released while waiting for the pause. Pin it with type_lock_prevent_release() like the other type-lock callers of types_stop_world().
|
This fix in this PR is the same code change as suggested by @scasella, without the additional code comment. |
Sorry, something went wrong.
|
Is it possible to add a test that exposes the original issue being fixed? (I can see this might not be consistently reproducible though, not sure what the precedence is for that for) |
Sorry, something went wrong.
Yeah, that would be a good idea. I would guess it's possible. |
Sorry, something went wrong.
|
This probably needs a re-write, given GH-159972. |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Fix PyType_Freeze releasing the type lock while waiting for a stop-the-world pause in the free-threaded build. Another thread could modify the type before the frozen type's caches were invalidated, and the release could deadlock against a thread waiting for the pause with the type lock held.