Skip to content
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

Another workaround for -O3 ASAN compilation issue in CTPPSProtonReconstructionPlotter #45786

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

makortel
Copy link
Contributor

@makortel makortel commented Aug 23, 2024

PR description:

Build of CMSSW_14_1_ASAN_X_2024-08-21-2300 failed with

In file included from src/DataFormats/Common/interface/RefVector.h:18,
                 from src/DataFormats/ProtonReco/interface/ForwardProton.h:14,
                 from src/Validation/CTPPS/plugins/CTPPSProtonReconstructionPlotter.cc:20:
In member function 'edm::RefVectorIterator<C, T, F>::reference edm::RefVectorIterator<C, T, F>::operator*() const [with C = std::vector<CTPPSLocalTrackLite>; T = CTPPSLocalTrackLite; F = edm::refhelper::FindUsingAdvance<std::vector<CTPPSLocalTrackLite>, CTPPSLocalTrackLite>]',
    inlined from 'virtual void CTPPSProtonReconstructionPlotter::analyze(const edm::Event&, const edm::EventSetup&)' at src/Validation/CTPPS/plugins/CTPPSProtonReconstructionPlotter.cc:627:22:
  src/DataFormats/Common/interface/RefVectorIterator.h:49:39: error: 'this' pointer is null [-Werror=nonnull]
    49 |       return (*nestedRefVector_)[iter_];
      |                                       ^
src/DataFormats/Common/interface/RefVector.h: In member function 'virtual void CTPPSProtonReconstructionPlotter::analyze(const edm::Event&, const edm::EventSetup&)':
src/DataFormats/Common/interface/RefVector.h:70:22: note: in a call to non-static member function 'const edm::RefVector<C, T, F>::value_type edm::RefVector<C, T, F>::operator[](size_type) const [with C = edm::RefVector<std::vector<CTPPSLocalTrackLite> >; T = CTPPSLocalTrackLite; F = edm::refhelper::FindRefVectorUsingAdvance<edm::RefVector<std::vector<CTPPSLocalTrackLite> > >]'
   70 |     value_type const operator[](size_type idx) const {
      |                      ^~~~~~~~
In member function 'edm::RefVectorIterator<C, T, F>::reference edm::RefVectorIterator<C, T, F>::operator*() const [with C = std::vector<CTPPSLocalTrackLite>; T = CTPPSLocalTrackLite; F = edm::refhelper::FindUsingAdvance<std::vector<CTPPSLocalTrackLite>, CTPPSLocalTrackLite>]',
    inlined from 'virtual void CTPPSProtonReconstructionPlotter::analyze(const edm::Event&, const edm::EventSetup&)' at src/Validation/CTPPS/plugins/CTPPSProtonReconstructionPlotter.cc:725:24:
  src/DataFormats/Common/interface/RefVectorIterator.h:49:39: error: 'this' pointer is null [-Werror=nonnull]
    49 |       return (*nestedRefVector_)[iter_];
      |                                       ^
src/DataFormats/Common/interface/RefVector.h: In member function 'virtual void CTPPSProtonReconstructionPlotter::analyze(const edm::Event&, const edm::EventSetup&)':
src/DataFormats/Common/interface/RefVector.h:70:22: note: in a call to non-static member function 'const edm::RefVector<C, T, F>::value_type edm::RefVector<C, T, F>::operator[](size_type) const [with C = edm::RefVector<std::vector<CTPPSLocalTrackLite> >; T = CTPPSLocalTrackLite; F = edm::refhelper::FindRefVectorUsingAdvance<edm::RefVector<std::vector<CTPPSLocalTrackLite> > >]'
   70 |     value_type const operator[](size_type idx) const {
      |                      ^~~~~~~~
cc1plus: some warnings being treated as errors

which is the same error as noted in #44931 (comment) and worked around in #44931 (comment) and #45304. This PR applies the same workaround to other part in this code.

Resolves cms-sw/framework-team#1004

PR validation:

Code compiles in CMSSW_14_1_ASAN_X_2024-08-21-2300

@makortel makortel changed the title Another workaround for -O3 ASAN compilation issue in CTPPSProtonReconstructionPlotter.cc Another workaround for -O3 ASAN compilation issue in CTPPSProtonReconstructionPlotter Aug 23, 2024
@cmsbuild cmsbuild added this to the CMSSW_14_1_X milestone Aug 23, 2024
@cmsbuild
Copy link
Contributor

cmsbuild commented Aug 23, 2024

cms-bot internal usage

@cmsbuild
Copy link
Contributor

@cmsbuild
Copy link
Contributor

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

It involves the following packages:

  • Validation/CTPPS (dqm)

@antoniovagnerini, @cmsbuild, @nothingface0, @rvenditti, @syuvivida, @tjavaid can you please review it and eventually sign? Thanks.
@grzanka, @missirol 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

@makortel
Copy link
Contributor Author

FYI @dan131riley

@makortel
Copy link
Contributor Author

@cmsbuild, please test

@makortel
Copy link
Contributor Author

@cmsbuild, please test for CMSSW_14_1_ASAN_X

@cmsbuild
Copy link
Contributor

-1

Failed Tests: UnitTests
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-38fea8/41106/summary.html
COMMIT: b054169
CMSSW: CMSSW_14_1_ASAN_X_2024-08-21-2300/el8_amd64_gcc12
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/45786/41106/install.sh to create a dev area with all the needed externals and cmssw changes.

Unit Tests

I found 2 errors in the following unit tests:

---> test test-das-selected-lumis had ERRORS
---> test test_MC_23_setup had ERRORS

@makortel
Copy link
Contributor Author

The unit test failure in ASAN is tracked in #45751

@makortel
Copy link
Contributor Author

@cmsbuild, please test

Let's (re-)run the normal tests too

@cmsbuild
Copy link
Contributor

-1

Failed Tests: RelVals-INPUT
Size: This PR adds an extra 12KB to repository
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-38fea8/41135/summary.html
COMMIT: b054169
CMSSW: CMSSW_14_1_X_2024-08-26-1100/el8_amd64_gcc12
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/45786/41135/install.sh to create a dev area with all the needed externals and cmssw changes.

RelVals-INPUT

  • 2024.0010012024.001001_RunZeroBias2024D_10k/step1_dasquery.log
  • 2024.0000012024.000001_RunJetMET02024D_10k/step1_dasquery.log
  • 2024.000001DAS Error
Expand to see more relval errors ...
  • 2024.001001

Comparison Summary

Summary:

@cmsbuild
Copy link
Contributor

Milestone for this pull request has been moved to CMSSW_14_2_X. Please open a backport if it should also go in to CMSSW_14_1_X.

@cmsbuild cmsbuild modified the milestones: CMSSW_14_1_X, CMSSW_14_2_X Aug 27, 2024
@iarspider
Copy link
Contributor

@cmsbuild ignore tests-rejected with ib-failure

@makortel
Copy link
Contributor Author

makortel commented Sep 3, 2024

@cms-sw/dqm-l2 Could you please review and sign? Thanks!

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.

Another workaround for -O3 ASAN compilation issue in CTPPSProtonReconstructionPlotter
3 participants