Skip to content

Cherry pick #95466 to 25.8: Avoid possible crash for distributed queries in case of cancellation#95601

Merged
robot-ch-test-poll1 merged 7 commits intobackport/25.8/95466from
cherrypick/25.8/95466
Jan 30, 2026
Merged

Cherry pick #95466 to 25.8: Avoid possible crash for distributed queries in case of cancellation#95601
robot-ch-test-poll1 merged 7 commits intobackport/25.8/95466from
cherrypick/25.8/95466

Conversation

@robot-ch-test-poll1
Copy link
Copy Markdown
Contributor

Original pull-request #95466

Do not merge this PR manually

This pull-request is a first step of an automated backporting.
It contains changes similar to calling git cherry-pick locally.
If you intend to continue backporting the changes, then resolve all conflicts if any.
Otherwise, if you do not want to backport them, then just close this pull-request.

The check results does not matter at this step - you can safely ignore them.

Troubleshooting

If the conflicts were resolved in a wrong way

If this cherry-pick PR is completely screwed by a wrong conflicts resolution, and you want to recreate it:

  • delete the pr-cherrypick label from the PR
  • delete this branch from the repository

You also need to check the Original pull-request for pr-backports-created label, and delete if it's presented there

The PR source

The PR is created in the CI job

kssenii and others added 7 commits January 28, 2026 19:50
The race condition causes a crash when reading from a disconnected
connection in distributed queries.

The `in` buffer:

```
(gdb) frame 1
(gdb) print this->in
$19 = {__ptr_ = 0x0, __cntrl_ = 0x0}
(gdb) print this->connected
$18 = false
```

But the same time:

```
(gdb) frame 2
    async_callback=...) at ./ci/tmp/build/./src/Client/MultiplexedConnections.cpp:398
(gdb) print this->sent_query
$15 = true
(gdb) print this->cancelled
$16 = false
(gdb) print this->active_connection_count
$17 = 1
```

Current solution will not fix the issue, it just apply a check like in
`sendCancel()`.

Related PRs:
- #89740
- #92807
- #93029
Avoid possible crash for distributed queries in case of cancellation
@robot-ch-test-poll1 robot-ch-test-poll1 added pr-cherrypick Cherry-pick of merge-commit before backporting. Do not use manually - automated use only! do not test disable testing on pull request pr-critical-bugfix labels Jan 30, 2026
@robot-ch-test-poll1 robot-ch-test-poll1 merged commit 1a05360 into backport/25.8/95466 Jan 30, 2026
229 of 238 checks passed
@robot-ch-test-poll1 robot-ch-test-poll1 deleted the cherrypick/25.8/95466 branch January 30, 2026 10:20
@clickhouse-gh clickhouse-gh bot added the ready-for-backport PR is eligible for backporting (merged 7+ days ago, not reverted) label Mar 27, 2026
@maxknv maxknv removed the ready-for-backport PR is eligible for backporting (merged 7+ days ago, not reverted) label Mar 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do not test disable testing on pull request pr-cherrypick Cherry-pick of merge-commit before backporting. Do not use manually - automated use only! pr-critical-bugfix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants