Skip to content

JetRec+JetUtils: Fix a memory leak and an uninitialized value

Alaettin Serhan Mete requested to merge amete/athena:master-jetrec-fixes into master

This MR fixes a leaking fastjet plugin (once per event) and an uninitialized value that upsets valgrind in derivation jobs, e.g. pandaid=5252722757:

27,200 bytes in 200 blocks are definitely lost in loss record 82,853 of 85,014
   at 0x4033F11: operator new(unsigned long) (vg_replace_malloc.c:422)
   by 0xBE34D2C9: JetFinder::_find(PseudoJetContainer const&, DataVector<xAOD::Jet_v1, DataVector<xAOD::IParticle, DataModel_detail::NoBase> >&, xAOD::JetInput::Type, bool, fastjet::ClusterSequence*&) const (JetFinder.cxx:144)
   by 0xBE34E606: virtual thunk to JetFinder::find(PseudoJetContainer const&, DataVector<xAOD::Jet_v1, DataVector<xAOD::IParticle, DataModel_detail::NoBase> >&, xAOD::JetInput::Type) const (JetFinder.cxx:115)
   by 0xBE368603: JetRecTool::findJets() const (JetRecTool.cxx:526)
   by 0xBE368AEC: JetRecTool::fillOutputContainer() const (JetRecTool.cxx:459)
   by 0xBE36C6B4: JetRecTool::build() const (JetRecTool.cxx:241)
   by 0xBE3674F6: JetRecTool::execute() const (JetRecTool.cxx:346)
   by 0xBE3B8D9B: JetAlgorithm::execute(EventContext const&) const (JetAlgorithm.cxx:53)

and

Conditional jump or move depends on uninitialised value(s)
   at 0xD182C713: virtual thunk to jet::JetCalcCentroid::jetCalculation() const (basic_string.tcc:212)
   by 0xD181F23A: jet::JetCaloCalculations::process(xAOD::Jet_v1 const*) const (JetCaloCalculations.cxx:251)
   by 0xD16364A8: JetCaloQualityTool::decorate(DataVector<xAOD::Jet_v1, DataVector<xAOD::IParticle, DataModel_detail::NoBase> > const&) const (JetCaloQualityTool.cxx:54)
   by 0xBE36D1FB: JetRecTool::build() const (JetRecTool.cxx:291)
   by 0xBE3674F6: JetRecTool::execute() const (JetRecTool.cxx:346)
   by 0xBE3B8D9B: JetAlgorithm::execute(EventContext const&) const (JetAlgorithm.cxx:53)
[...]
Uninitialised value was created by a stack allocation
  at 0xD1820350: CaloConstitHelpers::FlowElementExtractor::moment(xAOD::JetConstituentVector::iterator&, xAOD::CaloCluster_v1::MomentType) (JetCaloCalculations.cxx:94)

cc: @jcatmore

Merge request reports