-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
Fix two memory leaks in pixel and strip digitizers #25294
Conversation
The code-checks are being triggered in jenkins. |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-25294/7314 |
A new Pull Request was created by @makortel (Matti Kortelainen) for master. It involves the following packages: SimTracker/SiPixelDigitizer @cmsbuild, @civanch, @mdhildreth can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
@cmsbuild, please test |
The tests are being triggered in jenkins. |
-1 Tested at: 5805425 You can see the results of the tests here: I found follow errors while testing this PR Failed tests: Build ClangBuild
I found compilation error when building: >> Compiling edm plugin /build/cmsbld/jenkins/workspace/ib-any-integration/CMSSW_10_4_X_2018-11-19-1100/src/SimTracker/SiPixelDigitizer/plugins/SiPixelDigitizer.cc >> Compiling edm plugin /build/cmsbld/jenkins/workspace/ib-any-integration/CMSSW_10_4_X_2018-11-19-1100/src/SimTracker/SiPixelDigitizer/plugins/PreMixingSiPixelWorker.cc >> Compiling edm plugin /build/cmsbld/jenkins/workspace/ib-any-integration/CMSSW_10_4_X_2018-11-19-1100/src/SimTracker/SiPixelDigitizer/plugins/SiPixelDigitizerAlgorithm.cc >> Compiling edm plugin /build/cmsbld/jenkins/workspace/ib-any-integration/CMSSW_10_4_X_2018-11-19-1100/src/SimTracker/SiPixelDigitizer/plugins/SealModule.cc /build/cmsbld/jenkins/workspace/ib-any-integration/CMSSW_10_4_X_2018-11-19-1100/src/SimTracker/SiPixelDigitizer/plugins/SiPixelDigitizer.cc: In member function 'virtual void cms::SiPixelDigitizer::finalizeEvent(edm::Event&, const edm::EventSetup&)': /build/cmsbld/jenkins/workspace/ib-any-integration/CMSSW_10_4_X_2018-11-19-1100/src/SimTracker/SiPixelDigitizer/plugins/SiPixelDigitizer.cc:254:38: error: no match for 'operator=' (operand types are 'std::unique_ptr' and 'PileupMixingContent*') PileupInfo_ = getEventPileupInfo(); ^ In file included from /cvmfs/cms-ib.cern.ch/nweek-02551/slc6_amd64_gcc700/external/gcc/7.0.0-omkpbe2/include/c++/7.3.1/memory:80:0, from /build/cmsbld/jenkins/workspace/ib-any-integration/CMSSW_10_4_X_2018-11-19-1100/src/SimTracker/SiPixelDigitizer/plugins/SiPixelDigitizer.cc:22: /cvmfs/cms-ib.cern.ch/nweek-02551/slc6_amd64_gcc700/external/gcc/7.0.0-omkpbe2/include/c++/7.3.1/bits/unique_ptr.h:281:7: note: candidate: std::unique_ptr<_Tp, _Dp>& std::unique_ptr<_Tp, _Dp>::operator=(std::unique_ptr<_Tp, _Dp>&&) [with _Tp = PileupMixingContent; _Dp = std::default_delete]
I found compilation warning while trying to compile with clang. Command used:
See details on the summary page. |
Comparison not run due to Build errors (RelVals and Igprof tests were also skipped) |
Ok, so I forgot to compile myself... Closing while doing that. |
5805425
to
e3e1d31
Compare
The code-checks are being triggered in jenkins. |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-25294/7331 |
Pull request #25294 was updated. @cmsbuild, @civanch, @mdhildreth can you please check and sign again. |
@cmsbuild, please test Should compile now... |
The tests are being triggered in jenkins. |
Comparison job queued. |
Comparison is ready Comparison Summary:
|
+1 |
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. @davidlange6, @slava77, @smuzaffar, @fabiocos (and backports should be raised in the release meeting by the corresponding L2) |
+1 |
A valgrind log from @Dr15Jones pointed to a memory leak in pixel and strip digitizers. The function
StorePileupInformation()
is called fromMixingModule::doPileup()
once per (signal) event.The minimal fix is to use
std::unique_ptr
.Tested in 10_4_0_pre2, no changes expected.
@mdhildreth @Dr15Jones