)]}'
{
  "commit": "e666a01ef42939f77f4c22ca47a610df5ef8b7ab",
  "tree": "d3607eedf3f0ecbde7406b86d8749bc2a7915639",
  "parents": [
    "1dc12b2883c89045469f3c401157d4df13f535f0"
  ],
  "author": {
    "name": "Sam Gross",
    "email": "colesbury@gmail.com",
    "time": "Fri Jan 30 16:14:10 2026"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Jan 30 16:14:10 2026"
  },
  "message": "gh-144295: Fix data race in dict method lookup and global load (gh-144312)\n\nIn `_PyDict_GetMethodStackRef`, only use the fast-path unicode lookup\nwhen the dict is owned by the current thread or already marked as shared.\nThis prevents a race between the lookup and concurrent dict resizes,\nwhich may free the PyDictKeysObject (i.e., it ensures that the resize\nuses QSBR).\n\nAddress a similar issue in `_Py_dict_lookup_threadsafe_stackref` by\ncalling `ensure_shared_on_read()`.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5d5d4e226caa4085458b971d4af348ac8f074b4d",
      "old_mode": 33188,
      "old_path": "Lib/test/test_free_threading/test_dict.py",
      "new_id": "1ffd924e9f477a690d5f205748f26b59492b90d4",
      "new_mode": 33188,
      "new_path": "Lib/test/test_free_threading/test_dict.py"
    },
    {
      "type": "modify",
      "old_id": "aea9ea84202b074e961344ef6be0319280f2b173",
      "old_mode": 33188,
      "old_path": "Objects/dictobject.c",
      "new_id": "c1584be3f0ed4a38bac83d84d718a7941af7240b",
      "new_mode": 33188,
      "new_path": "Objects/dictobject.c"
    }
  ]
}
