From 4df3cc82bd3f24eefd4913c12af980b107d58fab Mon Sep 17 00:00:00 2001 From: Sam Gross Date: Fri, 7 Feb 2025 09:44:24 -0500 Subject: [PATCH] gh-117657: Fix data race in `dict_dict_merge` (gh-129755) Found while running `test_load_attr_module` from `test_opcache` under TSan. (cherry picked from commit 34379d0a593e5a76e2f754cdd7fccb79f25a4613) Co-authored-by: Sam Gross --- Objects/dictobject.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Objects/dictobject.c b/Objects/dictobject.c index ff16a41b9a5d4e..f947b44b039eb4 100644 --- a/Objects/dictobject.c +++ b/Objects/dictobject.c @@ -3713,7 +3713,7 @@ dict_dict_merge(PyInterpreterState *interp, PyDictObject *mp, PyDictObject *othe ensure_shared_on_resize(mp); dictkeys_decref(interp, mp->ma_keys, IS_DICT_SHARED(mp)); - mp->ma_keys = keys; + set_keys(mp, keys); STORE_USED(mp, other->ma_used); mp->ma_version_tag = new_version; ASSERT_CONSISTENT(mp);