CI: remove leftover standalone arm_ubsan build by Algunenano · Pull Request #109048 · ClickHouse/ClickHouse · GitHub
Skip to content

CI: remove leftover standalone arm_ubsan build#109048

Merged
Algunenano merged 2 commits into
ClickHouse:masterfrom
Algunenano:remove-standalone-arm-ubsan-build
Jul 2, 2026
Merged

CI: remove leftover standalone arm_ubsan build#109048
Algunenano merged 2 commits into
ClickHouse:masterfrom
Algunenano:remove-standalone-arm-ubsan-build

Conversation

@Algunenano

@Algunenano Algunenano commented Jul 1, 2026

Copy link
Copy Markdown
Member

The standalone ARM UBSan-only build (-DSANITIZE=undefined) is a leftover. It was added in a5fca9d ("add all aarch64 variants") shortly before 774a9ed combined ASan+UBSan into single builds and removed the standalone UBSan/ASan builds. That commit missed arm_ubsan.

UBSan on ARM is already covered by arm_asan_ubsan, so the standalone build and its stress test were redundant CI cost with no test coverage depending on them. This removes the ARM_UBSAN build type, its CH_ARM_UBSAN/DEB_ARM_UBSAN artifacts, the build job, and the arm_ubsan stress test, and regenerates the workflow YAMLs.

Changelog category (leave one):

  • CI Fix or improvement

Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):

Not for changelog (changelog entry is not required)

Version info

  • Merged into: 26.7.1.422

Algunenano and others added 2 commits July 1, 2026 13:33
The standalone ARM UBSan-only build (`-DSANITIZE=undefined`) was a leftover.
It was added in a5fca9d ("add all aarch64 variants") shortly before
774a9ed combined ASan+UBSan into single builds and removed the standalone
UBSan/ASan builds; that commit missed `arm_ubsan`. UBSan on ARM is already
covered by `arm_asan_ubsan`, so the standalone build and its stress test were
redundant CI cost with no test coverage depending on them.

Remove the `ARM_UBSAN` build type, its `CH_ARM_UBSAN`/`DEB_ARM_UBSAN`
artifacts, the build job, and the `arm_ubsan` stress test. Regenerate the
workflow YAMLs.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@clickhouse-gh

clickhouse-gh Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

@clickhouse-gh clickhouse-gh Bot added the pr-ci label Jul 1, 2026
@Algunenano Algunenano requested review from fm4v and maxknv July 1, 2026 14:38
@clickhouse-gh

clickhouse-gh Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

📊 Cloud Performance Report

🔴 AI verdict: degradation2 regressed, 1 improved out of 38 analysed

This PR only removes the arm_ubsan build and stress-test jobs from the GitHub Actions CI workflows; there are no server or query-execution code changes. Because nothing in the diff can touch how queries run, the flagged clickbench deltas (Q4, Q27, Q30, Q31, Q33, Q34) and the tpch Q8 change are run-to-run variance and have been downgraded to inconclusive. Two TPC-H queries (Q4 +193%, Q7 +786%) and Q16 (-50%) show very large shifts that the automated trust gate preserves, but their baselines were extremely noisy (base variation of roughly 46%, 103%, and 23%), so a rerun is recommended before treating them as real.

clickbench

⚠️ 7 inconclusive

Flagged queries (7 of 43)
Query Verdict Baseline median (ms) PR median (ms) Change q-value Hint
⚠️ 4 not_sure 259 215 -17.0% <0.0001 PR only deletes an arm_ubsan CI build/stress job; nothing touches query execution. -17% is run-to-run variance.
⚠️ 27 not_sure 192 158 -17.4% <0.0001 CI-only diff (drops arm_ubsan jobs); execution path untouched. -17% not attributable to this PR.
⚠️ 30 not_sure 240 275 +14.6% <0.0001 CI-only diff removes an arm_ubsan build; cannot slow a SELECT. Treat +15% as variance.
⚠️ 31 not_sure 308 358 +15.9% <0.0001 Same CI-only change; no server code touched. +16% is run-to-run variance.
⚠️ 32 not_sure 1306 1226 -6.1% 0.0018 Already inconclusive and the two tests disagree; consistent with a CI-only diff.
⚠️ 33 not_sure 1452 1376 -5.2% <0.0001 CI-only diff; -5% cannot come from removing an arm_ubsan CI job. Run-to-run variance.
⚠️ 34 not_sure 1455 1376 -5.4% <0.0001 CI-only diff; -5% is variance, not a PR effect.

q-value = BH-FDR adjusted p; smaller is stronger evidence. MIRAI flags a query when q < fdr_q (default 0.10) — the value the verdict is based on.

tpch_adapted_1_official

🔴 2 regressed · 🟢 1 improved · ⚠️ 1 inconclusive

Flagged queries (4 of 22)
Query Verdict Baseline median (ms) PR median (ms) Change q-value Hint
🔴 4 regression 326 956 +193.1% <0.0001 Large +193% delta stands per trust gate, but baseline was very noisy (base variation ~46%) and diff is CI-only; rerun ad
🔴 7 regression 71 629 +785.9% <0.0001 +786% over a 71ms baseline with extremely noisy base measurements (~103%); delta stands per gate but rerun advised.
🟢 16 improvement 100 50 -50.0% <0.0001 -50% large delta stands per trust gate, but base was noisy (~23%) and a CI-only diff can't explain it; rerun advised.
⚠️ 8 not_sure 168 209 +24.4% <0.0001 CI-only diff (removes arm_ubsan jobs); server execution untouched. +24% not attributable to this PR.

q-value = BH-FDR adjusted p; smaller is stronger evidence. MIRAI flags a query when q < fdr_q (default 0.10) — the value the verdict is based on.

Debug info
  • StressHouse run: 1c0246ce-bd82-4432-9584-c76033377b33
  • MIRAI run: ea2faf19-d632-4475-b1ef-fdcfe496317e
  • PR check IDs:
    • clickbench_631908_1782919325
    • clickbench_631914_1782919324
    • clickbench_631924_1782919324
    • tpch_adapted_1_official_631932_1782919324
    • tpch_adapted_1_official_631944_1782919324
    • tpch_adapted_1_official_631957_1782919324

@Algunenano

Copy link
Copy Markdown
Member Author

CI failure investigation

This PR is CI-only (removes the redundant standalone arm_ubsan build; touches only .github/workflows/*.yml and ci/defs/*.py), so neither failure can be a regression from it. Both are known TSan-build flakies with open tracking issues and remediation in progress.

Failure (check) Verdict Master freq 7/14/30/90d Last master fail Tracking issue In-flight fix
ThreadSanitizer: data race (STID: 3336-2c6d) (BuzzHouse amd_tsan) FLAKY 3 / 4 / 8 / 17 2026-06-30 #101319 (open) #103158 (open)
Hung check failed, possible deadlock found (Stress arm_tsan) FLAKY 152 / 235 / 430 / 1096 2026-07-01 #107941 (open) #107640, #108212, #108351 (merged); #105905 (open)

1. Data race STID 3336-2c6d

Tracked by #101319 (exact STID match). Root cause: Context::setCurrentTransaction (src/Interpreters/Context.cpp:7215) writes merge_tree_transaction unsynchronized while other threads read it under Context::mutex via Context::createCopy; the std::swap<DB::MergeTreeTransaction*> in the TSan SUMMARY is that write. Fixed by open PR #103158, which stops the server-side AST fuzzer from clearing the caller's session/query transaction without a lock.

2. Hung check (possible deadlock)

Tracked by #107941, an umbrella for stress/fuzzer hangs and extremely common on master (1096/90d), so a single hit is noise. Root cause: the server-side AST fuzzer generating unbounded/heavy in-flight queries that ignore cancellation. Fixes already merged (#107640, #108212, #108351); diagnostic #105905 still open. The remaining tail is a single in-flight write/generate that can't be interrupted mid-task.

Recommendation: re-run the two failed checks. Both are pre-existing flakies unrelated to this PR.

@Algunenano Algunenano enabled auto-merge July 2, 2026 10:04
@Algunenano Algunenano added this pull request to the merge queue Jul 2, 2026
Merged via the queue into ClickHouse:master with commit c3f8ef3 Jul 2, 2026
342 of 344 checks passed
@Algunenano Algunenano deleted the remove-standalone-arm-ubsan-build branch July 2, 2026 10:20
@robot-ch-test-poll3 robot-ch-test-poll3 added the pr-synced-to-cloud The PR is synced to the cloud repo label Jul 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr-ci pr-synced-to-cloud The PR is synced to the cloud repo

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants