Skip to content

[UBSAN] Apply abseil ubsan fix - #10837

Merged
smuzaffar merged 2 commits into
IB/CMSSW_20_1_X/masterfrom
ubsan-abseil-fix
Sep 9, 2026
Merged

[UBSAN] Apply abseil ubsan fix#10837
smuzaffar merged 2 commits into
IB/CMSSW_20_1_X/masterfrom
ubsan-abseil-fix

Conversation

@smuzaffar

Copy link
Copy Markdown
Contributor

Update Abseil to version 20260817 with patch suggested abseil/abseil-cpp#1634 (comment) to avoid UBSAN build errors in CMSSW [a]

[a] https://cmssdt.cern.ch/SDT/cgi-bin/buildlogs/el9_amd64_gcc14/CMSSW_20_1_UBSAN_X_2026-09-07-2300/RecoTracker/TkSeedGenerator

In file included from /data/cmsbld/jenkins/workspace/build-any-ib/w/el9_amd64_gcc14/external/abseil-cpp/20250814.1-7ece1702c014212b5e6ba4308f4c25e9/include/absl/container/internal/raw_hash_set.h:212,
                 from /data/cmsbld/jenkins/workspace/build-any-ib/w/el9_amd64_gcc14/external/abseil-cpp/20250814.1-7ece1702c014212b5e6ba4308f4c25e9/include/absl/container/internal/raw_hash_map.h:27,
                 from /data/cmsbld/jenkins/workspace/build-any-ib/w/el9_amd64_gcc14/external/abseil-cpp/20250814.1-7ece1702c014212b5e6ba4308f4c25e9/include/absl/container/flat_hash_map.h:45,
                 from /data/cmsbld/jenkins/workspace/build-any-ib/w/el9_amd64_gcc14/external/protobuf/6.31.1-b36a2fb74ed10457e80fba31cbeb33b8/include/google/protobuf/descriptor.h:47,
                 from /data/cmsbld/jenkins/workspace/build-any-ib/w/el9_amd64_gcc14/external/protobuf/6.31.1-b36a2fb74ed10457e80fba31cbeb33b8/include/google/protobuf/generated_message_reflection.h:26,
                 from /data/cmsbld/jenkins/workspace/build-any-ib/w/el9_amd64_gcc14/external/tensorflow/2.21.0-fa4dd945279daec5b6f3a820caacb861/include/tensorflow/core/framework/types.pb.h:26,
                 from /data/cmsbld/jenkins/workspace/build-any-ib/w/el9_amd64_gcc14/external/tensorflow/2.21.0-fa4dd945279daec5b6f3a820caacb861/include/tensorflow/core/framework/tensor_shape.h:22,
                 from /data/cmsbld/jenkins/workspace/build-any-ib/w/el9_amd64_gcc14/external/tensorflow/2.21.0-fa4dd945279daec5b6f3a820caacb861/include/tensorflow/core/framework/tensor.h:28,
                 from src/PhysicsTools/TensorFlow/interface/TensorFlow.h:11,
                 from src/RecoTracker/TkSeedGenerator/plugins/DeepCoreSeedGenerator.cc:70:
/data/cmsbld/jenkins/workspace/build-any-ib/w/el9_amd64_gcc14/external/abseil-cpp/20250814.1-7ece1702c014212b5e6ba4308f4c25e9/include/absl/container/internal/hash_policy_traits.h: In instantiation of 'static const absl::lts_20250814::container_internal::PolicyFunctions& absl::lts_20250814::container_internal::raw_hash_set<Policy, Hash, Eq, Alloc>::GetPolicyFunctions() [with Policy = absl::lts_20250814::container_internal::FlatHashSetPolicy<std::pair<const google::protobuf::Message*, const google::protobuf::FieldDescriptor*> >; Hash = absl::lts_20250814::hash_internal::Hash<std::pair<const google::protobuf::Message*, const google::protobuf::FieldDescriptor*> >; Eq = std::equal_to<std::pair<const google::protobuf::Message*, const google::protobuf::FieldDescriptor*> >; Alloc = std::allocator<std::pair<const google::protobuf::Message*, const google::protobuf::FieldDescriptor*> >]':
/data/cmsbld/jenkins/workspace/build-any-ib/w/el9_amd64_gcc14/external/abseil-cpp/20250814.1-7ece1702c014212b5e6ba4308f4c25e9/include/absl/container/internal/raw_hash_set.h:2264:38:   required from 'absl::lts_20250814::container_internal::raw_hash_set<Policy, Hash, Eq, Alloc>::raw_hash_set(const absl::lts_20250814::container_internal::raw_hash_set<Policy, Hash, Eq, Alloc>&, const allocator_type&) [with Policy = absl::lts_20250814::container_internal::FlatHashSetPolicy<std::pair<const google::protobuf::Message*, const google::protobuf::FieldDescriptor*> >; Hash = absl::lts_20250814::hash_internal::Hash<std::pair<const google::protobuf::Message*, const google::protobuf::FieldDescriptor*> >; Eq = std::equal_to<std::pair<const google::protobuf::Message*, const google::protobuf::FieldDescriptor*> >; Alloc = std::allocator<std::pair<const google::protobuf::Message*, const google::protobuf::FieldDescriptor*> >; allocator_type = std::allocator<std::pair<const google::protobuf::Message*, const google::protobuf::FieldDescriptor*> >]'
 2264 |     Copy(common(), GetPolicyFunctions(), that.common(),
      |                    ~~~~~~~~~~~~~~~~~~^~
/data/cmsbld/jenkins/workspace/build-any-ib/w/el9_amd64_gcc14/external/abseil-cpp/20250814.1-7ece1702c014212b5e6ba4308f4c25e9/include/absl/container/internal/raw_hash_set.h:2315:18:   required from 'absl::lts_20250814::container_internal::raw_hash_set<Policy, Hash, Eq, Alloc>& absl::lts_20250814::container_internal::raw_hash_set<Policy, Hash, Eq, Alloc>::operator=(const absl::lts_20250814::container_internal::raw_hash_set<Policy, Hash, Eq, Alloc>&) [with Policy = absl::lts_20250814::container_internal::FlatHashSetPolicy<std::pair<const google::protobuf::Message*, const google::protobuf::FieldDescriptor*> >; Hash = absl::lts_20250814::hash_internal::Hash<std::pair<const google::protobuf::Message*, const google::protobuf::FieldDescriptor*> >; Eq = std::equal_to<std::pair<const google::protobuf::Message*, const google::protobuf::FieldDescriptor*> >; Alloc = std::allocator<std::pair<const google::protobuf::Message*, const google::protobuf::FieldDescriptor*> >]'
 2315 |     raw_hash_set tmp(that, alloc);
      |                  ^~~
/data/cmsbld/jenkins/workspace/build-any-ib/w/el9_amd64_gcc14/external/abseil-cpp/20250814.1-7ece1702c014212b5e6ba4308f4c25e9/include/absl/container/flat_hash_set.h:130:28:   required from here
  130 | class ABSL_ATTRIBUTE_OWNER flat_hash_set
      |                            ^~~~~~~~~~~~~
/data/cmsbld/jenkins/workspace/build-any-ib/w/el9_amd64_gcc14/external/abseil-cpp/20250814.1-7ece1702c014212b5e6ba4308f4c25e9/include/absl/container/internal/raw_hash_set.h:3594:72:   in 'constexpr' expansion of 'absl::lts_20250814::container_internal::hash_policy_traits<absl::lts_20250814::container_internal::FlatHashSetPolicy<std::pair<const google::protobuf::Message*, const google::protobuf::FieldDescriptor*> >, void>::get_hash_slot_fn<absl::lts_20250814::hash_internal::Hash<std::pair<const google::protobuf::Message*, const google::protobuf::FieldDescriptor*> >, true>()'
  /data/cmsbld/jenkins/workspace/build-any-ib/w/el9_amd64_gcc14/external/abseil-cpp/20250814.1-7ece1702c014212b5e6ba4308f4c25e9/include/absl/container/internal/hash_policy_traits.h:158:66: error: '(absl::lts_20250814::container_internal::TypeErasedApplyToSlotFn<absl::lts_20250814::hash_internal::Hash<std::pair<const google::protobuf::Message*, const google::protobuf::FieldDescriptor*> >, std::pair<const google::protobuf::Message*, const google::protobuf::FieldDescriptor*>, true> == 0)' is not a constant expression
   158 |     return Policy::template get_hash_slot_fn<Hash, kIsDefault>() == nullptr

@cmsbuild

cmsbuild commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

A new Pull Request was created by @smuzaffar for branch IB/CMSSW_20_1_X/master.

@akritkbehera, @cmsbuild, @iarspider, @raoatifshad, @smuzaffar can you please review it and eventually sign? Thanks.
@ftenchini, @mandrenguyen, @sextonkennedy you are the release manager for this.
cms-bot commands are listed here

@cmsbuild

cmsbuild commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

cms-bot internal usage

@smuzaffar

Copy link
Copy Markdown
Contributor Author

please build for CMSSW_20_1_UBSAN_X using full cmssw

@smuzaffar

Copy link
Copy Markdown
Contributor Author

enable gpu

@smuzaffar

Copy link
Copy Markdown
Contributor Author

please test

@smuzaffar

Copy link
Copy Markdown
Contributor Author

please build for CMSSW_20_1_UBSAN_X using full cmssw

@cmsbuild

cmsbuild commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Pull request #10837 was updated.

@cmsbuild

cmsbuild commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-3c9945/55752/summary.html
COMMIT: 4fabdfc
CMSSW: CMSSW_20_1_UBSAN_X_2026-09-07-2300/el9_amd64_gcc14
Additional Tests: GPU,AMD_MI300X,AMD_W7900,NVIDIA_H100,NVIDIA_L40S,NVIDIA_T4
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmsdist/10837/55752/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-3c9945/55752/git-recent-commits.json
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-3c9945/55752/git-merge-result

@smuzaffar

Copy link
Copy Markdown
Contributor Author

Please test using full cmssw

@smuzaffar

Copy link
Copy Markdown
Contributor Author

+externals

unit tests and gpu tests passed

@smuzaffar
smuzaffar merged commit 8da0905 into IB/CMSSW_20_1_X/master Sep 9, 2026
24 of 25 checks passed
@cmsbuild

cmsbuild commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

This pull request is fully signed and it will be integrated in one of the next IB/CMSSW_20_1_X/master IBs after it passes the integration tests. This pull request will now be reviewed by the release team before it's merged. @sextonkennedy, @ftenchini, @mandrenguyen (and backports should be raised in the release meeting by the corresponding L2)

@cmsbuild

cmsbuild commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-3c9945/55762/summary.html
COMMIT: 4fabdfc
CMSSW: CMSSW_20_1_X_2026-09-08-2300/el9_amd64_gcc14
Additional Tests: GPU,AMD_MI300X,AMD_W7900,NVIDIA_H100,NVIDIA_L40S,NVIDIA_T4
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmsdist/10837/55762/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

AMD_MI300X Comparison Summary

Summary:

AMD_W7900 Comparison Summary

Summary:

NVIDIA_H100 Comparison Summary

Summary:

NVIDIA_L40S Comparison Summary

Summary:

NVIDIA_T4 Comparison Summary

Summary:

Max Memory Comparisons exceeding threshold NVIDIA_H100

@cms-sw/core-l2 , I found 1 workflow step(s) with memory usage exceeding the error threshold:

Expand to see workflows ...
  • Error: Workflow 37634.7503_TTbar_14TeV+Run4D127_HLTHeterogeneousValid step2 max memory diff 189.8 exceeds +/- 30.0 MiB

Max Memory Comparisons exceeding threshold NVIDIA_T4

@cms-sw/core-l2 , I found 1 workflow step(s) with memory usage exceeding the error threshold:

Expand to see workflows ...
  • Error: Workflow 37634.7503_TTbar_14TeV+Run4D127_HLTHeterogeneousValid step2 max memory diff 38.2 exceeds +/- 30.0 MiB

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.

2 participants