Add all aarch64 build variants and complete stress test matrix#98677
Merged
alexey-milovidov merged 33 commits intomasterfrom Mar 30, 2026
Merged
Add all aarch64 build variants and complete stress test matrix#98677alexey-milovidov merged 33 commits intomasterfrom
alexey-milovidov merged 33 commits intomasterfrom
Conversation
…ss test matrix Add missing aarch64 builds for `arm_debug`, `arm_msan`, and `arm_ubsan` variants, and produce `.deb` packages for all ARM builds including `arm_tsan` (which previously only produced a binary). Add the corresponding stress tests for all new variants plus `amd_asan` and `arm_release` which were also missing. This ensures all 5 sanitizer/debug variants build for both architectures and each has a corresponding stress test. Changelog category: CI Fix or Improvement Co-Authored-By: Claude Opus 4.6 <[email protected]>
Contributor
|
Workflow [PR], commit [8d9cfbb] Summary: ✅ AI ReviewSummaryThis PR expands CI coverage for ClickHouse Rules
Final Verdict
|
…EB_AMD_MSAN` Co-Authored-By: Claude Opus 4.6 <[email protected]>
- "some some" -> "some" in `threadPoolCallbackRunner.h` - "the the" -> "the" in `DatabaseReplicatedWorker.cpp`, `StorageSystemReplicas.cpp`, `LibArchiveWriter.h` - "coordiation" -> "coordination" in `DatabaseReplicatedWorker.cpp` Co-Authored-By: Claude Opus 4.6 <[email protected]>
The `backport_branches.py` used bare substring filters like `"asan"` and `"tsan"` which now also match the new ARM variants (`arm_asan`, `arm_tsan`), but the backport build filter only includes AMD builds. Changed the filters to use `"amd_asan"`, `"amd_tsan"`, and `"amd_debug"` to avoid referencing artifacts that no build job provides. Co-Authored-By: Claude Opus 4.6 <[email protected]>
1 task
alexey-milovidov
commented
Mar 4, 2026
| DEB_AMD_RELEASE = "DEB_AMD_RELEASE" | ||
| DEB_AMD_ASAN = "DEB_AMD_ASAN" | ||
| DEB_AMD_TSAN = "DEB_AMD_TSAN" | ||
| DEB_AMD_MSAN = "DEB_AMD_MSAM" |
maxknv
approved these changes
Mar 4, 2026
`simsimd_capabilities` probes SIMD functions with `n=0` using a tiny
8-byte dummy buffer. SVE functions use `do { } while (i < n)` loops
that execute once even with n=0, and MSan instruments predicated loads
as full-width vector reads. Enlarged the buffer to 256 bytes to cover
the widest SVE vector (2048 bits).
CI report: https://s3.amazonaws.com/clickhouse-test-reports/json.html?PR=98677&sha=a1b9d7f6170c510431fce962a869aa617d88d888&name_0=PR&name_1=Stress%20test%20%28arm_msan%29
Co-Authored-By: Claude Opus 4.6 <[email protected]>
1 task
Co-Authored-By: Claude Opus 4.6 <[email protected]>
The previous submodule pointer (2ccd366) was on a divergent branch from master's version (b8f4527). Update to 1ab7d5e which includes master's version plus MSan fixes on top. Co-Authored-By: Claude Opus 4.6 <[email protected]>
…nts-and-stress-tests # Conflicts: # .github/workflows/master.yml # .github/workflows/pull_request.yml
…nts-and-stress-tests # Conflicts: # .github/workflows/pull_request.yml
Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
…nts-and-stress-tests
Resolve conflict in `finish_workflow` needs list by keeping `libfuzzer_tests` from the branch. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
The merge conflict resolution in 8c4d316 incorrectly kept `libfuzzer_tests` in the `finish_workflow` needs list, but this job does not exist in `pull_request.yml`. This caused GitHub Actions to reject the entire workflow file, preventing CI from running. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Member
Author
|
Depends on #100138. |
Reconcile the PR's ARM build additions with master's `ASAN` -> `ASAN_UBSAN` rename (combined Address + Undefined Behavior sanitizer builds). Regenerated workflow YAML files. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
The test fails with TSan due to floating-point precision differences when random settings change the evaluation order of sum(constant - column). Wrap Float64 arithmetic queries with `round(..., 2)` to avoid flaky results. https://s3.amazonaws.com/clickhouse-test-reports/json.html?PR=98677&sha=c1d06924bbc951a62ad4a320efdcb22722d72d4b&name_0=PR&name_1=Stateless%20tests%20%28amd_tsan%2C%20parallel%2C%202%2F2%29 Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Round Float64 results in test 02931_rewrite_sum_column_and_constant
…nts-and-stress-tests # Conflicts: # .github/workflows/pull_request.yml # tests/queries/0_stateless/02931_rewrite_sum_column_and_constant.reference # tests/queries/0_stateless/02931_rewrite_sum_column_and_constant.sql
1 task
Contributor
LLVM Coverage Report
Changed lines: 63.64% (7/11) · Uncovered code |
Desel72
pushed a commit
to Desel72/ClickHouse
that referenced
this pull request
Mar 30, 2026
…iants-and-stress-tests Add all aarch64 build variants and complete stress test matrix
groeneai
added a commit
to groeneai/ClickHouse
that referenced
this pull request
Apr 1, 2026
The `TryResult` in `ConnectionEstablisherAsync` is populated inside a fiber whose stack is allocated via `aligned_alloc`. MSan treats such memory as uninitialized and cannot track writes through `boost::context`'s uninstrumented assembly for fiber switches. This restores the `__msan_unpoison` call in `getResult()` that was previously added in 262fbda and later removed in 31e4980 when the blanket fiber stack unpoisoning was introduced. The blanket approach (unpoisoning at allocation time) proved insufficient — STID 4179-5154 spiked from 4 hits to 19 hits in 30 days after PR ClickHouse#98677 expanded ARM64 CI coverage. Co-Authored-By: Claude Opus 4.6 <[email protected]>
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):
...
Documentation entry for user-facing changes
Summary
arm_debug,arm_msan, andarm_ubsanvariants with full.debpackage support.debpackages forarm_tsan(previously only produced a binary, moved fromextra_validation_build_jobstobuild_jobs)amd_asan,arm_release,arm_debug,arm_tsan,arm_msan,arm_ubsanDEB_AMD_MSANartifact name string (DEB_AMD_MSAM->DEB_AMD_MSAN)Test plan
.debpackages are produced for all new ARM variants.debartifactsextra_validation_build_jobs(now empty) causes no issues in PR workflowNote
Medium Risk
Touches multiple GitHub Actions workflows and CI job/artifact definitions, so miswired dependencies or artifact names could break or significantly slow CI despite no production code changes.
Overview
CI now builds the full aarch64 variant set by adding
arm_debug,arm_msan, andarm_ubsanbuilds (and.debartifacts) and ensuringarm_tsanalso produces a.deb(moved out ofextra_validation_build_jobs).Stress-test coverage is expanded by adding missing stress tests (
amd_asan,amd_msan,amd_ubsan, plusarm_release,arm_debug,arm_tsan,arm_msan,arm_ubsan) and wiring these jobs intomaster,pull_request, andrelease_branchesworkflows (including updatedneeds/finish-workflow aggregation).Also fixes a typo in the
DEB_AMD_MSANartifact name and tightensbackport_branchesworkflow job filtering to targetamd_*variants explicitly.Written by Cursor Bugbot for commit e596991. This will update automatically on new commits. Configure here.