Skip to content

[release-8.0] Retry EINTR from KAIO truncate syscalls - #14326

Merged
saintstack merged 2 commits into
apple:release-8.0from
ploxiln:kaio_truncate_eintr_fdb80
Oct 21, 2026
Merged

saintstack merged 2 commits into
apple:release-8.0from
ploxiln:kaio_truncate_eintr_fdb80

Conversation

@ploxiln

@ploxiln ploxiln commented Oct 20, 2026

Copy link
Copy Markdown
Collaborator
  • Retry fallocate() when it fails with EINTR.
  • Retry the fallback ftruncate() path when it fails with EINTR.
  • Preserve existing EOPNOTSUPP fallback and permanent-error handling.
  • Add a deterministic regression test using one-shot EINTR syscall hooks.
  • Bound KAIO truncate EINTR retries and isolate regression tests

backport of #14081

* Retry fallocate() when it fails with EINTR.
* Retry the fallback ftruncate() path when it fails with EINTR.
* Preserve existing EOPNOTSUPP fallback and permanent-error handling.
* Add a deterministic regression test using one-shot EINTR syscall hooks.
* Bound KAIO truncate EINTR retries and isolate regression tests
@ploxiln
ploxiln requested review from saintstack and spraza October 20, 2026 03:44
@ploxiln

ploxiln commented Oct 20, 2026 •

Copy link
Copy Markdown
Collaborator Author

100k joshua test:

{
  "id": "20261020-024757-pierce-8cc81f52825c226f",
  "duration": 3752267,
  "ended": 101000,
  "fail": 1,
  "pass": 100999,
  "started": 101000,
  "compressed": true,
  "data_size": 40930129,
  "fail_fast": 10,
  "max_runs": 101000,
  "priority": 100,
  "runtime": "0:53:49",
  "sanity": false,
  "stopped": "20261020-034146",
  "submitted": "20261020-024757",
  "timeout": 5400,
  "username": "pierce",
  "remaining": "0"
}

One failure seemingly unrelated:

fdbserver -r simulation --crash --logsize 1024MB -f src/foundationdb/tests/fast/NativeCdcLargeVersionBatching.toml --buggify off --seed 2876491692

running test (NativeCdcLargeVersionBatching)...
NativeCdcEndToEnd complete
NativeCdcEndToEnd complete
NativeCdcEndToEnd complete
Assertion sawBatchedPrimingReply failed @ /root/src/foundationdb/fdbserver/workloads/NativeCdcEndToEnd.cpp 2474:
  /usr/local/bin/llvm-addr2line -e ./build_output/bin/fdbserver -p -C -f -i 0x57aa9cb 0x1ff4482 0x1fa6061 0x2056f48 0x2056e2d 0x449fa51 0x1ff7591 0x1ff70e1 0x20d3458 0x20d3341 0x20d4188 0x20d3f4a 0x4fb42a9 0x4fc198c 0x17e9fd8 0x50dcd87 0x50dc8b0 0x181012e 0x7fe8166fc610
SIGNAL: Aborted (6)

That addr2line backtrace is a bit hard for me to decipher, it's a bunch of promise resolution functions inlined in coroutine .resume methods ... but it's this assertion:

ASSERT(sawBatchedPrimingReply);

@foundationdb-ci

This comment has been minimized.

@foundationdb-ci

This comment has been minimized.

@foundationdb-ci

This comment has been minimized.

@foundationdb-ci

This comment has been minimized.

@foundationdb-ci

This comment has been minimized.

@foundationdb-ci

This comment has been minimized.

@foundationdb-ci

Copy link
Copy Markdown
Contributor

Result of foundationdb-pr-macos-m1 on macOS 14.x

  • Commit ID: d38968f
  • Duration 0:33:05
  • Result: ✅ SUCCEEDED
  • Error: N/A
  • Build Log terminal output (available for 30 days)
  • Build Workspace zip file of the working directory (available for 30 days)

@foundationdb-ci

Copy link
Copy Markdown
Contributor

Result of foundationdb-pr-clang on Linux RHEL 9

  • Commit ID: d38968f
  • Duration 0:39:23
  • Result: ✅ SUCCEEDED
  • Error: N/A
  • Build Log terminal output (available for 30 days)
  • Build Workspace zip file of the working directory (available for 30 days)

@foundationdb-ci

Copy link
Copy Markdown
Contributor

Result of foundationdb-pr on Linux RHEL 9

  • Commit ID: d38968f
  • Duration 0:46:50
  • Result: ✅ SUCCEEDED
  • Error: N/A
  • Build Log terminal output (available for 30 days)
  • Build Workspace zip file of the working directory (available for 30 days)

@foundationdb-ci

Copy link
Copy Markdown
Contributor

Result of foundationdb-pr-clang-arm on Linux RHEL 9

  • Commit ID: d38968f
  • Duration 0:47:15
  • Result: ✅ SUCCEEDED
  • Error: N/A
  • Build Log terminal output (available for 30 days)
  • Build Workspace zip file of the working directory (available for 30 days)

@foundationdb-ci

Copy link
Copy Markdown
Contributor

Result of foundationdb-pr-cluster-tests on Linux RHEL 9

  • Commit ID: d38968f
  • Duration 1:38:07
  • Result: ✅ SUCCEEDED
  • Error: N/A
  • Build Log terminal output (available for 30 days)
  • Build Workspace zip file of the working directory (available for 30 days)
  • Cluster Test Logs zip file of the test logs (available for 30 days)

@foundationdb-ci

Copy link
Copy Markdown
Contributor

Result of foundationdb-pr-macos on macOS 14.x

  • Commit ID: d38968f
  • Duration 2:10:09
  • Result: ✅ SUCCEEDED
  • Error: N/A
  • Build Log terminal output (available for 30 days)
  • Build Workspace zip file of the working directory (available for 30 days)

@saintstack
saintstack merged commit 41d42c1 into apple:release-8.0 Oct 21, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants