summaryrefslogtreecommitdiffstats
path: root/Tools
diff options
context:
space:
mode:
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2024-06-01 14:26:12 (GMT)
committerGitHub <noreply@github.com>2024-06-01 14:26:12 (GMT)
commit48f3378d6c620e99f17679ee11982a57640d3bb4 (patch)
tree3da6204474060816bb97e1efb16169d86ec501fc /Tools
parenta0559849ac2de604ffa410268be262a8482ad23c (diff)
downloadcpython-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.txt3
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