Repository navigation
Fix crash in replxx due to hitting FD_SETSIZE limitation of select() (replace with poll()) - #105559
Merged
Merged
Conversation
Contributor
|
Workflow [PR], commit [a73bb97] Summary: ❌
AI ReviewSummaryThis PR fixes high- Final VerdictStatus: ✅ Approve |
When _hold_server_fds returns, the kernel has completed all 1500 TCP handshakes, but Poco's TCPServer has only one accept thread that does accept()+dispatch() per iteration. The remaining connections sit in the kernel accept queue with no userspace fd allocated, so an immediate /proc/<pid>/fd count sees only those accepted so far (~700 in the failing run). Verified with pdb: pausing after the failure and re-checking the count shows it grew to the expected ~1500. Poll the fd count until it crosses the threshold instead of reading it once, so the test does not race Poco's accept loop.
Contributor
LLVM Coverage Report
Changed lines: 100.00% (2/2) · Uncovered code |
azat
enabled auto-merge
May 24, 2026 10:24
Member
Author
|
Since this has been already deployed to a few instances, I will merge it (CI failures are not related) |
Merged
via the queue into
ClickHouse:master
with commit May 24, 2026
02e4401
162 of 166 checks passed
This was referenced May 24, 2026
robot-ch-test-poll4
added a commit
that referenced
this pull request
May 24, 2026
Cherry pick #105559 to 26.5: Fix crash in replxx due to hitting FD_SETSIZE limitation of select() (replace with poll())
robot-clickhouse
added a commit
that referenced
this pull request
May 24, 2026
…ZE limitation of select() (replace with poll())
azat
added a commit
that referenced
this pull request
May 24, 2026
Backport #105559 to 26.5: Fix crash in replxx due to hitting FD_SETSIZE limitation of select() (replace with poll())
robot-clickhouse-ci-1
added a commit
that referenced
this pull request
May 24, 2026
Cherry pick #105559 to 25.8: Fix crash in replxx due to hitting FD_SETSIZE limitation of select() (replace with poll())
robot-clickhouse
added a commit
that referenced
this pull request
May 24, 2026
…ZE limitation of select() (replace with poll())
robot-clickhouse-ci-1
added a commit
that referenced
this pull request
May 24, 2026
Cherry pick #105559 to 26.3: Fix crash in replxx due to hitting FD_SETSIZE limitation of select() (replace with poll())
robot-clickhouse
added a commit
that referenced
this pull request
May 24, 2026
…ZE limitation of select() (replace with poll())
robot-clickhouse-ci-1
added a commit
that referenced
this pull request
May 24, 2026
Cherry pick #105559 to 26.4: Fix crash in replxx due to hitting FD_SETSIZE limitation of select() (replace with poll())
robot-clickhouse
added a commit
that referenced
this pull request
May 24, 2026
…ZE limitation of select() (replace with poll())
fm4v
added a commit
that referenced
this pull request
May 25, 2026
Backport #105559 to 26.3: Fix crash in replxx due to hitting FD_SETSIZE limitation of select() (replace with poll())
fm4v
added a commit
that referenced
this pull request
May 25, 2026
Backport #105559 to 26.4: Fix crash in replxx due to hitting FD_SETSIZE limitation of select() (replace with poll())
DavidHe-2008
pushed a commit
to DavidHe-2008/ClickHouse
that referenced
this pull request
Jun 1, 2026
Fix crash in replxx due to hitting FD_SETSIZE limitation of select() (replace with poll())
zeekay
pushed a commit
to hanzoai/datastore
that referenced
this pull request
Sep 11, 2026
…g FD_SETSIZE limitation of select() (replace with poll())
zeekay
pushed a commit
to hanzoai/datastore
that referenced
this pull request
Sep 11, 2026
…5559 Backport ClickHouse#105559 to 26.4: Fix crash in replxx due to hitting FD_SETSIZE limitation of select() (replace with poll())
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changelog category (leave one):
Changelog entry (a user-readable short description of the changes that goes into CHANGELOG.md):
Fix crash in replxx due to hitting FD_SETSIZE limitation of select() (replace with poll()). Note with enabled SSH/web terminal it may crash the server
ASan: https://pastila.nl/?000a2333/ec0eeeeba6505d52399343e5b03ff041#zHm494mXb7GNci6N9jePGw==GCM
Refs:
Version info
26.6.1.11626.5.2.5,26.4.4.13,26.3.13.9