diff options
author | Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> | 2024-06-01 14:26:12 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-01 14:26:12 (GMT) |
commit | 48f3378d6c620e99f17679ee11982a57640d3bb4 (patch) | |
tree | 3da6204474060816bb97e1efb16169d86ec501fc /Tools | |
parent | a0559849ac2de604ffa410268be262a8482ad23c (diff) | |
download | cpython-48f3378d6c620e99f17679ee11982a57640d3bb4.zip cpython-48f3378d6c620e99f17679ee11982a57640d3bb4.tar.gz cpython-48f3378d6c620e99f17679ee11982a57640d3bb4.tar.bz2 |
[3.13] gh-117657: Fix TSAN race in free-threaded GC (GH-119883) (#119903)
Only call `gc_restore_tid()` from stop-the-world contexts.
`worklist_pop()` can be called while other threads are running, so use a
relaxed atomic to modify `ob_tid`.
(cherry picked from commit 60593b2052ca275559c11028d50e19f8e5dfee13)
Co-authored-by: Sam Gross <colesbury@gmail.com>
Diffstat (limited to 'Tools')
-rw-r--r-- | Tools/tsan/suppressions_free_threading.txt | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/Tools/tsan/suppressions_free_threading.txt b/Tools/tsan/suppressions_free_threading.txt index dfa4a1f..27568c3 100644 --- a/Tools/tsan/suppressions_free_threading.txt +++ b/Tools/tsan/suppressions_free_threading.txt @@ -37,7 +37,6 @@ race_top:_PyImport_ReleaseLock race_top:_PyParkingLot_Park race_top:_PyType_HasFeature race_top:assign_version_tag -race_top:gc_restore_tid race_top:insertdict race_top:lookup_tp_dict race_top:mi_heap_visit_pages @@ -65,7 +64,6 @@ race_top:list_get_item_ref race_top:make_pending_calls race_top:set_add_entry race_top:should_intern_string -race_top:worklist_pop race_top:_PyEval_IsGILEnabled race_top:llist_insert_tail race_top:_Py_slot_tp_getattr_hook @@ -87,7 +85,6 @@ race_top:sock_close race_top:tstate_delete_common race_top:tstate_is_freed race_top:type_modified_unlocked -race_top:update_refs race_top:write_thread_id race_top:PyThreadState_Clear |