)]}'
{
  "commit": "fcc3b2dc006bd938081228adce0be6a2aa030800",
  "tree": "b7fd8c8e92988dfd271f3908cd78213b43247826",
  "parents": [
    "aa261cc7d34e8cddc68da1c6c4618f59291817fe"
  ],
  "author": {
    "name": "dan sinclair",
    "email": "dsinclair@chromium.org",
    "time": "Thu Mar 05 16:54:47 2026 -0800"
  },
  "committer": {
    "name": "Dawn LUCI CQ",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Thu Mar 05 16:54:47 2026 -0800"
  },
  "message": "Update perf test shutdown to wait for all operations.\n\nWhen tearing down the Dawn perf tests we\u0027re seeing some racing which\nappears to terminate the tests on the bots, there is no logging output\nwhen this happens, just the test fails to teardown.\n\nIt seems that there maybe a race between GPU commands and test tear\ndown.\n\nSpecifically:\n\n1. UniformBufferUpdatePref tests do MapAsync on a bunch of buffers, the\ncallback for those map asyncs uses the `this` pointer to set some\ninformation\n2. The test \"completes\" while the MapAsync messages are in progress\n3. The test harness waits for its iteration counter, based on queue\nsubmission. That iteration counter can complete before the map async.\n4. The test harness exits the test is torn down and the fixture for the\n`this` pointer is destroyed. 5. the MapAsync finishes, tries to access\nthis and then dies.\n\nThis is a hypothesis, I haven\u0027t been able to reproduce the test locally\nwhere it crashes.\n\nThis CL changes the waiting for a specific iteration count to a\n`WaitForAllOperations` call instead. This seems, when trying to run the\ntests on the perf bot in the try jobs, to make the flake go away over a\nnumber of runs.\n\nChange-Id: I808a915973eabeb3568b4490ce808c5649543876\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/295355\nReviewed-by: Kai Ninomiya \u003ckainino@chromium.org\u003e\nReviewed-by: Loko Kung \u003clokokung@google.com\u003e\nCommit-Queue: Kai Ninomiya \u003ckainino@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5444ae65e26e0b4514c67cdcddb46c7ab520c1c0",
      "old_mode": 33188,
      "old_path": "src/dawn/tests/perf_tests/DawnPerfTest.cpp",
      "new_id": "bf99351ac6ab54d8a0b6b03d3f0dc5839329ffa4",
      "new_mode": 33188,
      "new_path": "src/dawn/tests/perf_tests/DawnPerfTest.cpp"
    }
  ]
}
