| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
|
This looks right to me but it'd be good to have @colesbury take a look as well. |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
In the nogil-integration branch there's some intermittent TSAN warnings like these:
https://gist.github.com/DinoV/52b7131cb149b9ebb2e965970c4ae9e8
It looks like we're racing on the loading of ob_ref_shared in _Py_MergeZeroLocalRefcount because we're doing a relaxed load, leading to the object potentially being freed while another thread holds a reference to it. This is occurring because with a lock-free read from the inline values there's no other synchronization points with the thread which owns the object.
This just changes the read to be acquire.