Uploaded image for project: 'ROOT'
  1. ROOT
  2. ROOT-7019

Memory leak in TGenCollectionProxy::Generate() libRIO.so

    Details

    • Development:

      Description

      Hi,

      In ATLAS reconstruction using valgrind we find the following memory leak. in member-wise streaming

      ==5848== 1,694,163 (801,960 direct, 892,203 indirect) bytes in 2,445 blocks are definitely lost in loss record 171,671 of 171,677
      ==5848== at 0x4A06FD5: operator new(unsigned long) (vg_replace_malloc.c:324)
      ==5848== by 0x92CD97A: TGenCollectionProxy::Generate() const (in /afs/cern.ch/sw/lcg/releases/ROOT/5.34.24-64287/x86_64-slc6-gcc48-opt/lib/libRIO.so)
      ==5848== by 0xACAF00F: TBranchElement::Init(TTree*, TBranch*, char const*, TVirtualCollectionProxy*, int, int, int) (in /afs/cern.ch/sw/lcg/releases/ROOT/5.34.24-64287/x86_64-slc6-gcc48-opt/lib/libTree.so)
      ==5848== by 0xACAF8FE: TBranchElement::TBranchElement(TTree*, char const*, TVirtualCollectionProxy*, int, int, int) (in /afs/cern.ch/sw/lcg/releases/ROOT/5.34.24-64287/x86_64-slc6-gcc48-opt/lib/libTree.so)
      ==5848== by 0xAC647FB: TTree::BronchExec(char const*, char const*, void*, bool, int, int) (in /afs/cern.ch/sw/lcg/releases/ROOT/5.34.24-64287/x86_64-slc6-gcc48-opt/lib/libTree.so)
      ==5848== by 0xAC5C179: TTree::Bronch(char const*, char const*, void*, int, int) (in /afs/cern.ch/sw/lcg/releases/ROOT/5.34.24-64287/x86_64-slc6-gcc48-opt/lib/libTree.so)
      ==5848== by 0x1F42626E: pool::RootTreeContainer::addAuxBranch(std::string const&, std::type_info const*, pool::RootTreeContainer::BranchDesc&) (RootTreeContainer.cpp:999)
      ==5848== by 0x1F4282AA: pool::RootTreeContainer::writeObject(pool::DbContainerImp::_Transaction&) (RootTreeContainer.cpp:220)
      ==5848== by 0x1E44219E: pool::DbContainerImp::commitTransaction(pool::DbTransaction&) (DbContainerImp.cpp:134)
      ==5848== by 0x1E44193F: pool::DbContainerImp::transAct(pool::DbTransaction&) (DbContainerImp.cpp:171)
      ==5848== by 0x1E433A4D: pool::DbContainerObj::transAct(pool::DbTransaction&) (DbContainerObj.cpp:220)
      ==5848== by 0x1E42670F: pool::DbDatabaseObj::transAct(pool::DbTransaction&) (DbDatabaseObj.cpp:846)
      ==5848== by 0x1E44D7FA: pool::DbDatabase::transAct(pool::DbTransaction&) (DbDatabase.cpp:162)
      ==5848== by 0x1E43AB48: transAct (DbStorageSvc.cpp:133)
      ==5848== by 0x1E43AB48: pool::DbStorageSvc::endTransaction(pool::Transaction*, pool::Transaction::Action) (DbStorageSvc.cpp:673)
      ==5848== by 0x21C43A27: pool::PersistencySvc::DatabaseHandler::commitAndHoldTransaction() (DatabaseHandler.cpp:85)
      ==5848== by 0x21C4B227: pool::PersistencySvc::GlobalTransaction::commitAndHold() (GlobalTransaction.cpp:84)

      Regards
      Tony

        Attachments

          Activity

            People

            • Assignee:
              pcanal Philippe Canal
              Reporter:
              limosani Antonio Limosani
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: