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

Fix memory leak in SimpleDAFHitCollector #9043

Merged

Conversation

Dr15Jones
Copy link
Contributor

While tracing down a false postive thread-safety problem 'identified' by the static analyzer [const function returning a non-const pointer] I discovered a memory leak.

The newly created hit returned from SimpleDAFHitCollector::rightdimension() were stored in a std::vector of const pointers. That vector was passed to SiTrackerMultiRecHitUpdator which passes each individual entry to TransientTrackingRecHitBuilder::build() which then clones the hit. The original hit was never deleted.

Both the false positive and the memory leak were fixed by using std::unique_ptr<>

The new TrackingRecHit created from the call to rightdimension() was
never deleted since SiTrackerMultiRecHitUpdator does not take ownership
of the hits passed to it. Corrected the problem by using std::unique_ptr.
@cmsbuild
Copy link
Contributor

A new Pull Request was created by @Dr15Jones (Chris Jones) for CMSSW_7_5_X.

Fix memory leak in SimpleDAFHitCollector

It involves the following packages:

RecoTracker/SiTrackerMRHTools

@cmsbuild, @cvuosalo, @nclopezo, @slava77 can you please review it and eventually sign? Thanks.
@ghellwig, @makortel, @GiacomoSguazzoni, @rovere, @VinInn, @appeltel, @mschrode, @gpetruc, @cerati, @dgulhan, @venturia this is something you requested to watch as well.
You can sign-off by replying to this message having '+1' in the first line of your reply.
You can reject by replying to this message having '-1' in the first line of your reply.
If you are a L2 or a release manager you can ask for tests by saying 'please test' in the first line of a comment.
@nclopezo you are the release manager for this.
You can merge this pull request by typing 'merge' in the first line of your comment.

@Dr15Jones
Copy link
Contributor Author

please test

@cmsbuild
Copy link
Contributor

The tests are being triggered in jenkins.

@cvuosalo
Copy link
Contributor

+1

For #9043 72a2ce4

Bug fix in SimpleDAFHitCollector. Should not change monitored quantities.

The code changes are satisfactory, and Jenkins tests against baseline CMSSW_7_5_X_2015-05-10-2300 show no significant differences, as expected. The extra PRs included by Jenkins (see Jenkins result message above) have added some extraneous DQM differences unrelated to this PR.

@cmsbuild
Copy link
Contributor

This pull request is fully signed and it will be integrated in one of the next CMSSW_7_5_X IBs unless changes (tests are also fine). This pull request requires discussion in the ORP meeting before it's merged. @davidlange6, @nclopezo, @smuzaffar

@davidlange6
Copy link
Contributor

+1

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.

None yet

4 participants