Skip to content

[GCC14] Silence array-bounds warning in KalmanUtilsMPlex.cc #47747

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Apr 2, 2025

Conversation

iarspider
Copy link
Contributor

PR description:

GCC14 emits multiple array-bounds warnings:

>> Building scram_x86-64-v2 shared library tmp/el8_amd64_gcc14/src/RecoTracker/MkFitCore/src/RecoTrackerMkFitCore/scram_x86-64-v2/libRecoTrackerMkFitCore.so
/data/cmsbld/jenkins/workspace/build-any-ib/w/el8_amd64_gcc14/external/gcc/14.2.1-475d4640d5186beb85fe6c9d366d668f/bin/c++ -O3 -pthread -pipe -Werror=main -Werror=pointer-arith -Werror=overlength-strings -Wno-vla -Werror=overflow -std=c++20 -ftree-vectorize -Werror=array-bounds -Werror=format-contains-nul -Werror=type-limits -fvisibility-inlines-hidden -fno-math-errno --param vect-max-version-for-alias-checks=50 -Xassembler --compress-debug-sections -Wno-error=array-bounds -Warray-bounds -fuse-ld=bfd -felide-constructors -fmessage-length=0 -Wall -Wno-non-template-friend -Wno-long-long -Wreturn-type -Wextra -Wpessimizing-move -Wclass-memaccess -Wno-cast-function-type -Wno-unused-but-set-parameter -Wno-ignored-qualifiers -Wno-unused-parameter -Wunused -Wparentheses -Werror=return-type -Werror=missing-braces -Werror=unused-value -Werror=unused-label -Werror=address -Werror=format -Werror=sign-compare -Werror=write-strings -Werror=delete-non-virtual-dtor -Werror=strict-aliasing -Werror=narrowing -Werror=unused-but-set-variable -Werror=reorder -Werror=unused-variable -Werror=conversion-null -Werror=return-local-addr -Wnon-virtual-dtor -Werror=switch -fdiagnostics-show-option -Wno-unused-local-typedefs -Wno-attributes -Wno-psabi -fno-reciprocal-math -mrecip=none -DBOOST_DISABLE_ASSERTS -march=x86-64-v2 -fopenmp-simd -flto=auto -fipa-icf -flto-odr-type-merging -fno-fat-lto-objects -Wodr -shared -Wl,-E    -Wl,-z,defs     tmp/el8_amd64_gcc14/src/RecoTracker/MkFitCore/src/RecoTrackerMkFitCore/scram_x86-64-v2/CandCloner.cc.o tmp/el8_amd64_gcc14/src/RecoTracker/MkFitCore/src/RecoTrackerMkFitCore/scram_x86-64-v2/Config.cc.o tmp/el8_amd64_gcc14/src/RecoTracker/MkFitCore/src/RecoTrackerMkFitCore/scram_x86-64-v2/Debug.cc.o tmp/el8_amd64_gcc14/src/RecoTracker/MkFitCore/src/RecoTrackerMkFitCore/scram_x86-64-v2/FindingFoos.cc.o tmp/el8_amd64_gcc14/src/RecoTracker/MkFitCore/src/RecoTrackerMkFitCore/scram_x86-64-v2/Hit.cc.o tmp/el8_amd64_gcc14/src/RecoTracker/MkFitCore/src/RecoTrackerMkFitCore/scram_x86-64-v2/HitStructures.cc.o tmp/el8_amd64_gcc14/src/RecoTracker/MkFitCore/src/RecoTrackerMkFitCore/scram_x86-64-v2/IterationConfig.cc.o tmp/el8_amd64_gcc14/src/RecoTracker/MkFitCore/src/RecoTrackerMkFitCore/scram_x86-64-v2/KalmanUtilsMPlex.cc.o tmp/el8_amd64_gcc14/src/RecoTracker/MkFitCore/src/RecoTrackerMkFitCore/scram_x86-64-v2/Matriplex/MatriplexCommon.cc.o tmp/el8_amd64_gcc14/src/RecoTracker/MkFitCore/src/RecoTrackerMkFitCore/scram_x86-64-v2/MiniPropagators.cc.o tmp/el8_amd64_gcc14/src/RecoTracker/MkFitCore/src/RecoTrackerMkFitCore/scram_x86-64-v2/MkBuilder.cc.o tmp/el8_amd64_gcc14/src/RecoTracker/MkFitCore/src/RecoTrackerMkFitCore/scram_x86-64-v2/MkBuilderWrapper.cc.o tmp/el8_amd64_gcc14/src/RecoTracker/MkFitCore/src/RecoTrackerMkFitCore/scram_x86-64-v2/MkFinder.cc.o tmp/el8_amd64_gcc14/src/RecoTracker/MkFitCore/src/RecoTrackerMkFitCore/scram_x86-64-v2/MkFitter.cc.o tmp/el8_amd64_gcc14/src/RecoTracker/MkFitCore/src/RecoTrackerMkFitCore/scram_x86-64-v2/PropagationMPlex.cc.o tmp/el8_amd64_gcc14/src/RecoTracker/MkFitCore/src/RecoTrackerMkFitCore/scram_x86-64-v2/PropagationMPlexCommon.cc.o tmp/el8_amd64_gcc14/src/RecoTracker/MkFitCore/src/RecoTrackerMkFitCore/scram_x86-64-v2/PropagationMPlexEndcap.cc.o tmp/el8_amd64_gcc14/src/RecoTracker/MkFitCore/src/RecoTrackerMkFitCore/scram_x86-64-v2/PropagationMPlexPlane.cc.o tmp/el8_amd64_gcc14/src/RecoTracker/MkFitCore/src/RecoTrackerMkFitCore/scram_x86-64-v2/Track.cc.o tmp/el8_amd64_gcc14/src/RecoTracker/MkFitCore/src/RecoTrackerMkFitCore/scram_x86-64-v2/TrackStructures.cc.o tmp/el8_amd64_gcc14/src/RecoTracker/MkFitCore/src/RecoTrackerMkFitCore/scram_x86-64-v2/TrackerInfo.cc.o tmp/el8_amd64_gcc14/src/RecoTracker/MkFitCore/src/RecoTrackerMkFitCore/scram_x86-64-v2/radix_sort.cc.o  -o tmp/el8_amd64_gcc14/src/RecoTracker/MkFitCore/src/RecoTrackerMkFitCore/scram_x86-64-v2/libRecoTrackerMkFitCore.so -Wl,-E -Wl,--hash-style=gnu -Wl,--as-needed -Wl,-z,noexecstack -L/data/cmsbld/jenkins/workspace/build-any-ib/w/tmp/BUILDROOT/223c41a66d13e70c72c2ec946ac907e0/opt/cmssw/el8_amd64_gcc14/cms/cmssw/CMSSW_15_1_X_2025-03-31-2300/biglib/el8_amd64_gcc14 -L/data/cmsbld/jenkins/workspace/build-any-ib/w/tmp/BUILDROOT/223c41a66d13e70c72c2ec946ac907e0/opt/cmssw/el8_amd64_gcc14/cms/cmssw/CMSSW_15_1_X_2025-03-31-2300/lib/el8_amd64_gcc14 -L/data/cmsbld/jenkins/workspace/build-any-ib/w/tmp/BUILDROOT/223c41a66d13e70c72c2ec946ac907e0/opt/cmssw/el8_amd64_gcc14/cms/cmssw/CMSSW_15_1_X_2025-03-31-2300/external/el8_amd64_gcc14/lib -L/data/cmsbld/jenkins/workspace/build-any-ib/w/tmp/BUILDROOT/223c41a66d13e70c72c2ec946ac907e0/opt/cmssw/el8_amd64_gcc14/cms/cmssw/CMSSW_15_1_X_2025-03-31-2300/static/el8_amd64_gcc14 -lSmatrix -lCore -lpcre -lbz2 -ltbb -llzma -lz -lcrypt -ldl -lrt
In function 'RotateResidualsOnPlane',
    inlined from 'kalmanOperationPlane' at src/RecoTracker/MkFitCore/src/KalmanUtilsMPlex.cc:2031:27:
  [src/RecoTracker/MkFitCore/src/KalmanUtilsMPlex.cc:413](https://github.com/cms-sw/cmssw/blob/CMSSW_15_1_X_2025-03-31-2300/RecoTracker/MkFitCore/src/KalmanUtilsMPlex.cc#L413):31: warning: array subscript 'const struct Matriplex[0]' is partly outside array bounds of 'struct MPlex2H[1]' [-Warray-bounds=]
   413 |       B(n, 0, 0) = R(n, 0, 0) * A(n, 0, 0) + R(n, 0, 1) * A(n, 1, 0) + R(n, 0, 2) * A(n, 2, 0);
      |                               ^
src/RecoTracker/MkFitCore/src/KalmanUtilsMPlex.cc: In function 'kalmanOperationPlane':
src/RecoTracker/MkFitCore/src/KalmanUtilsMPlex.cc:2014:13: note: object 'prj' of size 96
 2014 |     MPlex2H prj;
      |             ^

Full log

PR validation:

Bot tests

@iarspider
Copy link
Contributor Author

please test for el8_amd64_gcc14

@cmsbuild
Copy link
Contributor

cmsbuild commented Apr 1, 2025

cms-bot internal usage

@cmsbuild
Copy link
Contributor

cmsbuild commented Apr 1, 2025

@cmsbuild
Copy link
Contributor

cmsbuild commented Apr 1, 2025

A new Pull Request was created by @iarspider for master.

It involves the following packages:

  • RecoTracker/MkFitCore (reconstruction)

@jfernan2, @mandrenguyen can you please review it and eventually sign? Thanks.
@GiacomoSguazzoni, @VinInn, @VourMa, @dgulhan, @felicepantaleo, @gpetruc, @makortel, @missirol, @mmusich, @mtosi, @rovere this is something you requested to watch as well.
@antoniovilela, @mandrenguyen, @rappoccio, @sextonkennedy you are the release manager for this.

cms-bot commands are listed here

@smuzaffar
Copy link
Contributor

please test

lets run tests for default IB

@cmsbuild
Copy link
Contributor

cmsbuild commented Apr 1, 2025

+1

Size: This PR adds an extra 20KB to repository
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-3fd66e/45316/summary.html
COMMIT: a45ca16
CMSSW: CMSSW_15_1_X_2025-04-01-1100/el8_amd64_gcc12
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/47747/45316/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

@cmsbuild
Copy link
Contributor

cmsbuild commented Apr 1, 2025

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-3fd66e/45312/summary.html
COMMIT: a45ca16
CMSSW: CMSSW_15_1_X_2025-03-31-2300/el8_amd64_gcc14
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/47747/45312/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-3fd66e/45312/git-recent-commits.json
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-3fd66e/45312/git-merge-result

Comparison Summary

Summary:

  • You potentially added 312 lines to the logs
  • ROOTFileChecks: Some differences in event products or their sizes found
  • Reco comparison results: 112344 differences found in the comparisons
  • DQMHistoTests: Total files compared: 52
  • DQMHistoTests: Total histograms compared: 4136704
  • DQMHistoTests: Total failures: 506470
  • DQMHistoTests: Total nulls: 444
  • DQMHistoTests: Total successes: 3629770
  • DQMHistoTests: Total skipped: 20
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 3390.518000000002 KiB( 51 files compared)
  • DQMHistoSizes: changed ( 10224.0,... ): 7.752 KiB GEM/RecHits
  • DQMHistoSizes: changed ( 10224.0 ): 0.415 KiB SiStrip/MechanicalView
  • DQMHistoSizes: changed ( 11634.0,... ): 81.177 KiB GEM/RecHits
  • DQMHistoSizes: changed ( 12834.0,... ): 81.989 KiB GEM/RecHits
  • DQMHistoSizes: changed ( 13034.0 ): 0.938 KiB SiStrip/MechanicalView
  • DQMHistoSizes: changed ( 140.045 ): -0.004 KiB JetMET/SUSYDQM
  • DQMHistoSizes: changed ( 141.042 ): 0.043 KiB JetMET/SUSYDQM
  • DQMHistoSizes: changed ( 145.014,... ): 184.802 KiB GEM/RecHits
  • DQMHistoSizes: changed ( 145.014,... ): 73.984 KiB GEM/Digis
  • DQMHistoSizes: changed ( 145.014,... ): 1.781 KiB GEM/DAQStatus
  • DQMHistoSizes: changed ( 145.014 ): ...
  • Checked 223 log files, 194 edm output root files, 52 DQM output files
  • TriggerResults: found differences in 24 / 50 workflows

@jfernan2
Copy link
Contributor

jfernan2 commented Apr 2, 2025

+1

@cmsbuild
Copy link
Contributor

cmsbuild commented Apr 2, 2025

This pull request is fully signed and it will be integrated in one of the next master IBs (tests are also fine). This pull request will now be reviewed by the release team before it's merged. @mandrenguyen, @sextonkennedy, @antoniovilela, @rappoccio (and backports should be raised in the release meeting by the corresponding L2)

@mandrenguyen
Copy link
Contributor

+1

@cmsbuild cmsbuild merged commit 42c751f into cms-sw:master Apr 2, 2025
17 checks passed
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.

5 participants