)]}'
{
  "commit": "9983d03e4f1a097414addd99cae964fb542d4ba5",
  "tree": "e3e6906414113287d35dfe67289531e8d091960b",
  "parents": [
    "b1b5ffa4e66dca55ea35b81555bdd5e34c342866"
  ],
  "author": {
    "name": "ziereis",
    "email": "44057120+ziereis@users.noreply.github.com",
    "time": "Tue Aug 18 12:46:18 2026 +0200"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Aug 18 12:46:18 2026 +0200"
  },
  "message": "[local-task] Clamp file read/write lengths to the platform transfer limit (#24816)\n\ncurrently loading parameter files with \"file\" mode fails with:\n\n```\nIndexError: Error creating vm context with modules: external/+_repo_rules4+iree/runtime/src/iree/hal/drivers/local_task/task_queue.c:2714: OUT_OF_RANGE; short read: requested 13282859520 bytes, got 397957632; while invoking native function hal.fence.await; while calling variadic import;\n```\n\nThe io_uring and IOCP backends narrowed the span length to their native\ntransfer count (sqe-\u003elen is 32 bits, ReadFile/WriteFile take a DWORD).\nSpans over 4GB transferred the wrong amount, and a span that is an exact\nmultiple of 4GB wrapped to zero: the operation completed successfully\nhaving moved no bytes, which the caller cannot distinguish from EOF.\n\nClamp instead. Short transfers are part of the file read/write contract,\nso callers resubmit for the remainder. The ceiling is INT_MAX rounded\ndown to a page, matching the kernel\u0027s MAX_RW_COUNT.\n\nAdds a CTS test covering the exact-4GB case, using a sparse reservation\nso the oversized span costs address space rather than committed memory.\n\nCo-Authored-By: Claude Opus 5 (1M context) \u003cnoreply@anthropic.com\u003e\n\nSigned-off-by: Thomas Ziereis \u003cziereis@roofline.ai\u003e\nCo-authored-by: Claude Opus 5 \u003cnoreply@anthropic.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "aaf67726a50266cd9c719717e10b7c011e24b6b5",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/async/cts/file/BUILD.bazel",
      "new_id": "cc7fdea7b5f4163fc2fc7a0e990ea324a46c91a8",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/async/cts/file/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "dc1107ba94d936a4473cea83b7b0fb1a1485926f",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/async/cts/file/CMakeLists.txt",
      "new_id": "138098c458dd3b3efbbb9610a2c0b9c018fab45b",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/async/cts/file/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "a2920a03557214ab282c53843da8a5b59778b476",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/async/cts/file/file_test.cc",
      "new_id": "22d3b3e03243b2bb40fa2dd8d2594786c458bb23",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/async/cts/file/file_test.cc"
    },
    {
      "type": "modify",
      "old_id": "f80e59cf88db83b8184ff141b49fbd54827534f3",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/async/platform/io_uring/proactor_submit.c",
      "new_id": "136c8a58d4fdda939c8acd89bb8ada355234e8c9",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/async/platform/io_uring/proactor_submit.c"
    },
    {
      "type": "modify",
      "old_id": "c546e7233bb6d4349b46b3ccefc33a5439715831",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/async/platform/iocp/proactor_submit.c",
      "new_id": "8262f5c0ed9c11b85382462641c8765cccf869df",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/async/platform/iocp/proactor_submit.c"
    },
    {
      "type": "modify",
      "old_id": "169f80581ab8d3859aa63b898d504e74f74c1d7c",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/async/platform/posix/worker.c",
      "new_id": "a3595347bf8cf15af85bc428a56d36a82beda1d3",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/async/platform/posix/worker.c"
    }
  ]
}
