)]}'
{
  "commit": "2d2531069e10f0ea93e78d6e0cd8c0a474417de9",
  "tree": "776026f0f3671f8372af20881875052c240ba822",
  "parents": [
    "51a03bcd7b8f6816e94a13b9ce756888ac4ce3b6"
  ],
  "author": {
    "name": "Ben Vanik",
    "email": "ben.vanik@gmail.com",
    "time": "Tue Feb 24 13:45:52 2026 -0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Feb 24 13:45:52 2026 -0800"
  },
  "message": "[Async] Fix macOS CTS test flakes: dangling stack ops, RST detection, kqueue event loss (#23570)\n\nTurns out, macOS has some... quirks.\n\nThree categories of fixes for macOS socket CTS test failures:\n\nproactor.c: Track `any_operation_removed` through\nprocess_operation_chain to skip event_set_modify when the fd chain is\nunchanged after multishot MORE continuations. On macOS kqueue, redundant\nEV_ADD resets the knote\u0027s pending state, causing level-triggered events\nto be missed until a new state transition occurs.\n\nmultishot_test.cc: Fix dangling stack-local operation pointers in all\nfour multishot tests. Operations submitted inside loops (connect_op,\nsend_op) now wait for their specific completion tracker instead of\nrelying on PollUntil returning on any completion. All tests also gain a\nsafety DrainPending() when the cancel-wait timeout expires without the\nmultishot terminating, preventing TearDown from processing operations\nagainst destroyed stack memory.\n\nerror_propagation_test.cc + socket_test_base.h: Add ReleaseWithRst()\nhelper that closes a socket with SO_LINGER(0,0) (forcing RST instead of\nFIN) and submits a recv probe on the peer to detect the RST and set\nsticky failure deterministically. Four error propagation tests converted\nfrom non-deterministic send-until-fail loops to single deterministic\nassertions. MultishotRecvPeerCloseDeliversFinalCallback fixed with the\nsame release+poll-until-final+safety-cancel pattern as multishot tests.\n\nCo-authored-by: Claude \u003cnoreply@anthropic.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9fa4bacb3f78d7fd55ae19c1763c5c72977af4bb",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/async/cts/core/error_propagation_test.cc",
      "new_id": "5ae7c509843ccc1f1ab40ba4cf9bad8eaabfe4d0",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/async/cts/core/error_propagation_test.cc"
    },
    {
      "type": "modify",
      "old_id": "7ed3f4c55d2984db891d4dc39860620897cc60c1",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/async/cts/socket/multishot_test.cc",
      "new_id": "c8d955a328bdda52f72c1cefd01b6b91f661011f",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/async/cts/socket/multishot_test.cc"
    },
    {
      "type": "modify",
      "old_id": "1d0e0d73188a22b2d9a5f765518355dc069fb656",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/async/cts/util/socket_test_base.h",
      "new_id": "376675a04feac6db6126a70c73c3d493e7a22520",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/async/cts/util/socket_test_base.h"
    },
    {
      "type": "modify",
      "old_id": "9c10d1ffc0de4b58dd6c3388b2aa70dc2031c797",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/async/platform/posix/proactor.c",
      "new_id": "7e74775209029f169e1f1679293b3139e0ed53bb",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/async/platform/posix/proactor.c"
    }
  ]
}
