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

[ASAN_X] Compilation failure in Validation/CTPPS: 'this' pointer is null #45991

Open
iarspider opened this issue Sep 12, 2024 · 7 comments
Open

Comments

@iarspider
Copy link
Contributor

The error fixed by #45786 is back:

>> Compiling edm plugin src/Validation/CTPPS/plugins/CTPPSTrackDistributionPlotter.cc
/data/cmsbld/jenkins/workspace/build-any-ib/w/el8_amd64_gcc12/external/gcc/12.3.1-40d504be6370b5a30e3947a6e575ca28/bin/c++ -c -DGNU_GCC -D_GNU_SOURCE -DTBB_USE_GLIBCXX_VERSION=120301 -DTBB_SUPPRESS_DEPRECATED_MESSAGES -DTBB_PREVIEW_RESUMABLE_TASKS=1 -DTBB_PREVIEW_TASK_GROUP_EXTENSIONS=1 -DBOOST_SPIRIT_THREADSAFE -DPHOENIX_THREADSAFE -DBOOST_MATH_DISABLE_STD_FPCLASSIFY -DBOOST_UUID_RANDOM_PROVIDER_FORCE_POSIX -DDD4HEP_USE_GEANT4_UNITS=1 -DCMSSW_GIT_HASH='CMSSW_14_2_ASAN_X_2024-09-11-2300' -DPROJECT_NAME='CMSSW' -DPROJECT_VERSION='CMSSW_14_2_ASAN_X_2024-09-11-2300' -Isrc -Ipoison -I/data/cmsbld/jenkins/workspace/build-any-ib/w/el8_amd64_gcc12/cms/cmssw/CMSSW_14_2_ASAN_X_2024-09-09-2300/src -I/data/cmsbld/jenkins/workspace/build-any-ib/w/el8_amd64_gcc12/cms/coral/CORAL_2_3_21-99d87c8f9668582b97ca52cb8ceddffe/include/LCG -I/data/cmsbld/jenkins/workspace/build-any-ib/w/el8_amd64_gcc12/external/dd4hep/v01-29-00-a1ce795f3d26400d4fc115c45b07f9a9/include -I/data/cmsbld/jenkins/workspace/build-any-ib/w/el8_amd64_gcc12/external/pcre/8.43-e34796d17981e9b6d174328c69446455/include -isystem/data/cmsbld/jenkins/workspace/build-any-ib/w/el8_amd64_gcc12/external/boost/1.80.0-7ac88d918a6883d593abc133ee0eb2e9/include -I/data/cmsbld/jenkins/workspace/build-any-ib/w/el8_amd64_gcc12/external/bz2lib/1.0.6-d065ccd79984efc6d4660f410e4c81de/include -isystem/data/cmsbld/jenkins/workspace/build-any-ib/w/el8_amd64_gcc12/external/clhep/2.4.7.1-17c7283747b6cbc68a3534cb987a890c/include -I/data/cmsbld/jenkins/workspace/build-any-ib/w/el8_amd64_gcc12/external/curl/7.79.0-abae79fca02c8e83ab0f428f2a91d96b/include -I/data/cmsbld/jenkins/workspace/build-any-ib/w/el8_amd64_gcc12/external/gsl/2.6-4e597de26ced42091883404fa44cef2e/include -I/data/cmsbld/jenkins/workspace/build-any-ib/w/el8_amd64_gcc12/external/hepmc/2.06.10-6a65fcd1f028c097f0f24e8fa61d1b1b/include -I/data/cmsbld/jenkins/workspace/build-any-ib/w/el8_amd64_gcc12/external/libuuid/2.34-27ce4c3579b5b1de2808ea9c4cd8ed29/include -isystem/data/cmsbld/jenkins/workspace/build-any-ib/w/el8_amd64_gcc12/lcg/root/6.30.09-5371975256c236eab45164692fccb0e2/include -isystem/data/cmsbld/jenkins/workspace/build-any-ib/w/el8_amd64_gcc12/external/tbb/v2021.9.0-2391c941213c757dc9a1835b31681235/include -I/data/cmsbld/jenkins/workspace/build-any-ib/w/el8_amd64_gcc12/external/xerces-c/3.1.3-c7b88eaa36d0408120f3c29826a04bf6/include -I/data/cmsbld/jenkins/workspace/build-any-ib/w/el8_amd64_gcc12/external/xz/5.2.5-6f3f49b07db84e10c9be594a1176c114/include -I/data/cmsbld/jenkins/workspace/build-any-ib/w/el8_amd64_gcc12/external/zlib/1.2.11-1a082fc322b0051b504cc023f21df178/include -I/data/cmsbld/jenkins/workspace/build-any-ib/w/el8_amd64_gcc12/external/eigen/3bb6a48d8c171cf20b5f8e48bfb4e424fbd4f79e-39786ff94f8aa2f543922cad720e1b32/include -I/data/cmsbld/jenkins/workspace/build-any-ib/w/el8_amd64_gcc12/external/eigen/3bb6a48d8c171cf20b5f8e48bfb4e424fbd4f79e-39786ff94f8aa2f543922cad720e1b32/include/eigen3 -I/data/cmsbld/jenkins/workspace/build-any-ib/w/el8_amd64_gcc12/external/fmt/10.2.1-deba157dd76fed17ac8b42adc60ff53f/include -I/data/cmsbld/jenkins/workspace/build-any-ib/w/el8_amd64_gcc12/external/hepmc3/3.2.7-c29b1572175a7bf793f46dc34d1f656a/include -I/data/cmsbld/jenkins/workspace/build-any-ib/w/el8_amd64_gcc12/external/md5/1.0.0-5b594b264e04ae51e893b1d69a797ec6/include -I/data/cmsbld/jenkins/workspace/build-any-ib/w/el8_amd64_gcc12/external/OpenBLAS/0.3.27-6574458f8642b299ac965c654e194a8b/include -I/data/cmsbld/jenkins/workspace/build-any-ib/w/el8_amd64_gcc12/external/tinyxml2/6.2.0-68d511689c5dbd9a0d296bbb795fa052/include -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 -march=x86-64-v2 -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-omit-frame-pointer -fsanitize=address -fsanitize=pointer-subtract -DEIGEN_DONT_PARALLELIZE -DEIGEN_MAX_ALIGN_BYTES=64 -Wno-error=unused-variable -DBOOST_DISABLE_ASSERTS -fPIC -MMD -MF tmp/el8_amd64_gcc12/src/Validation/CTPPS/plugins/ValidationCTPPSPlugins/CTPPSTrackDistributionPlotter.cc.d src/Validation/CTPPS/plugins/CTPPSTrackDistributionPlotter.cc -o tmp/el8_amd64_gcc12/src/Validation/CTPPS/plugins/ValidationCTPPSPlugins/CTPPSTrackDistributionPlotter.cc.o
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:609:68:
  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:628:68:
  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
  gmake: *** [tmp/el8_amd64_gcc12/src/Validation/CTPPS/plugins/ValidationCTPPSPlugins/CTPPSProtonReconstructionPlotter.cc.o] Error 1
 >> Building edm plugin tmp/el8_amd64_gcc12/src/Validation/CTPPS/plugins/ValidationCTPPSPlugins/libValidationCTPPSPlugins.so
/data/cmsbld/jenkins/workspace/build-any-ib/w/el8_amd64_gcc12/external/gcc/12.3.1-40d504be6370b5a30e3947a6e575ca28/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 -march=x86-64-v2 -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-omit-frame-pointer -fsanitize=address -fsanitize=pointer-subtract -DEIGEN_DONT_PARALLELIZE -DEIGEN_MAX_ALIGN_BYTES=64 -Wno-error=unused-variable -DBOOST_DISABLE_ASSERTS -shared -Wl,-E    -Wl,-z,defs     tmp/el8_amd64_gcc12/src/Validation/CTPPS/plugins/ValidationCTPPSPlugins/CTPPSAcceptancePlotter.cc.o tmp/el8_amd64_gcc12/src/Validation/CTPPS/plugins/ValidationCTPPSPlugins/CTPPSBeamSmearingValidator.cc.o tmp/el8_amd64_gcc12/src/Validation/CTPPS/plugins/ValidationCTPPSPlugins/CTPPSDirectProtonSimulationValidator.cc.o tmp/el8_amd64_gcc12/src/Validation/CTPPS/plugins/ValidationCTPPSPlugins/CTPPSHepMCDistributionPlotter.cc.o tmp/el8_amd64_gcc12/src/Validation/CTPPS/plugins/ValidationCTPPSPlugins/CTPPSLHCInfoPlotter.cc.o tmp/el8_amd64_gcc12/src/Validation/CTPPS/plugins/ValidationCTPPSPlugins/CTPPSModifiedOpticalFunctionsESSource.cc.o tmp/el8_amd64_gcc12/src/Validation/CTPPS/plugins/ValidationCTPPSPlugins/CTPPSOpticsPlotter.cc.o tmp/el8_amd64_gcc12/src/Validation/CTPPS/plugins/ValidationCTPPSPlugins/CTPPSProtonReconstructionDiffPlotter.cc.o tmp/el8_amd64_gcc12/src/Validation/CTPPS/plugins/ValidationCTPPSPlugins/CTPPSProtonReconstructionEfficiencyEstimatorData.cc.o tmp/el8_amd64_gcc12/src/Validation/CTPPS/plugins/ValidationCTPPSPlugins/CTPPSProtonReconstructionEfficiencyEstimatorMC.cc.o tmp/el8_amd64_gcc12/src/Validation/CTPPS/plugins/ValidationCTPPSPlugins/CTPPSProtonReconstructionPlotter.cc.o tmp/el8_amd64_gcc12/src/Validation/CTPPS/plugins/ValidationCTPPSPlugins/CTPPSProtonReconstructionSimulationValidator.cc.o tmp/el8_amd64_gcc12/src/Validation/CTPPS/plugins/ValidationCTPPSPlugins/CTPPSProtonReconstructionValidator.cc.o tmp/el8_amd64_gcc12/src/Validation/CTPPS/plugins/ValidationCTPPSPlugins/CTPPSTrackDistributionPlotter.cc.o -o tmp/el8_amd64_gcc12/src/Validation/CTPPS/plugins/ValidationCTPPSPlugins/libValidationCTPPSPlugins.so -Wl,-E -Wl,--hash-style=gnu -L/data/cmsbld/jenkins/workspace/build-any-ib/w/tmp/BUILDROOT/4093eb2a98025665b3ee0ad0cefed440/opt/cmssw/el8_amd64_gcc12/cms/cmssw-patch/CMSSW_14_2_ASAN_X_2024-09-11-2300/biglib/el8_amd64_gcc12 -L/data/cmsbld/jenkins/workspace/build-any-ib/w/tmp/BUILDROOT/4093eb2a98025665b3ee0ad0cefed440/opt/cmssw/el8_amd64_gcc12/cms/cmssw-patch/CMSSW_14_2_ASAN_X_2024-09-11-2300/lib/el8_amd64_gcc12 -L/data/cmsbld/jenkins/workspace/build-any-ib/w/tmp/BUILDROOT/4093eb2a98025665b3ee0ad0cefed440/opt/cmssw/el8_amd64_gcc12/cms/cmssw-patch/CMSSW_14_2_ASAN_X_2024-09-11-2300/external/el8_amd64_gcc12/lib -L/data/cmsbld/jenkins/workspace/build-any-ib/w/el8_amd64_gcc12/cms/cmssw/CMSSW_14_2_ASAN_X_2024-09-09-2300/lib/el8_amd64_gcc12 -L/data/cmsbld/jenkins/workspace/build-any-ib/w/el8_amd64_gcc12/cms/cmssw/CMSSW_14_2_ASAN_X_2024-09-09-2300/biglib/el8_amd64_gcc12 -L/data/cmsbld/jenkins/workspace/build-any-ib/w/tmp/BUILDROOT/4093eb2a98025665b3ee0ad0cefed440/opt/cmssw/el8_amd64_gcc12/cms/cmssw-patch/CMSSW_14_2_ASAN_X_2024-09-11-2300/static/el8_amd64_gcc12 -L/data/cmsbld/jenkins/workspace/build-any-ib/w/el8_amd64_gcc12/cms/cmssw/CMSSW_14_2_ASAN_X_2024-09-09-2300/static/el8_amd64_gcc12 -lCondToolsRunInfo -lCondCorePopCon -lCondFormatsDataRecord -lDataFormatsProtonReco -lCondCoreDBOutputService -lCondFormatsRunInfo -lDataFormatsCTPPSReco -lGeometryRecords -lGeometryVeryForwardGeometryBuilder -lCondCoreCondDB -lCondFormatsAlignmentRecord -lCondFormatsPPSObjects -lDataFormatsGeometrySurface -lDetectorDescriptionCore -lDetectorDescriptionDDCMS -lDataFormatsCTPPSDetId -lDataFormatsGeometryVector -lFWCoreFramework -lCondFormatsCommon -lDataFormatsCTPPSDigi -lDataFormatsDetId -lDataFormatsMath -lFWCoreCommon -lFWCoreServiceRegistry -lSimDataFormatsGeneratorProducts -lDataFormatsCommon -lFWCoreParameterSet -lFWCoreMessageLogger -lDataFormatsProvenance -lFWCoreConcurrency -lFWCorePluginManager -lFWCoreReflection -lFWCoreUtilities -lFWCoreVersion -lCondFormatsSerialization -lUtilitiesOpenSSL -lUtilitiesXerces -llcg_CoralCommon -llcg_RelationalAccess -llcg_CoralKernel -llcg_CoralBase -lDDAlign -lDDCond -lDDCore -lDDParsers -lPhysics -lHist -lMatrix -lGenVector -lMathMore -lTree -lNet -lGeom -lThread -lboost_filesystem -lMathCore -lRIO -lSmatrix -lboost_program_options -lboost_serialization -lboost_system -lCore -lboost_thread -lboost_date_time -lCLHEP -lHepMCfio -lHepMC -lpcre -lbz2 -lcurl -lgsl -luuid -ltbb -lxerces-c -llzma -lz -lfmt -lHepMC3 -lHepMC3search -lcms-md5 -lopenblas -lssl -lcrypto -lcrypt -ldl -lrt -lstdc++fs -ltinyxml2
/data/cmsbld/jenkins/workspace/build-any-ib/w/el8_amd64_gcc12/external/gcc/12.3.1-40d504be6370b5a30e3947a6e575ca28/bin/../lib/gcc/x86_64-redhat-linux-gnu/12.3.1/../../../../x86_64-redhat-linux-gnu/bin/ld.bfd: cannot find tmp/el8_amd64_gcc12/src/Validation/CTPPS/plugins/ValidationCTPPSPlugins/CTPPSProtonReconstructionPlotter.cc.o: No such file or directory
collect2: error: ld returned 1 exit status
  gmake: *** [tmp/el8_amd64_gcc12/src/Validation/CTPPS/plugins/ValidationCTPPSPlugins/libValidationCTPPSPlugins.so] Error 1
 Leaving library rule at src/Validation/CTPPS/plugins
@cmsbuild
Copy link
Contributor

cmsbuild commented Sep 12, 2024

cms-bot internal usage

@cmsbuild
Copy link
Contributor

A new Issue was created by @iarspider.

@Dr15Jones, @antoniovilela, @makortel, @mandrenguyen, @rappoccio, @sextonkennedy, @smuzaffar can you please review it and eventually sign/assign? Thanks.

cms-bot commands are listed here

@makortel
Copy link
Contributor

assign core

@cmsbuild
Copy link
Contributor

New categories assigned: core

@Dr15Jones,@makortel,@smuzaffar you have been requested to review this Pull request/Issue and eventually sign? Thanks

@makortel
Copy link
Contributor

@makortel
Copy link
Contributor

Given that this warning seems to come up somewhat randomly, and @dan131riley's discovery #44931 (comment)

The sauce thickens. If I put that assertion in all three places where we were getting the error, the error returns in all three spots.

I'm wondering if we should just build this package with -O2? It's in Validation, so minor performance loss would be acceptable.

@dan131riley
Copy link

I don't remember about this package in particular, but my recollection is that these bogus compiler errors have almost all been at the LTO stage, My intuition is that turning off LTO for these packages would be a smaller performance hit than downgrading optimization from O3 to O2. (I'd even guess that LTO is mostly useless at O2.)

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

No branches or pull requests

4 participants