)]}'
{
  "commit": "7a5c8c988ef613a42116b32109915a5bdb6e6537",
  "tree": "f8f7665bf3d2300f6228cd7f26d24910d917d551",
  "parents": [
    "0a50c22709de1ae19b24879bc482b87a2dc3d256"
  ],
  "author": {
    "name": "Loko Kung",
    "email": "lokokung@google.com",
    "time": "Wed Jan 07 11:42:16 2026 -0800"
  },
  "committer": {
    "name": "Dawn LUCI CQ",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Wed Jan 07 11:42:16 2026 -0800"
  },
  "message": "Revert \"[dawn][d3d] Adds loop for WaitForMultipleObjects with INFINITY.\"\n\nThis reverts commit 2bf640bbd9f73e703855650d02f844e7e485a927.\n\nReason for revert: Suppression removals were premature.\n\nOriginal change\u0027s description:\n\u003e [dawn][d3d] Adds loop for WaitForMultipleObjects with INFINITY.\n\u003e\n\u003e - Adding the loop addresses the reverted workaround.\n\u003e - Also includes a small fix for potential race in spontaneous\n\u003e   event handling.\n\u003e - Re-enables all the related tests now that they seem to be\n\u003e   passing fine now on the arm64 Qualcomm devices with this fix.\n\u003e - Also reverts \"Fix MapAsyncAndWait use-after-free\"\n\u003e   commit 37905ab50503cb442aac9a8a28ac7306416dee39.\n\u003e\n\u003e Original change\u0027s description:\n\u003e \u003e Fix MapAsyncAndWait use-after-free\n\u003e \u003e\n\u003e \u003e Fixes an issue where the callback registered in\n\u003e \u003e DawnTestBase::MapAsyncAndWait could cause an access violation during\n\u003e \u003e global test teardown due to trying to run a callback that was allocated\n\u003e \u003e on the stack and had already gone out of scope. This only occurred when\n\u003e \u003e instance.WaitAny() timed out, which would cause the callback to still\n\u003e \u003e be around until the instance got destroyed and ensured that all pending\n\u003e \u003e callbacks were complete.\n\u003e \u003e\n\u003e \u003e Now, the actual callback to run is provided via a shared_ptr and the\n\u003e \u003e lambda provided to buffer.MapAsync() checks if it is null before running\n\u003e \u003e it. After instance.WaitAny() returns but before we make any asserts, we\n\u003e \u003e set the pointer to null, preventing the soon-to-be-dangling pointer from\n\u003e \u003e being used in the future.\n\u003e \u003e\n\u003e \u003e This is meant as a temporary workaround, as WaitAny() should always run\n\u003e \u003e the provided callback. This can be reverted once the underlying issue\n\u003e \u003e is fixed.\n\u003e \u003e\n\u003e \u003e Bug: 459864803, 460743383\n\u003e \u003e Change-Id: I5384e74ff6ab9da6104b07e6d9d235bf5d4b40c2\n\u003e \u003e Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/273736\n\u003e \u003e Commit-Queue: Brian Sheedy \u003cbsheedy@google.com\u003e\n\u003e \u003e Reviewed-by: Loko Kung \u003clokokung@google.com\u003e\n\u003e \u003e Auto-Submit: Brian Sheedy \u003cbsheedy@google.com\u003e\n\u003e \u003e Reviewed-by: Kai Ninomiya \u003ckainino@chromium.org\u003e\n\u003e\n\u003e Bug: 459864803, 460743383, 461837996, 469328928, 465497435\n\u003e Change-Id: Iabf26a66fbd6c92bf788a283c05b64d72e6f12ee\n\u003e Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/277975\n\u003e Reviewed-by: Brian Sheedy \u003cbsheedy@google.com\u003e\n\u003e Commit-Queue: Kai Ninomiya \u003ckainino@chromium.org\u003e\n\u003e Auto-Submit: Loko Kung \u003clokokung@google.com\u003e\n\u003e Commit-Queue: Loko Kung \u003clokokung@google.com\u003e\n\u003e Reviewed-by: Kai Ninomiya \u003ckainino@chromium.org\u003e\n\n# Not skipping CQ checks because original CL landed \u003e 1 day ago.\n\nBug: 459864803, 460743383, 461837996, 469328928, 465497435\nChange-Id: Ic6bd387733dfef37207b98df73bec174b6e01c91\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/283676\nCommit-Queue: Loko Kung \u003clokokung@google.com\u003e\nReviewed-by: Brian Sheedy \u003cbsheedy@google.com\u003e\nReviewed-by: Loko Kung \u003clokokung@google.com\u003e\nAuto-Submit: Loko Kung \u003clokokung@google.com\u003e\nCommit-Queue: Brian Sheedy \u003cbsheedy@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c5d37cb788b7d992c042a120b011e29d6aeddc5e",
      "old_mode": 33188,
      "old_path": "src/dawn/native/EventManager.cpp",
      "new_id": "3adf9754f3c800a905f71d06039ab7bf6c60028e",
      "new_mode": 33188,
      "new_path": "src/dawn/native/EventManager.cpp"
    },
    {
      "type": "modify",
      "old_id": "768e3609c7133484b80eba8e13205f28753279d9",
      "old_mode": 33188,
      "old_path": "src/dawn/native/WaitAnySystemEvent.h",
      "new_id": "5777c2ea9bd50135820fca8fa3b86bbe19ccd7f3",
      "new_mode": 33188,
      "new_path": "src/dawn/native/WaitAnySystemEvent.h"
    },
    {
      "type": "modify",
      "old_id": "3ddf9368d1ccb580b1fa7d0e368f6b353f0520f4",
      "old_mode": 33188,
      "old_path": "src/dawn/tests/DawnTest.cpp",
      "new_id": "cb77776107e6b222f5c7b621e7a7812f7b8c7691",
      "new_mode": 33188,
      "new_path": "src/dawn/tests/DawnTest.cpp"
    },
    {
      "type": "modify",
      "old_id": "c7ae1744d2fb5d9d4b42ff5dd568ff9a0b033a47",
      "old_mode": 33188,
      "old_path": "src/dawn/tests/end2end/BufferTests.cpp",
      "new_id": "6700fc28b54e3404dab4f2314476daef246b0cfe",
      "new_mode": 33188,
      "new_path": "src/dawn/tests/end2end/BufferTests.cpp"
    },
    {
      "type": "modify",
      "old_id": "e1ac73cbf1b879c201db93f3972d078ac4f259a3",
      "old_mode": 33188,
      "old_path": "src/dawn/tests/end2end/DepthStencilCopyTests.cpp",
      "new_id": "14a275a7f531fc3bd36f71b5b6e00f4e0083404b",
      "new_mode": 33188,
      "new_path": "src/dawn/tests/end2end/DepthStencilCopyTests.cpp"
    }
  ]
}
