Skip to content

Conversation

@eddieliao
Copy link
Contributor

@eddieliao eddieliao commented Nov 25, 2025

Motivation

Clang ASAN tests currently fail intermittently due to a segfault issue that has been fixed in Clang 17 and onward.

Technical Details

Upgrades to Clang 17. Clang 20 that comes with ROCm 7.0 cannot be used for ASAN tests as it results in tests failing due to an ODR violation. There did not appear to be a way to properly disable the check without disabling all global variable checking through ASAN.

Changelog Category

    • Added: New functionality.
    • Changed: Changes to existing functionality.
    • Removed: Functionality or support that has been removed. (Compared to a previous release)
    • Optimized: Component performance that has been optimized or improved.
    • Resolved Issues: Known issues from a previous version that have been resolved.
    • Not Applicable: This PR is not to be included in the changelog.

@eddieliao eddieliao self-assigned this Nov 25, 2025
@eddieliao eddieliao requested a review from Copilot November 25, 2025 00:14
Copilot finished reviewing on behalf of eddieliao November 25, 2025 00:17
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR upgrades the Clang version from 14 to 17 for ASAN (AddressSanitizer) and libstdc++ debug tests to resolve intermittent segfault issues that have been fixed in Clang 17. The change avoids Clang 20 (shipped with ROCm 7.0) due to ODR (One Definition Rule) violation false positives that cannot be easily disabled.

Key Changes:

  • Updated compiler paths from /usr/bin/clang++-14 to /usr/bin/clang++-17 in CI/CD pipeline
  • Modified Dockerfile to install Clang 17 using the official LLVM installation script
  • Removed the clang-14 package from the dependency list

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
Jenkinsfile Updated compiler paths to clang++-17 for both the "Clang ASAN" and "Clang libstdc++ Debug" test stages
Dockerfile Added Clang 17 installation via llvm.sh script and removed clang-14 from the apt package list

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@eddieliao eddieliao marked this pull request as ready for review November 25, 2025 19:12
@eddieliao eddieliao requested a review from causten as a code owner November 25, 2025 19:12
@eddieliao eddieliao requested a review from pfultz2 November 25, 2025 19:12
@eddieliao eddieliao marked this pull request as draft November 25, 2025 19:17
@codecov
Copy link

codecov bot commented Nov 25, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.

Additional details and impacted files
@@           Coverage Diff            @@
##           develop    #4466   +/-   ##
========================================
  Coverage    92.21%   92.21%           
========================================
  Files          561      561           
  Lines        27218    27228   +10     
========================================
+ Hits         25097    25107   +10     
  Misses        2121     2121           

see 1 file with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@eddieliao eddieliao marked this pull request as ready for review November 25, 2025 22:59
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.

3 participants