)]}'
{
  "commit": "9acfa2faed87ead08a12fc84859a52fc8b4ed4e8",
  "tree": "1913631e5341a43a2a12a35a7b6d719073e4f3b5",
  "parents": [
    "51784080f788bc816242bf1362d76cf14f306107"
  ],
  "author": {
    "name": "Googler",
    "email": "lberki@google.com",
    "time": "Tue Jul 14 05:04:45 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Tue Jul 14 05:05:44 2026 -0700"
  },
  "message": "Freeze libraries to link before interning them.\n\nOtherwise, Blaze is susceptible to a race condition:\n\n1. Node A creates a list [\"x\"] and interns it\n2. Node B creates the same list [\"x\"] and interns it; it gets back a still mutable reference to the list created by node A\n3. Node B finishes, freezes its Starlark data structures and puts a reference to the list (which is secretly created by Node A) into a provider\n4. Node A adds \"y\" to the list\n5. Now Node C (depending on Node B) will observe the values of the list as [\"x\", \"y\"], even though that\u0027s totally not what Node B intended\n\nRELNOTES: None.\nPiperOrigin-RevId: 947612088\nChange-Id: I98fd1dadaaa0e0677577627ce63039599a72f66b\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fa02879890d83cd60596b2a9de3b6c83fa010c35",
      "old_mode": 33188,
      "old_path": "cc/private/link/create_libraries_to_link_values.bzl",
      "new_id": "0822758afaee0eed0f661b07ab728ae951f328ab",
      "new_mode": 33188,
      "new_path": "cc/private/link/create_libraries_to_link_values.bzl"
    }
  ]
}
