Skip to content

Root llvm22#233

Open
smuzaffar wants to merge 32 commits into
cms-sw:cms/master/f44097696effrom
devajithvs:ROOT-llvm22
Open

Root llvm22#233
smuzaffar wants to merge 32 commits into
cms-sw:cms/master/f44097696effrom
devajithvs:ROOT-llvm22

Conversation

@smuzaffar

@smuzaffar smuzaffar commented Jun 26, 2026

Copy link
Copy Markdown

CMSSW tests for root-project#21658

@smuzaffar

smuzaffar commented Jun 26, 2026

Copy link
Copy Markdown
Author

test parameters:

  • enable =threading
  • release = CMSSW_20_1_ROOT6_X

@cmsbuild

Copy link
Copy Markdown

A new Pull Request was created by @smuzaffar for branch cms/master/6bf5355cc45.

@akritkbehera, @cmsbuild, @iarspider, @raoatifshad, @smuzaffar can you please review it and eventually sign? Thanks.
@ReyerBand, @argiro, @missirol, @mmusich, @rchatter, @thomreis, @wang0jin this is something you requested to watch as well.
@ftenchini, @mandrenguyen, @sextonkennedy you are the release manager for this.
cms-bot commands are listed here

@cmsbuild

cmsbuild commented Jun 26, 2026

Copy link
Copy Markdown

cms-bot internal usage

@smuzaffar

Copy link
Copy Markdown
Author

please test

@cmsbuild

Copy link
Copy Markdown

-1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-373920/54303/summary.html
COMMIT: 0836c20
CMSSW: CMSSW_20_1_ROOT6_X_2026-06-25-2300/el9_amd64_gcc13
Additional Tests: THREADING
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/root/233/54303/install.sh to create a dev area with all the needed externals and cmssw changes.

Failed External Build

I found compilation error when building:

+ echo 'test $?PY3_NUMPY_ROOT != 0 || source /data/cmsbld/jenkins/workspace/ib-run-pr-tests/testBuildDir/el9_amd64_gcc13/external/py3-numpy/1.26.4-6c7401133d71aa0fdd19f4799dadfbdf/etc/profile.d/init.csh'
+ echo fi
+ touch /data/cmsbld/jenkins/workspace/ib-run-pr-tests/testBuildDir/tmp/BUILDROOT/25f2180ee204e9858052369b955f3f20/opt/cmssw/el9_amd64_gcc13/lcg/root/6.41.1-25f2180ee204e9858052369b955f3f20/etc/profile.d/.autodependencies
Processing files: lcg+root+6.41.1-25f2180ee204e9858052369b955f3f20-1-1.x86_64
warning: absolute symlink: /opt/cmssw/el9_amd64_gcc13/lcg/root/6.41.1-25f2180ee204e9858052369b955f3f20/lib/cuda.pcm.lock -> /data/cmsbld/jenkins/workspace/ib-run-pr-tests/testBuildDir/tmp/BUILDROOT/25f2180ee204e9858052369b955f3f20/opt/cmssw/el9_amd64_gcc13/lcg/root/6.41.1-25f2180ee204e9858052369b955f3f20/lib/cuda.pcm.lock-71c15b9d
error: Symlink points to BuildRoot: /opt/cmssw/el9_amd64_gcc13/lcg/root/6.41.1-25f2180ee204e9858052369b955f3f20/lib/cuda.pcm.lock -> /data/cmsbld/jenkins/workspace/ib-run-pr-tests/testBuildDir/tmp/BUILDROOT/25f2180ee204e9858052369b955f3f20/opt/cmssw/el9_amd64_gcc13/lcg/root/6.41.1-25f2180ee204e9858052369b955f3f20/lib/cuda.pcm.lock-71c15b9d

RPM build warnings:
Macro expanded in comment on line 497: %{pkginstroot}/lib

Macro expanded in comment on line 498: %{pkginstroot}


@devajithvs

Copy link
Copy Markdown

@smuzaffar Could you restart the test here with the updated branch?

@smuzaffar smuzaffar changed the base branch from cms/master/6bf5355cc45 to cms/master/8d94a43d32e July 2, 2026 07:49
@smuzaffar

Copy link
Copy Markdown
Author

please test

@cmsbuild

cmsbuild commented Jul 2, 2026

Copy link
Copy Markdown

Pull request #233 was updated.

@devajithvs

Copy link
Copy Markdown

Oops, sorry, my bad. Clad wasn't enabled in the PR.

@smuzaffar

Copy link
Copy Markdown
Author

please test

@devajithvs

devajithvs commented Jul 2, 2026

Copy link
Copy Markdown

please test

I just updated the clad tag for build. The tag in the previous build seems not to be up to date with v2.4 (needed for LLVM22).

@smuzaffar

smuzaffar commented Jul 2, 2026

Copy link
Copy Markdown
Author

looks like with over 8000+ files changed , github api takes ages to update the Pull requests content. e.g. curl https://api.github.com/repos/cms-sw/root/pulls/233 returns

  "author_association": "NONE",
  "auto_merge": null,
  "assignee": null,
  "active_lock_reason": null,
  "merged": false,
  "mergeable": true,
  "rebaseable": true,
  "mergeable_state": "clean",
  "merged_by": null,
  "comments": 11,
  "review_comments": 0,
  "maintainer_can_modify": false,
  "commits": 38,
  "additions": 0,
  "deletions": 0,
  "changed_files": 0

i.e. 0 file changed ( looks like a known issue with large PRs). cms-bot can only start the tests once github properly updates the PR content. With your previous update github took over an hours to update. So with your latest change, I will try again in couple of hours

@smuzaffar smuzaffar closed this Jul 2, 2026
@smuzaffar smuzaffar reopened this Jul 2, 2026
@smuzaffar smuzaffar changed the base branch from cms/master/8d94a43d32e to cms/master/6bf5355cc45 July 2, 2026 10:06
…ePaths

CopyIncludePaths assumed that a framework entry always implies
`Group==Angled` and called `report_fatal_error` for any other group.

This changed after LLVM commit: llvm/llvm-project@515b4a4

Framework entries land in UserEntries with `IsFramework=true` and
`Group=frontend::System` and cling fails on macos with
"Invalid option set!"

Fix by also allowing `Group=frontend::System` for framework entries.

See compiler-research/CppInterOp#672 (comment)
LLVM22 introduced UnsubstitutedConstraintSatisfactionCache:
llvm/llvm-project@e9972de

This causes some stale results to persist across transactions
For example, evaluating is_default_constructible_v<Inner<int>> for an
incomplete Inner<int> caches the 'false' value here.
Completing Inner<int> in the next transaction will see the cached 'false'
instead of re-evaluating.

There is a TODO in clang to make this a private member, so this solution
is not ideal.

This might not be the right fix, clang and clang-repl also fails for the
below, maybe we should just update the test-case
`roottest-root-meta-ROOT-7462-Test` to prevent this condition (gcc14
and above).

Minimal reproducer:
```
template <typename T> struct X; // Forward declaration
template <typename T> struct S { S() requires std::is_default_constructible_v<T> = default;};
bool b = std::is_default_constructible_v<S<X<int>>>;
template <> struct X<int> {}; // Complete the definition of X<int>

S<X<int>> s; // Fails without this patch
```

In ROOT:
```
{
    gInterpreter->Declare(R"(
      #include <type_traits>
      template <typename T> struct X;
      template <typename T>
      struct S { S() requires std::is_default_constructible_v<T> = default;};
    )");

    gInterpreter->Declare("bool b = std::is_default_constructible_v<S<X<int>>>;");
    gInterpreter->Declare("template <> struct X<int> {};");
    bool ok = gInterpreter->Declare("S<X<int>> s;");

    printf("%s\n", ok ? "PASS" : "FAIL");
}
```
LLVM21 implements CWG2369 ("Ordering between constraints and substitution",
llvm/llvm-project@e04e140

This moves constraint checking before full template argument substitution.
Alias templates may be expanded eagerly during parameter type substitution,
causing hard diagnostics to be emitted for substitution failures that are
expected and handled by InstantiateTemplateWithDefaults().

Use SFINAETrap so that substitution failures are treated as silent
failures, matching the previous behaviour.

Fix the remaining failing `pyunittests` on macos:

- pyunittests-bindings-distrdf-backend-distrdf-unit-backend-dist
- pyunittests-bindings-distrdf-backend-distrdf-unit-backend-graph-caching
- pyunittests-bindings-pyroot-cppyy-cppyy-test-cpp11features
- pyunittests-bindings-pyroot-pythonizations-pyroot-roofit
- pyunittests-io-io-rfile-py
- pyunittests-tree-dataframe-dataframe-merge-results
- pyunittests-tree-ntuple-ntuple-py-basics
- pyunittests-tree-ntuple-ntuple-py-model
AdaptiveCpp does not support LLVM22 yet, there is a PR open,
still need some work to get this building with static LLVM,
adaptiveCpp is designed to be used as a clang plugin using
libLLVM.so, for now, disable this so that this does not
become a blocker for LLVM22 upgrade.
@cmsbuild

cmsbuild commented Jul 7, 2026

Copy link
Copy Markdown

Pull request #233 was updated.

Backport upstream patch that fixes windows builds for clad, remove this in the next clad release
@cmsbuild

cmsbuild commented Jul 7, 2026

Copy link
Copy Markdown

Pull request #233 was updated.

@devajithvs

Copy link
Copy Markdown

-1

Failed Tests: UnitTests RelVals-THREADING Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-373920/54501/summary.html COMMIT: a80f916 CMSSW: CMSSW_20_1_ROOT6_X_2026-07-02-2300/el9_aarch64_gcc13 Additional Tests: THREADING User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/root/233/54501/install.sh to create a dev area with all the needed externals and cmssw changes.

The following merge commits were also included on top of IB + this PR after doing git cms-merge-topic:

You can see more details here: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-373920/54501/git-recent-commits.json https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-373920/54501/git-merge-result

Failed Unit Tests

I found 1 errors in the following unit tests:

---> test testVolumes had ERRORS

Failed RelVals-THREADING

The relvals timed out after 4 hours.

  • 34500.034500.0_CloseByPGun_CE_H_Coarse_Scint+Run4D121/step3_CloseByPGun_CE_H_Coarse_Scint+Run4D121.log

Hi @smuzaffar, Can we verify that this is a failure related to the upgrade and not a pre-existing one?

@smuzaffar smuzaffar changed the base branch from cms/master/8d94a43d32e to cms/master/f44097696ef July 7, 2026 12:29
@smuzaffar

Copy link
Copy Markdown
Author

please test with cms-sw/cmssw#51432 for CMSSW_20_1_ROOT6_X

@smuzaffar

Copy link
Copy Markdown
Author

@devajithvs , the failure ---> test testVolumes had ERRORS is pre-existing but the Relval failure is not in IBs. The Relval failed due to timeout (4hours) so it might be due to other/externals issues. Let me re-run the tests

@smuzaffar

Copy link
Copy Markdown
Author

please test with cms-sw/cmssw#51432 for CMSSW_20_1_ROOT6_X/el9_aarch64_gcc13

@cmsbuild

cmsbuild commented Jul 7, 2026

Copy link
Copy Markdown

-1

Failed Tests: UnitTests
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-373920/54565/summary.html
COMMIT: 32f30d7
CMSSW: CMSSW_20_1_ROOT6_X_2026-07-06-2300/el9_amd64_gcc13
Additional Tests: THREADING
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/root/233/54565/install.sh to create a dev area with all the needed externals and cmssw changes.

The following merge commits were also included on top of IB + this PR after doing git cms-merge-topic:

You can see more details here:
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-373920/54565/git-recent-commits.json
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-373920/54565/git-merge-result

Failed Unit Tests

I found 1 errors in the following unit tests:

---> test BUFU_TEST had ERRORS

Comparison Summary

Summary:

  • You potentially added 208 lines to the logs
  • ROOTFileChecks: Some differences in event products or their sizes found
  • Reco comparison results: 1 differences found in the comparisons
  • DQMHistoTests: Total files compared: 45
  • DQMHistoTests: Total histograms compared: 3547841
  • DQMHistoTests: Total failures: 25601
  • DQMHistoTests: Total nulls: 17
  • DQMHistoTests: Total successes: 3522205
  • DQMHistoTests: Total skipped: 18
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 44 files compared)
  • Checked 195 log files, 163 edm output root files, 45 DQM output files
  • TriggerResults: found differences in 2 / 44 workflows

@smuzaffar

Copy link
Copy Markdown
Author

cmssw tests results look good

`getName()` can return a temporary std::string, so wrapping it in a
StringRef left builtinNames holding dangling pointers. Copy the name
into an owning std::string before storing it.
@cmsbuild

cmsbuild commented Jul 8, 2026

Copy link
Copy Markdown

Pull request #233 was updated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants