)]}'
{
  "commit": "aac8677f8e69e30fb105026ff524e04965640499",
  "tree": "71c8c6bdfd10ed79ebb015b73402fa99914b3592",
  "parents": [
    "438a6240cdc5cc5a27a107177a85338edc3f1a6a"
  ],
  "author": {
    "name": "shahan",
    "email": "shahan@google.com",
    "time": "Fri Sep 11 12:40:35 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Fri Sep 11 12:42:25 2026 -0700"
  },
  "message": "Fix NullPointerException in SkyframeLookupContinuation.doLookup().\n\nThe code mistakenly assumed that eviction could not occur concurrently with\nSkyFunction.compute. Synchronizes abandon and process to avoid concurrent\nmodification of skyframeLookups.\n\nPiperOrigin-RevId: 979963369\nChange-Id: Iee108a1420706d38952f9e9ee825751778d78a0d\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "53566b374260f5602f1cc89add4246a690ad6eb1",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/skyframe/serialization/SkyframeLookupContinuation.java",
      "new_id": "5c3ac8fc0b15d676781a05f33e2fae73d9cd704d",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/skyframe/serialization/SkyframeLookupContinuation.java"
    },
    {
      "type": "modify",
      "old_id": "c4460162e0ca2370ad9275886f3c71a8c9dd44e6",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/skyframe/serialization/SkyValueRetrieverTest.java",
      "new_id": "d5cd263b23c1d960e2920c3aeafdf4a8d9b15eba",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/skyframe/serialization/SkyValueRetrieverTest.java"
    }
  ]
}
