Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More gil-disabled type thread safety #114214

Open
Tracked by #108219
DinoV opened this issue Jan 17, 2024 · 0 comments
Open
Tracked by #108219

More gil-disabled type thread safety #114214

DinoV opened this issue Jan 17, 2024 · 0 comments
Labels
topic-free-threading type-bug An unexpected behavior, bug, or error

Comments

@DinoV
Copy link
Contributor

DinoV commented Jan 17, 2024

Bug report

Bug description:

Some areas of typeobject are still not thread safe after fixing mro. Those at least include:

  • tp_flags - most of these that change at runtime are probably protected by locks after MRO (e.g. Py_TPFLAGS_VALID_VERSION_TAG and various flags set while readying). But at least some get modified outside of the lock still (e.g. Py_TPFLAGS_IS_ABSTRACT, Py_TPFLAGS_SEQUENCE and Py_TPFLAGS_MAPPING via the abc module). These should maybe all be atomic and/ors or protected by the same type lock.
  • tp_watched - also needs atomic and/or in PyType_Watch and PyType_Unwatch

CPython versions tested on:

CPython main branch

Operating systems tested on:

No response

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
topic-free-threading type-bug An unexpected behavior, bug, or error
Projects
None yet
Development

No branches or pull requests

1 participant