GSI Helmholtzzentrum für Schwerionenforschung
Dear all, I have run valgrind on digi macro, and I have found many messages coming from memory leaks, in particular from TPC (which is the winner) but also from EMC and MVD/DSD. I would like that detector experts take a look and try to fix them, for a better stability of the code (and also to improve the performances). This is the log: Toggle Spoiler ==28629== ==28629== ERROR SUMMARY: 100000 errors from 22 contexts (suppressed: 212 from 3) ==28629== malloc/free: in use at exit: 147,295,160 bytes in 2,337,614 blocks. ==28629== malloc/free: 11,767,347 allocs, 9,429,733 frees, 1,224,016,834 bytes allocated. ==28629== For counts of detected errors, rerun with: -v ==28629== searching for pointers to 2,337,614 not-freed blocks. ==28629== checked 147,791,236 bytes. ==28629== ==28629== ==28629== 2 bytes in 1 blocks are definitely lost in loss record 6 of 469 ==28629== at 0x4004405: malloc (vg_replace_malloc.c:149) ==28629== by 0x47A1685: G__memfunc_para_setup (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== by 0x47A1DD1: G__parse_parameter_link (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== by 0x47A9E22: G__memfunc_setup_imp (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== by 0x47AA779: G__memfunc_setup (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== by 0x4D859C4: G__cpp_setup_func3() (in /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==28629== by 0x4D85D99: G__cpp_setup_funcG__MathCore (in /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==28629== by 0x4D86D91: G__cpp_setupG__MathCore (in /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==28629== by 0x4782AE4: G__call_setup_funcs (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== by 0x4782DE5: G__main (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== by 0x4784BE3: G__init_cint (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== by 0x41F5FD8: TCint::ResetAll() (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== ==28629== ==28629== 46 bytes in 1 blocks are definitely lost in loss record 114 of 469 ==28629== at 0x4004405: malloc (vg_replace_malloc.c:149) ==28629== by 0x4787D7A: G__register_sharedlib (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== by 0x4813684: G__RegisterLibrary (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== by 0x4782953: G__add_setup_func (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== by 0x4E373E0: G__cpp_setup_initG__Rint::G__cpp_setup_initG__Rint() (in /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==28629== by 0x4E36CF6: __static_initialization_and_destruction_0(int, int) (in /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==28629== by 0x4E36D58: _GLOBAL__I__ZN4ROOT20GenerateInitInstanceEPK5TRint (in /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==28629== by 0x4E37B08: (within /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==28629== by 0x4E2151C: (within /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==28629== by 0x76B897: _dl_init (in /lib/ld-2.3.4.so) ==28629== by 0x75F7FE: (within /lib/ld-2.3.4.so) ==28629== ==28629== ==28629== 60 (28 direct, 32 indirect) bytes in 1 blocks are definitely lost in loss record 115 of 469 ==28629== at 0x4004405: malloc (vg_replace_malloc.c:149) ==28629== by 0x47AA09B: G__memfunc_setup_imp (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== by 0x47AA779: G__memfunc_setup (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== by 0x4D859C4: G__cpp_setup_func3() (in /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==28629== by 0x4D85D99: G__cpp_setup_funcG__MathCore (in /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==28629== by 0x4D86D91: G__cpp_setupG__MathCore (in /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==28629== by 0x4782AE4: G__call_setup_funcs (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== by 0x4D8EBB8: G__cpp_setup_initG__MathCore::G__cpp_setup_initG__MathCore() (in /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==28629== by 0x4D87478: __static_initialization_and_destruction_0(int, int) (in /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==28629== by 0x4D87504: _GLOBAL__I__ZN4ROOT20GenerateInitInstanceEPK7TRandom (in /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==28629== by 0x4DBD630: (within /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==28629== by 0x4CC1BFC: (within /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==28629== ==28629== ==28629== 60 bytes in 1 blocks are definitely lost in loss record 123 of 469 ==28629== at 0x4004405: malloc (vg_replace_malloc.c:149) ==28629== by 0x4787D3C: G__register_sharedlib (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== by 0x4813684: G__RegisterLibrary (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== by 0x4782953: G__add_setup_func (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== by 0x4E373E0: G__cpp_setup_initG__Rint::G__cpp_setup_initG__Rint() (in /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==28629== by 0x4E36CF6: __static_initialization_and_destruction_0(int, int) (in /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==28629== by 0x4E36D58: _GLOBAL__I__ZN4ROOT20GenerateInitInstanceEPK5TRint (in /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==28629== by 0x4E37B08: (within /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==28629== by 0x4E2151C: (within /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==28629== by 0x76B897: _dl_init (in /lib/ld-2.3.4.so) ==28629== by 0x75F7FE: (within /lib/ld-2.3.4.so) ==28629== ==28629== ==28629== 200 bytes in 1 blocks are definitely lost in loss record 140 of 469 ==28629== at 0x4004BBE: operator new[](unsigned) (vg_replace_malloc.c:197) ==28629== by 0x41A6792: TArrayI::Set(int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x4136319: TColor::SetPalette(int, int*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x417B5C1: TStyle::SetPalette(int, int*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x417BB3B: TStyle::Reset(char const*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x417C804: TStyle::TStyle(char const*, char const*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x417D00B: TStyle::BuildStyles() (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x416EDCE: TROOT::TROOT(char const*, char const*, void (**)()) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x416F0E1: ROOT::GetROOT() (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x4171FA4: _GLOBAL__I_gROOTMutex (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x44E265C: (within /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x41074AC: (within /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== ==28629== ==28629== 272 (16 direct, 256 indirect) bytes in 1 blocks are definitely lost in loss record 147 of 469 ==28629== at 0x4004790: operator new(unsigned) (vg_replace_malloc.c:164) ==28629== by 0x41B81AD: TList::NewLink(TObject*, TObjLink*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x41B746C: TList::AddLast(TObject*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x4162468: TList::Add(TObject*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x41B8E2D: TList::Streamer(TBuffer&) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x5F046D5: TKey::ReadObj() (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==28629== by 0x5EE0083: TDirectoryFile::Get(char const*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==28629== by 0x9005784: FairRootManager::OpenInFile(TFile*, bool) (FairRootManager.cxx:106) ==28629== by 0x9013117: FairRunAna::Init() (FairRunAna.cxx:101) ==28629== by 0x9059859: G__FairDict_792_0_4(G__value*, char const*, G__param*, int) (FairDict.cxx:11411) ==28629== by 0x46FA1D2: Cint::G__ExceptionWrapper(int (*)(G__value*, char const*, G__param*, int), G__value*, char*, G__param*, int) (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== by 0x4792A9F: G__execute_call (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== ==28629== ==28629== 20 bytes in 1 blocks are definitely lost in loss record 152 of 469 ==28629== at 0x4004790: operator new(unsigned) (vg_replace_malloc.c:164) ==28629== by 0x41BC073: TObjArray::MakeIterator(bool) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x9279265: PndFieldCreator::createFairField() (PndFieldCreator.cxx:98) ==28629== by 0x9013B29: FairRunAna::Init() (FairRunAna.cxx:213) ==28629== by 0x9059859: G__FairDict_792_0_4(G__value*, char const*, G__param*, int) (FairDict.cxx:11411) ==28629== by 0x46FA1D2: Cint::G__ExceptionWrapper(int (*)(G__value*, char const*, G__param*, int), G__value*, char*, G__param*, int) (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== by 0x4792A9F: G__execute_call (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== by 0x4792DB1: G__call_cppfunc (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== by 0x47748F2: G__interpret_func (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== by 0x4760F27: G__getfunction (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== by 0x484A338: G__getstructmem (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== by 0x4841F75: G__getvariable (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== ==28629== ==28629== 36 bytes in 3 blocks are possibly lost in loss record 174 of 469 ==28629== at 0x4004790: operator new(unsigned) (vg_replace_malloc.c:164) ==28629== by 0x98EC8C1: PndTpcElectronicsTask::Exec(char const*) (PndTpcElectronicsTask.cxx:176) ==28629== by 0x4193924: TTask::ExecuteTasks(char const*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x4193720: TTask::ExecuteTask(char const*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x9014083: FairRunAna::Run(int, int) (FairRunAna.cxx:278) ==28629== by 0x9059929: G__FairDict_792_0_5(G__value*, char const*, G__param*, int) (FairDict.cxx:11420) ==28629== by 0x46FA1D2: Cint::G__ExceptionWrapper(int (*)(G__value*, char const*, G__param*, int), G__value*, char*, G__param*, int) (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== by 0x4792A9F: G__execute_call (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== by 0x4792DB1: G__call_cppfunc (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== by 0x47748F2: G__interpret_func (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== by 0x4760F27: G__getfunction (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== by 0x484A338: G__getstructmem (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== ==28629== ==28629== 60 bytes in 3 blocks are definitely lost in loss record 202 of 469 ==28629== at 0x4004790: operator new(unsigned) (vg_replace_malloc.c:164) ==28629== by 0xA07A24A: PndSdsStripClusterTask::SetCalculators() (PndSdsStripClusterTask.cxx:119) ==28629== by 0xA1E873C: PndMvdStripClusterTask::SetCalculators() (PndMvdStripClusterTask.cxx:77) ==28629== by 0xA07A549: PndSdsStripClusterTask::Init() (PndSdsStripClusterTask.cxx:157) ==28629== by 0x9019F6A: FairTask::InitTask() (FairTask.cxx:41) ==28629== by 0x901A305: FairTask::InitTasks() (FairTask.cxx:111) ==28629== by 0x901A006: FairTask::InitTask() (FairTask.cxx:48) ==28629== by 0x901A305: FairTask::InitTasks() (FairTask.cxx:111) ==28629== by 0x901A006: FairTask::InitTask() (FairTask.cxx:48) ==28629== by 0x9013B40: FairRunAna::Init() (FairRunAna.cxx:215) ==28629== by 0x9059859: G__FairDict_792_0_4(G__value*, char const*, G__param*, int) (FairDict.cxx:11411) ==28629== by 0x46FA1D2: Cint::G__ExceptionWrapper(int (*)(G__value*, char const*, G__param*, int), G__value*, char*, G__param*, int) (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== ==28629== ==28629== 108 bytes in 2 blocks are possibly lost in loss record 218 of 469 ==28629== at 0x4004790: operator new(unsigned) (vg_replace_malloc.c:164) ==28629== by 0x98DDE77: __gnu_cxx::new_allocator<PndTpcDigi*>::allocate(unsigned, void const*) (new_allocator.h:81) ==28629== by 0x98DDC54: std::_Vector_base<PndTpcDigi*, std::allocator<PndTpcDigi*> >::_M_allocate(unsigned) (stl_vector.h:113) ==28629== by 0x990A2E6: std::_Vector_base<PndTpcDigi*, std::allocator<PndTpcDigi*> >::_Vector_base(unsigned, std::allocator<PndTpcDigi*> const&) (stl_vector.h:100) ==28629== by 0x990A149: std::vector<PndTpcDigi*, std::allocator<PndTpcDigi*> >::vector(std::vector<PndTpcDigi*, std::allocator<PndTpcDigi*> > const&) (stl_vector.h:221) ==28629== by 0x9909EE8: ppstate_output::heartbeat() (TORPPState_Output.cxx:40) ==28629== by 0x990709D: padprocessor::heartbeat() (TORPadProcessor.cxx:105) ==28629== by 0x990C67D: PndTpcSectorProcessor::process() (PndTpcSectorProcessor.cxx:117) ==28629== by 0x98F2258: PndTpcClusterFinder::process(std::vector<PndTpcDigi*, std::allocator<PndTpcDigi*> >&) (PndTpcClusterFinder.cxx:118) ==28629== by 0x9900AEF: PndTpcClusterFinderTask::Exec(char const*) (PndTpcClusterFinderTask.cxx:152) ==28629== by 0x4193924: TTask::ExecuteTasks(char const*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x4193720: TTask::ExecuteTask(char const*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== ==28629== ==28629== 395 bytes in 8 blocks are definitely lost in loss record 266 of 469 ==28629== at 0x4004BBE: operator new[](unsigned) (vg_replace_malloc.c:197) ==28629== by 0x417381B: TStringRef::GetRep(int, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x4173919: TString::Streamer(TBuffer&) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x5F8F948: int TStreamerInfo::ReadBuffer<char**>(TBuffer&, char** const&, int, int, int, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==28629== by 0x5F1AA08: TStreamerInfo::ReadBufferClones(TBuffer&, TClonesArray*, int, int, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==28629== by 0x73CB9E7: TBranchElement::ReadLeaves(TBuffer&) (in /home/spataro/jan10/tools/root/lib/libTree.so.5.26) ==28629== by 0x73C5A13: TBranch::GetEntry(long long, int) (in /home/spataro/jan10/tools/root/lib/libTree.so.5.26) ==28629== by 0x73C7DA6: TBranchElement::GetEntry(long long, int) (in /home/spataro/jan10/tools/root/lib/libTree.so.5.26) ==28629== by 0x73C7D42: TBranchElement::GetEntry(long long, int) (in /home/spataro/jan10/tools/root/lib/libTree.so.5.26) ==28629== by 0x741458C: TTree::GetEntry(long long, int) (in /home/spataro/jan10/tools/root/lib/libTree.so.5.26) ==28629== by 0x73E0E26: TChain::GetEntry(long long, int) (in /home/spataro/jan10/tools/root/lib/libTree.so.5.26) ==28629== by 0x9007A27: FairRootManager::ReadEvent(int) (FairRootManager.cxx:479) ==28629== ==28629== ==28629== 404 bytes in 1 blocks are possibly lost in loss record 269 of 469 ==28629== at 0x4004BBE: operator new[](unsigned) (vg_replace_malloc.c:197) ==28629== by 0x41B5E05: THashTable::THashTable(int, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x41B5280: THashList::THashList(int, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x5EDDA1C: TDirectoryFile::Build(TFile*, TDirectory*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==28629== by 0x5EF1CA3: TFile::TFile(char const*, char const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==28629== by 0x9273C04: PndFieldMap::ReadRootFile(char const*, char const*) (PndFieldMap.cxx:511) ==28629== by 0x9270EE8: PndFieldMap::Init() (PndFieldMap.cxx:114) ==28629== by 0x9283791: PndMultiField::Init() (PndMultiField.cxx:137) ==28629== by 0x927985A: PndFieldCreator::createFairField() (PndFieldCreator.cxx:158) ==28629== by 0x9013B29: FairRunAna::Init() (FairRunAna.cxx:213) ==28629== by 0x9059859: G__FairDict_792_0_4(G__value*, char const*, G__param*, int) (FairDict.cxx:11411) ==28629== by 0x46FA1D2: Cint::G__ExceptionWrapper(int (*)(G__value*, char const*, G__param*, int), G__value*, char*, G__param*, int) (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== ==28629== ==28629== 512 bytes in 1 blocks are possibly lost in loss record 281 of 469 ==28629== at 0x4004790: operator new(unsigned) (vg_replace_malloc.c:164) ==28629== by 0x4D8E55F: __gnu_cxx::new_allocator<double>::allocate(unsigned, void const*) (in /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==28629== by 0x4D8DE10: std::_Vector_base<double, std::allocator<double> >::_M_allocate(unsigned) (in /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==28629== by 0x4D8D728: std::_Vector_base<double, std::allocator<double> >::_Vector_base(unsigned, std::allocator<double> const&) (in /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==28629== by 0x4D8BB8E: std::vector<double, std::allocator<double> >::vector(unsigned, double const&, std::allocator<double> const&) (in /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==28629== by 0x947994F: PndEmcWaveform::PndEmcWaveform(int, long, long, int) (PndEmcWaveform.cxx:55) ==28629== by 0x949C5BF: PndEmcWaveformToDigi::Init() (PndEmcWaveformToDigi.cxx:135) ==28629== by 0x9019F6A: FairTask::InitTask() (FairTask.cxx:41) ==28629== by 0x901A305: FairTask::InitTasks() (FairTask.cxx:111) ==28629== by 0x901A006: FairTask::InitTask() (FairTask.cxx:48) ==28629== by 0x9013B40: FairRunAna::Init() (FairRunAna.cxx:215) ==28629== by 0x9059859: G__FairDict_792_0_4(G__value*, char const*, G__param*, int) (FairDict.cxx:11411) ==28629== ==28629== ==28629== 4,398 bytes in 102 blocks are definitely lost in loss record 363 of 469 ==28629== at 0x4004BBE: operator new[](unsigned) (vg_replace_malloc.c:197) ==28629== by 0x4176EFE: StrDup(char const*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x4186CF4: TSystem::Which(char const*, char const*, EAccessMode) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x420BC87: TUnixSystem::DynamicPathName(char const*, bool) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x4333642: G__G__Base2_237_0_118(G__value*, char const*, G__param*, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x46FA1D2: Cint::G__ExceptionWrapper(int (*)(G__value*, char const*, G__param*, int), G__value*, char*, G__param*, int) (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== by 0x4792A9F: G__execute_call (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== by 0x4792DB1: G__call_cppfunc (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== by 0x47748F2: G__interpret_func (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== by 0x4760F27: G__getfunction (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== by 0x484A338: G__getstructmem (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== by 0x4841F75: G__getvariable (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== ==28629== ==28629== 8,388 (2,952 direct, 5,436 indirect) bytes in 246 blocks are definitely lost in loss record 367 of 469 ==28629== at 0x4004790: operator new(unsigned) (vg_replace_malloc.c:164) ==28629== by 0x9909ECD: ppstate_output::heartbeat() (TORPPState_Output.cxx:40) ==28629== by 0x990709D: padprocessor::heartbeat() (TORPadProcessor.cxx:105) ==28629== by 0x990C67D: PndTpcSectorProcessor::process() (PndTpcSectorProcessor.cxx:117) ==28629== by 0x98F2258: PndTpcClusterFinder::process(std::vector<PndTpcDigi*, std::allocator<PndTpcDigi*> >&) (PndTpcClusterFinder.cxx:118) ==28629== by 0x9900AEF: PndTpcClusterFinderTask::Exec(char const*) (PndTpcClusterFinderTask.cxx:152) ==28629== by 0x4193924: TTask::ExecuteTasks(char const*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x4193720: TTask::ExecuteTask(char const*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x9014083: FairRunAna::Run(int, int) (FairRunAna.cxx:278) ==28629== by 0x9059929: G__FairDict_792_0_5(G__value*, char const*, G__param*, int) (FairDict.cxx:11420) ==28629== by 0x46FA1D2: Cint::G__ExceptionWrapper(int (*)(G__value*, char const*, G__param*, int), G__value*, char*, G__param*, int) (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== by 0x4792A9F: G__execute_call (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== ==28629== ==28629== 8,012 (3,680 direct, 4,332 indirect) bytes in 92 blocks are definitely lost in loss record 376 of 469 ==28629== at 0x4004790: operator new(unsigned) (vg_replace_malloc.c:164) ==28629== by 0x8FEEB8A: __gnu_cxx::new_allocator<std::_Rb_tree_node<FairLink> >::allocate(unsigned, void const*) (new_allocator.h:81) ==28629== by 0x8FEEB59: std::_Rb_tree<FairLink, FairLink, std::_Identity<FairLink>, std::less<FairLink>, std::allocator<FairLink> >::_M_get_node() (stl_tree.h:356) ==28629== by 0x8FEEA56: std::_Rb_tree<FairLink, FairLink, std::_Identity<FairLink>, std::less<FairLink>, std::allocator<FairLink> >::_M_create_node(FairLink const&) (stl_tree.h:365) ==28629== by 0x8FEE99C: std::_Rb_tree<FairLink, FairLink, std::_Identity<FairLink>, std::less<FairLink>, std::allocator<FairLink> >::_M_insert(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, FairLink const&) (stl_tree.h:809) ==28629== by 0x8FEE839: std::_Rb_tree<FairLink, FairLink, std::_Identity<FairLink>, std::less<FairLink>, std::allocator<FairLink> >::insert_unique(FairLink const&) (stl_tree.h:925) ==28629== by 0x8FEE6D2: std::set<FairLink, std::less<FairLink>, std::allocator<FairLink> >::insert(FairLink const&) (stl_set.h:314) ==28629== by 0x8FEFBC1: FairMultiLinkedData::InsertLink(FairLink) (FairMultiLinkedData.cxx:137) ==28629== by 0x8FF24BB: FairMultiLinkedData::AddLink(FairLink, bool, float) (FairMultiLinkedData.cxx:123) ==28629== by 0x91E47EC: PndMdtTrk::SetHitIndex(int, int) (PndMdtTrk.h:98) ==28629== by 0xA6B512A: PndMdtTrkProducer::Exec(char const*) (PndMdtTrkProducer.cxx:320) ==28629== by 0x4193924: TTask::ExecuteTasks(char const*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== ==28629== ==28629== 12,580 bytes in 75 blocks are possibly lost in loss record 394 of 469 ==28629== at 0x4004790: operator new(unsigned) (vg_replace_malloc.c:164) ==28629== by 0x4172F35: TStorage::ObjectAlloc(unsigned) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x4205179: TObject::operator new(unsigned) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x42E5965: ROOT::TQObjectInitBehavior::CreateClass(char const*, short, std::type_info const&, TVirtualIsAProxy*, void (*)(void*, TMemberInspector&, char*), char const*, char const*, int, int) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x41DDBD8: ROOT::TGenericClassInfo::GetClass() (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x70E45BB: TPad::Dictionary() (in /home/spataro/jan10/tools/root/lib/libGpad.so.5.26) ==28629== by 0x41711FE: TROOT::LoadClass(char const*, bool) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x415533C: TPluginHandler::LoadPlugin() (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x4127C68: TApplication::LoadGraphicsLibs() (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x41264B5: TApplication::InitializeGraphics() (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x41878B9: TSystem::Load(char const*, char const*, bool) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x420844B: TUnixSystem::Load(char const*, char const*, bool) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== ==28629== ==28629== 17,620 bytes in 150 blocks are possibly lost in loss record 401 of 469 ==28629== at 0x4004BBE: operator new[](unsigned) (vg_replace_malloc.c:197) ==28629== by 0x5F0EA2F: TStreamerInfo::Compile() (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==28629== by 0x5F18FDF: TStreamerInfo::BuildOld() (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==28629== by 0x5ED88A6: TBufferFile::ReadClassBuffer(TClass const*, void*, int, unsigned, unsigned, TClass const*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==28629== by 0x7C872B1: TLorentzVector::Streamer(TBuffer&) (in /home/spataro/jan10/tools/root/lib/libPhysics.so.5.26) ==28629== by 0x5F915CE: int TStreamerInfo::ReadBuffer<char**>(TBuffer&, char** const&, int, int, int, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==28629== by 0x5ED8A92: TBufferFile::ReadClassBuffer(TClass const*, void*, TClass const*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==28629== by 0xA594EE3: PndTof::Streamer(TBuffer&) (PndTofDict.cxx:379) ==28629== by 0x41C9A1F: TClass::Streamer(void*, TBuffer&, TClass const*) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x5ED6A13: TBufferFile::ReadObjectAny(TClass const*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==28629== by 0x41BA8D8: TObjArray::Streamer(TBuffer&) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x41C9A1F: TClass::Streamer(void*, TBuffer&, TClass const*) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== ==28629== ==28629== 18,560 bytes in 43 blocks are possibly lost in loss record 402 of 469 ==28629== at 0x4004790: operator new(unsigned) (vg_replace_malloc.c:164) ==28629== by 0x98F0275: __gnu_cxx::new_allocator<PndTpcSignal*>::allocate(unsigned, void const*) (new_allocator.h:81) ==28629== by 0x98EF88A: std::_Vector_base<PndTpcSignal*, std::allocator<PndTpcSignal*> >::_M_allocate(unsigned) (stl_vector.h:113) ==28629== by 0x98EE7EE: std::vector<PndTpcSignal*, std::allocator<PndTpcSignal*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<PndTpcSignal**, std::vector<PndTpcSignal*, std::allocator<PndTpcSignal*> > >, PndTpcSignal* const&) (vector.tcc:244) ==28629== by 0x98EDBD3: std::vector<PndTpcSignal*, std::allocator<PndTpcSignal*> >::push_back(PndTpcSignal* const&) (stl_vector.h:564) ==28629== by 0x98EC96F: PndTpcElectronicsTask::Exec(char const*) (PndTpcElectronicsTask.cxx:177) ==28629== by 0x4193924: TTask::ExecuteTasks(char const*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x4193720: TTask::ExecuteTask(char const*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x9014083: FairRunAna::Run(int, int) (FairRunAna.cxx:278) ==28629== by 0x9059929: G__FairDict_792_0_5(G__value*, char const*, G__param*, int) (FairDict.cxx:11420) ==28629== by 0x46FA1D2: Cint::G__ExceptionWrapper(int (*)(G__value*, char const*, G__param*, int), G__value*, char*, G__param*, int) (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== by 0x4792A9F: G__execute_call (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== ==28629== ==28629== 172,224 (29,484 direct, 142,740 indirect) bytes in 2,457 blocks are definitely lost in loss record 427 of 469 ==28629== at 0x4004790: operator new(unsigned) (vg_replace_malloc.c:164) ==28629== by 0x98EC8C1: PndTpcElectronicsTask::Exec(char const*) (PndTpcElectronicsTask.cxx:176) ==28629== by 0x4193924: TTask::ExecuteTasks(char const*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x4193720: TTask::ExecuteTask(char const*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x9014083: FairRunAna::Run(int, int) (FairRunAna.cxx:278) ==28629== by 0x9059929: G__FairDict_792_0_5(G__value*, char const*, G__param*, int) (FairDict.cxx:11420) ==28629== by 0x46FA1D2: Cint::G__ExceptionWrapper(int (*)(G__value*, char const*, G__param*, int), G__value*, char*, G__param*, int) (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== by 0x4792A9F: G__execute_call (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== by 0x4792DB1: G__call_cppfunc (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== by 0x47748F2: G__interpret_func (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== by 0x4760F27: G__getfunction (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== by 0x484A338: G__getstructmem (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==28629== ==28629== ==28629== 1,092,492 bytes in 23,879 blocks are possibly lost in loss record 453 of 469 ==28629== at 0x4004BBE: operator new[](unsigned) (vg_replace_malloc.c:197) ==28629== by 0x417381B: TStringRef::GetRep(int, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x4173B13: TString::TString(char const*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x41AEDD7: TClassTable::Add(char const*, short, std::type_info const&, void (*)(), int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x41AEE60: ROOT::AddClass(char const*, short, std::type_info const&, void (*)(), int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x41E0144: ROOT::TDefaultInitBehavior::Register(char const*, short, std::type_info const&, void (*)(), int) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x41DD2ED: ROOT::TGenericClassInfo::Init(int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x41DEE9D: ROOT::TGenericClassInfo::TGenericClassInfo(char const*, int, char const*, int, std::type_info const&, ROOT::TInitBehavior const*, void (*)(), TVirtualIsAProxy*, int, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x4E30A89: ROOT::GenerateInitInstanceLocal(TRint const*) (in /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==28629== by 0x4E36CAD: __static_initialization_and_destruction_0(int, int) (in /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==28629== by 0x4E36D58: _GLOBAL__I__ZN4ROOT20GenerateInitInstanceEPK5TRint (in /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==28629== by 0x4E37B08: (within /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==28629== ==28629== ==28629== 1,365,098 (1,161,096 direct, 204,002 indirect) bytes in 7,984 blocks are definitely lost in loss record 455 of 469 ==28629== at 0x4004790: operator new(unsigned) (vg_replace_malloc.c:164) ==28629== by 0x4172F35: TStorage::ObjectAlloc(unsigned) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x4205179: TObject::operator new(unsigned) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x66D1DFD: ROOT::new_TGeoHMatrix(void*) (in /home/spataro/jan10/tools/root/lib/libGeom.so.5.26) ==28629== by 0x41CBA8C: TClass::New(TClass::ENewType) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x5ED69D7: TBufferFile::ReadObjectAny(TClass const*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==28629== by 0x5ED5400: TBufferFile::ReadFastArray(void**, TClass const*, int, bool, TMemberStreamer*, TClass const*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==28629== by 0x5F8F480: int TStreamerInfo::ReadBuffer<char**>(TBuffer&, char** const&, int, int, int, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==28629== by 0x5ED8A92: TBufferFile::ReadClassBuffer(TClass const*, void*, TClass const*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==28629== by 0x66DEDCD: TGeoNodeMatrix::Streamer(TBuffer&) (in /home/spataro/jan10/tools/root/lib/libGeom.so.5.26) ==28629== by 0x41C9A1F: TClass::Streamer(void*, TBuffer&, TClass const*) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x5ED6A13: TBufferFile::ReadObjectAny(TClass const*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==28629== ==28629== ==28629== 10,082,749 bytes in 546,993 blocks are possibly lost in loss record 465 of 469 ==28629== at 0x4004790: operator new(unsigned) (vg_replace_malloc.c:164) ==28629== by 0xC17971: std::string::_Rep::_S_create(unsigned, unsigned, std::allocator<char> const&) (in /usr/lib/libstdc++.so.6.0.3) ==28629== by 0xC19DF4: (within /usr/lib/libstdc++.so.6.0.3) ==28629== by 0xC19F01: std::string::string(char const*, std::allocator<char> const&) (in /usr/lib/libstdc++.so.6.0.3) ==28629== by 0x9906FED: padprocessor::reset() (TORPadProcessor.cxx:99) ==28629== by 0x990C8D2: PndTpcSectorProcessor::reset() (PndTpcSectorProcessor.cxx:176) ==28629== by 0x98F2273: PndTpcClusterFinder::process(std::vector<PndTpcDigi*, std::allocator<PndTpcDigi*> >&) (PndTpcClusterFinder.cxx:119) ==28629== by 0x9900AEF: PndTpcClusterFinderTask::Exec(char const*) (PndTpcClusterFinderTask.cxx:152) ==28629== by 0x4193924: TTask::ExecuteTasks(char const*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x4193720: TTask::ExecuteTask(char const*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==28629== by 0x9014083: FairRunAna::Run(int, int) (FairRunAna.cxx:278) ==28629== by 0x9059929: G__FairDict_792_0_5(G__value*, char const*, G__param*, int) (FairDict.cxx:11420) ==28629== ==28629== LEAK SUMMARY: ==28629== definitely lost: 1,202,437 bytes in 10,899 blocks. ==28629== indirectly lost: 356,798 bytes in 10,995 blocks. ==28629== possibly lost: 11,225,061 bytes in 571,147 blocks. ==28629== still reachable: 134,510,864 bytes in 1,744,573 blocks. ==28629== suppressed: 0 bytes in 0 blocks. ==28629== Reachable blocks (those to which a pointer was found) are not shown. ==28629== To see them, rerun with: --show-reachable=yes The last one from the TPC Cluster Finder seems a big guy! Many thanks
Hello Stefano, thanks for pointing this out. It's being investigated. Cheers Felix
Hi, I have seen some changes during these days. I have cleaned a bit emc, Ralf has fixed sds and mvd, Felix has cleaned something for tpc. I leave here what is remaining with svn trunk from 18:30 of today (digi is still crashing): INIT (TpcPadPlane): Toggle Spoiler Warning in <PndTpcPadPlane::PndTpcPadPlane>: Reading file... Warning in <PndTpcPadPlane::ReadFromFile>: Reading file /home/spataro/test/trunk/tpc/pndhexplane0.15.dat ==12251== Conditional jump or move depends on uninitialised value(s) ==12251== at 0x98C5627: PndTpcPadPlane::AddPad(PndTpcPad*) (PndTpcPadPlane.cxx:182) ==12251== by 0x98C5EB7: PndTpcPadPlane::ReadLine(char*, PndTpcPadShapePool const*) (PndTpcPadPlane.cxx:294) ==12251== by 0x98C5BEA: PndTpcPadPlane::ReadFromFile(char const*, PndTpcPadShapePool const*) (PndTpcPadPlane.cxx:228) ==12251== by 0x98C4C51: PndTpcPadPlane::PndTpcPadPlane(char const*, PndTpcPadShapePool const*) (PndTpcPadPlane.cxx:104) ==12251== by 0x98B411E: PndTpcDigiPar::getPadPlane() (PndTpcDigiPar.cxx:210) ==12251== by 0x98D1A90: PndTpcPadResponseTask::Init() (PndTpcPadResponseTask.cxx:107) ==12251== by 0x9019F9E: FairTask::InitTask() (FairTask.cxx:41) ==12251== by 0x901A339: FairTask::InitTasks() (FairTask.cxx:111) ==12251== by 0x901A03A: FairTask::InitTask() (FairTask.cxx:48) ==12251== by 0x9013B74: FairRunAna::Init() (FairRunAna.cxx:215) ==12251== by 0x905988D: G__FairDict_792_0_4(G__value*, char const*, G__param*, int) (FairDict.cxx:11411) ==12251== by 0x46FA1D2: Cint::G__ExceptionWrapper(int (*)(G__value*, char const*, G__param*, int), G__value*, char*, G__param*, int) (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) EXEC: (several TPC still) Toggle Spoiler ==12251== ==12251== ERROR SUMMARY: 100000 errors from 20 contexts (suppressed: 212 from 3) ==12251== malloc/free: in use at exit: 147,291,891 bytes in 2,337,238 blocks. ==12251== malloc/free: 11,765,125 allocs, 9,427,887 frees, 1,224,043,215 bytes allocated. ==12251== For counts of detected errors, rerun with: -v ==12251== searching for pointers to 2,337,238 not-freed blocks. ==12251== checked 147,778,584 bytes. ==12251== ==12251== ==12251== 2 bytes in 1 blocks are definitely lost in loss record 6 of 465 ==12251== at 0x4004405: malloc (vg_replace_malloc.c:149) ==12251== by 0x47A1685: G__memfunc_para_setup (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== by 0x47A1DD1: G__parse_parameter_link (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== by 0x47A9E22: G__memfunc_setup_imp (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== by 0x47AA779: G__memfunc_setup (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== by 0x4D859C4: G__cpp_setup_func3() (in /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==12251== by 0x4D85D99: G__cpp_setup_funcG__MathCore (in /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==12251== by 0x4D86D91: G__cpp_setupG__MathCore (in /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==12251== by 0x4782AE4: G__call_setup_funcs (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== by 0x4782DE5: G__main (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== by 0x4784BE3: G__init_cint (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== by 0x41F5FD8: TCint::ResetAll() (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== ==12251== ==12251== 46 bytes in 1 blocks are definitely lost in loss record 114 of 465 ==12251== at 0x4004405: malloc (vg_replace_malloc.c:149) ==12251== by 0x4787D7A: G__register_sharedlib (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== by 0x4813684: G__RegisterLibrary (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== by 0x4782953: G__add_setup_func (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== by 0x4E373E0: G__cpp_setup_initG__Rint::G__cpp_setup_initG__Rint() (in /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==12251== by 0x4E36CF6: __static_initialization_and_destruction_0(int, int) (in /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==12251== by 0x4E36D58: _GLOBAL__I__ZN4ROOT20GenerateInitInstanceEPK5TRint (in /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==12251== by 0x4E37B08: (within /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==12251== by 0x4E2151C: (within /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==12251== by 0x76B897: _dl_init (in /lib/ld-2.3.4.so) ==12251== by 0x75F7FE: (within /lib/ld-2.3.4.so) ==12251== ==12251== ==12251== 60 (28 direct, 32 indirect) bytes in 1 blocks are definitely lost in loss record 115 of 465 ==12251== at 0x4004405: malloc (vg_replace_malloc.c:149) ==12251== by 0x47AA09B: G__memfunc_setup_imp (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== by 0x47AA779: G__memfunc_setup (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== by 0x4D859C4: G__cpp_setup_func3() (in /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==12251== by 0x4D85D99: G__cpp_setup_funcG__MathCore (in /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==12251== by 0x4D86D91: G__cpp_setupG__MathCore (in /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==12251== by 0x4782AE4: G__call_setup_funcs (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== by 0x4D8EBB8: G__cpp_setup_initG__MathCore::G__cpp_setup_initG__MathCore() (in /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==12251== by 0x4D87478: __static_initialization_and_destruction_0(int, int) (in /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==12251== by 0x4D87504: _GLOBAL__I__ZN4ROOT20GenerateInitInstanceEPK7TRandom (in /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==12251== by 0x4DBD630: (within /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==12251== by 0x4CC1BFC: (within /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==12251== ==12251== ==12251== 60 bytes in 1 blocks are definitely lost in loss record 122 of 465 ==12251== at 0x4004405: malloc (vg_replace_malloc.c:149) ==12251== by 0x4787D3C: G__register_sharedlib (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== by 0x4813684: G__RegisterLibrary (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== by 0x4782953: G__add_setup_func (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== by 0x4E373E0: G__cpp_setup_initG__Rint::G__cpp_setup_initG__Rint() (in /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==12251== by 0x4E36CF6: __static_initialization_and_destruction_0(int, int) (in /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==12251== by 0x4E36D58: _GLOBAL__I__ZN4ROOT20GenerateInitInstanceEPK5TRint (in /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==12251== by 0x4E37B08: (within /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==12251== by 0x4E2151C: (within /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==12251== by 0x76B897: _dl_init (in /lib/ld-2.3.4.so) ==12251== by 0x75F7FE: (within /lib/ld-2.3.4.so) ==12251== ==12251== ==12251== 200 bytes in 1 blocks are definitely lost in loss record 139 of 465 ==12251== at 0x4004BBE: operator new[](unsigned) (vg_replace_malloc.c:197) ==12251== by 0x41A6792: TArrayI::Set(int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x4136319: TColor::SetPalette(int, int*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x417B5C1: TStyle::SetPalette(int, int*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x417BB3B: TStyle::Reset(char const*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x417C804: TStyle::TStyle(char const*, char const*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x417D00B: TStyle::BuildStyles() (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x416EDCE: TROOT::TROOT(char const*, char const*, void (**)()) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x416F0E1: ROOT::GetROOT() (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x4171FA4: _GLOBAL__I_gROOTMutex (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x44E265C: (within /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x41074AC: (within /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== ==12251== ==12251== 272 (16 direct, 256 indirect) bytes in 1 blocks are definitely lost in loss record 145 of 465 ==12251== at 0x4004790: operator new(unsigned) (vg_replace_malloc.c:164) ==12251== by 0x41B81AD: TList::NewLink(TObject*, TObjLink*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x41B746C: TList::AddLast(TObject*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x4162468: TList::Add(TObject*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x41B8E2D: TList::Streamer(TBuffer&) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x5F046D5: TKey::ReadObj() (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==12251== by 0x5EE0083: TDirectoryFile::Get(char const*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==12251== by 0x90057B8: FairRootManager::OpenInFile(TFile*, bool) (FairRootManager.cxx:106) ==12251== by 0x901314B: FairRunAna::Init() (FairRunAna.cxx:101) ==12251== by 0x905988D: G__FairDict_792_0_4(G__value*, char const*, G__param*, int) (FairDict.cxx:11411) ==12251== by 0x46FA1D2: Cint::G__ExceptionWrapper(int (*)(G__value*, char const*, G__param*, int), G__value*, char*, G__param*, int) (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== by 0x4792A9F: G__execute_call (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== ==12251== ==12251== 20 bytes in 1 blocks are definitely lost in loss record 150 of 465 ==12251== at 0x4004790: operator new(unsigned) (vg_replace_malloc.c:164) ==12251== by 0x41BC073: TObjArray::MakeIterator(bool) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x9279265: PndFieldCreator::createFairField() (PndFieldCreator.cxx:98) ==12251== by 0x9013B5D: FairRunAna::Init() (FairRunAna.cxx:213) ==12251== by 0x905988D: G__FairDict_792_0_4(G__value*, char const*, G__param*, int) (FairDict.cxx:11411) ==12251== by 0x46FA1D2: Cint::G__ExceptionWrapper(int (*)(G__value*, char const*, G__param*, int), G__value*, char*, G__param*, int) (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== by 0x4792A9F: G__execute_call (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== by 0x4792DB1: G__call_cppfunc (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== by 0x47748F2: G__interpret_func (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== by 0x4760F27: G__getfunction (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== by 0x484A338: G__getstructmem (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== by 0x4841F75: G__getvariable (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== ==12251== ==12251== 24 bytes in 2 blocks are possibly lost in loss record 156 of 465 ==12251== at 0x4004790: operator new(unsigned) (vg_replace_malloc.c:164) ==12251== by 0x98EC8C1: PndTpcElectronicsTask::Exec(char const*) (PndTpcElectronicsTask.cxx:176) ==12251== by 0x4193924: TTask::ExecuteTasks(char const*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x4193720: TTask::ExecuteTask(char const*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x90140B7: FairRunAna::Run(int, int) (FairRunAna.cxx:278) ==12251== by 0x905995D: G__FairDict_792_0_5(G__value*, char const*, G__param*, int) (FairDict.cxx:11420) ==12251== by 0x46FA1D2: Cint::G__ExceptionWrapper(int (*)(G__value*, char const*, G__param*, int), G__value*, char*, G__param*, int) (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== by 0x4792A9F: G__execute_call (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== by 0x4792DB1: G__call_cppfunc (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== by 0x47748F2: G__interpret_func (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== by 0x4760F27: G__getfunction (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== by 0x484A338: G__getstructmem (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== ==12251== ==12251== 32 bytes in 1 blocks are possibly lost in loss record 168 of 465 ==12251== at 0x4004790: operator new(unsigned) (vg_replace_malloc.c:164) ==12251== by 0x98DDE77: __gnu_cxx::new_allocator<PndTpcDigi*>::allocate(unsigned, void const*) (new_allocator.h:81) ==12251== by 0x98DDC54: std::_Vector_base<PndTpcDigi*, std::allocator<PndTpcDigi*> >::_M_allocate(unsigned) (stl_vector.h:113) ==12251== by 0x990A2E6: std::_Vector_base<PndTpcDigi*, std::allocator<PndTpcDigi*> >::_Vector_base(unsigned, std::allocator<PndTpcDigi*> const&) (stl_vector.h:100) ==12251== by 0x990A149: std::vector<PndTpcDigi*, std::allocator<PndTpcDigi*> >::vector(std::vector<PndTpcDigi*, std::allocator<PndTpcDigi*> > const&) (stl_vector.h:221) ==12251== by 0x9909EE8: ppstate_output::heartbeat() (TORPPState_Output.cxx:40) ==12251== by 0x990709D: padprocessor::heartbeat() (TORPadProcessor.cxx:105) ==12251== by 0x990C67D: PndTpcSectorProcessor::process() (PndTpcSectorProcessor.cxx:117) ==12251== by 0x98F2258: PndTpcClusterFinder::process(std::vector<PndTpcDigi*, std::allocator<PndTpcDigi*> >&) (PndTpcClusterFinder.cxx:118) ==12251== by 0x9900AEF: PndTpcClusterFinderTask::Exec(char const*) (PndTpcClusterFinderTask.cxx:152) ==12251== by 0x4193924: TTask::ExecuteTasks(char const*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x4193720: TTask::ExecuteTask(char const*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== ==12251== ==12251== 395 bytes in 8 blocks are definitely lost in loss record 265 of 465 ==12251== at 0x4004BBE: operator new[](unsigned) (vg_replace_malloc.c:197) ==12251== by 0x417381B: TStringRef::GetRep(int, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x4173919: TString::Streamer(TBuffer&) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x5F8F948: int TStreamerInfo::ReadBuffer<char**>(TBuffer&, char** const&, int, int, int, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==12251== by 0x5F1AA08: TStreamerInfo::ReadBufferClones(TBuffer&, TClonesArray*, int, int, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==12251== by 0x73CB9E7: TBranchElement::ReadLeaves(TBuffer&) (in /home/spataro/jan10/tools/root/lib/libTree.so.5.26) ==12251== by 0x73C5A13: TBranch::GetEntry(long long, int) (in /home/spataro/jan10/tools/root/lib/libTree.so.5.26) ==12251== by 0x73C7DA6: TBranchElement::GetEntry(long long, int) (in /home/spataro/jan10/tools/root/lib/libTree.so.5.26) ==12251== by 0x73C7D42: TBranchElement::GetEntry(long long, int) (in /home/spataro/jan10/tools/root/lib/libTree.so.5.26) ==12251== by 0x741458C: TTree::GetEntry(long long, int) (in /home/spataro/jan10/tools/root/lib/libTree.so.5.26) ==12251== by 0x73E0E26: TChain::GetEntry(long long, int) (in /home/spataro/jan10/tools/root/lib/libTree.so.5.26) ==12251== by 0x9007A5B: FairRootManager::ReadEvent(int) (FairRootManager.cxx:479) ==12251== ==12251== ==12251== 4,398 bytes in 102 blocks are definitely lost in loss record 356 of 465 ==12251== at 0x4004BBE: operator new[](unsigned) (vg_replace_malloc.c:197) ==12251== by 0x4176EFE: StrDup(char const*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x4186CF4: TSystem::Which(char const*, char const*, EAccessMode) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x420BC87: TUnixSystem::DynamicPathName(char const*, bool) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x4333642: G__G__Base2_237_0_118(G__value*, char const*, G__param*, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x46FA1D2: Cint::G__ExceptionWrapper(int (*)(G__value*, char const*, G__param*, int), G__value*, char*, G__param*, int) (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== by 0x4792A9F: G__execute_call (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== by 0x4792DB1: G__call_cppfunc (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== by 0x47748F2: G__interpret_func (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== by 0x4760F27: G__getfunction (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== by 0x484A338: G__getstructmem (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== by 0x4841F75: G__getvariable (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== ==12251== ==12251== 8,340 (2,940 direct, 5,400 indirect) bytes in 245 blocks are definitely lost in loss record 359 of 465 ==12251== at 0x4004790: operator new(unsigned) (vg_replace_malloc.c:164) ==12251== by 0x9909ECD: ppstate_output::heartbeat() (TORPPState_Output.cxx:40) ==12251== by 0x990709D: padprocessor::heartbeat() (TORPadProcessor.cxx:105) ==12251== by 0x990C67D: PndTpcSectorProcessor::process() (PndTpcSectorProcessor.cxx:117) ==12251== by 0x98F2258: PndTpcClusterFinder::process(std::vector<PndTpcDigi*, std::allocator<PndTpcDigi*> >&) (PndTpcClusterFinder.cxx:118) ==12251== by 0x9900AEF: PndTpcClusterFinderTask::Exec(char const*) (PndTpcClusterFinderTask.cxx:152) ==12251== by 0x4193924: TTask::ExecuteTasks(char const*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x4193720: TTask::ExecuteTask(char const*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x90140B7: FairRunAna::Run(int, int) (FairRunAna.cxx:278) ==12251== by 0x905995D: G__FairDict_792_0_5(G__value*, char const*, G__param*, int) (FairDict.cxx:11420) ==12251== by 0x46FA1D2: Cint::G__ExceptionWrapper(int (*)(G__value*, char const*, G__param*, int), G__value*, char*, G__param*, int) (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== by 0x4792A9F: G__execute_call (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== ==12251== ==12251== 5,648 bytes in 37 blocks are possibly lost in loss record 375 of 465 ==12251== at 0x4004790: operator new(unsigned) (vg_replace_malloc.c:164) ==12251== by 0x98F0275: __gnu_cxx::new_allocator<PndTpcSignal*>::allocate(unsigned, void const*) (new_allocator.h:81) ==12251== by 0x98EF88A: std::_Vector_base<PndTpcSignal*, std::allocator<PndTpcSignal*> >::_M_allocate(unsigned) (stl_vector.h:113) ==12251== by 0x98EE7EE: std::vector<PndTpcSignal*, std::allocator<PndTpcSignal*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<PndTpcSignal**, std::vector<PndTpcSignal*, std::allocator<PndTpcSignal*> > >, PndTpcSignal* const&) (vector.tcc:244) ==12251== by 0x98EDBD3: std::vector<PndTpcSignal*, std::allocator<PndTpcSignal*> >::push_back(PndTpcSignal* const&) (stl_vector.h:564) ==12251== by 0x98EC96F: PndTpcElectronicsTask::Exec(char const*) (PndTpcElectronicsTask.cxx:177) ==12251== by 0x4193924: TTask::ExecuteTasks(char const*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x4193720: TTask::ExecuteTask(char const*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x90140B7: FairRunAna::Run(int, int) (FairRunAna.cxx:278) ==12251== by 0x905995D: G__FairDict_792_0_5(G__value*, char const*, G__param*, int) (FairDict.cxx:11420) ==12251== by 0x46FA1D2: Cint::G__ExceptionWrapper(int (*)(G__value*, char const*, G__param*, int), G__value*, char*, G__param*, int) (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== by 0x4792A9F: G__execute_call (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== ==12251== ==12251== 13,728 bytes in 89 blocks are possibly lost in loss record 392 of 465 ==12251== at 0x4004790: operator new(unsigned) (vg_replace_malloc.c:164) ==12251== by 0x4172F35: TStorage::ObjectAlloc(unsigned) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x4205179: TObject::operator new(unsigned) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x42E5965: ROOT::TQObjectInitBehavior::CreateClass(char const*, short, std::type_info const&, TVirtualIsAProxy*, void (*)(void*, TMemberInspector&, char*), char const*, char const*, int, int) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x41DDBD8: ROOT::TGenericClassInfo::GetClass() (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x70E45BB: TPad::Dictionary() (in /home/spataro/jan10/tools/root/lib/libGpad.so.5.26) ==12251== by 0x41711FE: TROOT::LoadClass(char const*, bool) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x415533C: TPluginHandler::LoadPlugin() (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x4127C68: TApplication::LoadGraphicsLibs() (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x41264B5: TApplication::InitializeGraphics() (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x41878B9: TSystem::Load(char const*, char const*, bool) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x420844B: TUnixSystem::Load(char const*, char const*, bool) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== ==12251== ==12251== 17,600 bytes in 150 blocks are possibly lost in loss record 399 of 465 ==12251== at 0x4004BBE: operator new[](unsigned) (vg_replace_malloc.c:197) ==12251== by 0x5F0EA2F: TStreamerInfo::Compile() (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==12251== by 0x5F18FDF: TStreamerInfo::BuildOld() (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==12251== by 0x5ED8CCD: TBufferFile::ReadClassBuffer(TClass const*, void*, TClass const*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==12251== by 0x66CEB85: TGeoMedium::Streamer(TBuffer&) (in /home/spataro/jan10/tools/root/lib/libGeom.so.5.26) ==12251== by 0x41C9A1F: TClass::Streamer(void*, TBuffer&, TClass const*) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x5ED6A13: TBufferFile::ReadObjectAny(TClass const*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==12251== by 0x5ED5400: TBufferFile::ReadFastArray(void**, TClass const*, int, bool, TMemberStreamer*, TClass const*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==12251== by 0x5F8F480: int TStreamerInfo::ReadBuffer<char**>(TBuffer&, char** const&, int, int, int, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==12251== by 0x5ED8A92: TBufferFile::ReadClassBuffer(TClass const*, void*, TClass const*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==12251== by 0x66AF14C: TGeoVolume::Streamer(TBuffer&) (in /home/spataro/jan10/tools/root/lib/libGeom.so.5.26) ==12251== by 0x41C9A1F: TClass::Streamer(void*, TBuffer&, TClass const*) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== ==12251== ==12251== 182,756 (29,496 direct, 153,260 indirect) bytes in 2,458 blocks are definitely lost in loss record 422 of 465 ==12251== at 0x4004790: operator new(unsigned) (vg_replace_malloc.c:164) ==12251== by 0x98EC8C1: PndTpcElectronicsTask::Exec(char const*) (PndTpcElectronicsTask.cxx:176) ==12251== by 0x4193924: TTask::ExecuteTasks(char const*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x4193720: TTask::ExecuteTask(char const*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x90140B7: FairRunAna::Run(int, int) (FairRunAna.cxx:278) ==12251== by 0x905995D: G__FairDict_792_0_5(G__value*, char const*, G__param*, int) (FairDict.cxx:11420) ==12251== by 0x46FA1D2: Cint::G__ExceptionWrapper(int (*)(G__value*, char const*, G__param*, int), G__value*, char*, G__param*, int) (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== by 0x4792A9F: G__execute_call (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== by 0x4792DB1: G__call_cppfunc (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== by 0x47748F2: G__interpret_func (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== by 0x4760F27: G__getfunction (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== by 0x484A338: G__getstructmem (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==12251== ==12251== ==12251== 1,093,026 bytes in 23,904 blocks are possibly lost in loss record 449 of 465 ==12251== at 0x4004BBE: operator new[](unsigned) (vg_replace_malloc.c:197) ==12251== by 0x417381B: TStringRef::GetRep(int, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x4173B13: TString::TString(char const*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x41AEDD7: TClassTable::Add(char const*, short, std::type_info const&, void (*)(), int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x41AEE60: ROOT::AddClass(char const*, short, std::type_info const&, void (*)(), int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x41E0144: ROOT::TDefaultInitBehavior::Register(char const*, short, std::type_info const&, void (*)(), int) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x41DD2ED: ROOT::TGenericClassInfo::Init(int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x41DEE9D: ROOT::TGenericClassInfo::TGenericClassInfo(char const*, int, char const*, int, std::type_info const&, ROOT::TInitBehavior const*, void (*)(), TVirtualIsAProxy*, int, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x4E30A89: ROOT::GenerateInitInstanceLocal(TRint const*) (in /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==12251== by 0x4E36CAD: __static_initialization_and_destruction_0(int, int) (in /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==12251== by 0x4E36D58: _GLOBAL__I__ZN4ROOT20GenerateInitInstanceEPK5TRint (in /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==12251== by 0x4E37B08: (within /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==12251== ==12251== ==12251== 1,363,971 (1,161,664 direct, 202,307 indirect) bytes in 7,979 blocks are definitely lost in loss record 451 of 465 ==12251== at 0x4004790: operator new(unsigned) (vg_replace_malloc.c:164) ==12251== by 0x4172F35: TStorage::ObjectAlloc(unsigned) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x4205179: TObject::operator new(unsigned) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x66D1DFD: ROOT::new_TGeoHMatrix(void*) (in /home/spataro/jan10/tools/root/lib/libGeom.so.5.26) ==12251== by 0x41CBA8C: TClass::New(TClass::ENewType) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x5ED69D7: TBufferFile::ReadObjectAny(TClass const*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==12251== by 0x5ED5400: TBufferFile::ReadFastArray(void**, TClass const*, int, bool, TMemberStreamer*, TClass const*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==12251== by 0x5F8F480: int TStreamerInfo::ReadBuffer<char**>(TBuffer&, char** const&, int, int, int, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==12251== by 0x5ED8A92: TBufferFile::ReadClassBuffer(TClass const*, void*, TClass const*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==12251== by 0x66DEDCD: TGeoNodeMatrix::Streamer(TBuffer&) (in /home/spataro/jan10/tools/root/lib/libGeom.so.5.26) ==12251== by 0x41C9A1F: TClass::Streamer(void*, TBuffer&, TClass const*) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==12251== by 0x5ED6A13: TBufferFile::ReadObjectAny(TClass const*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==12251== ==12251== ==12251== 10,082,974 bytes in 547,005 blocks are possibly lost in loss record 461 of 465 ==12251== at 0x4004790: operator new(unsigned) (vg_replace_malloc.c:164) ==12251== by 0xC17971: std::string::_Rep::_S_create(unsigned, unsigned, std::allocator<char> const&) (in /usr/lib/libstdc++.so.6.0.3) ==12251== by 0xC19DF4: (within /usr/lib/libstdc++.so.6.0.3) ==12251== by 0xC19F01: std::string::string(char const*, std::allocator<char> const&) (in /usr/lib/libstdc++.so.6.0.3) ==12251== by 0xB1C7109: _GLOBAL__I__ZN52_GLOBAL__N_tmva_src_MethodCuts.cxx_9D2164D3_0AA3D71116Cr eateMethodCutsERK7TStringS2_RN4TMVA11DataSetInfoES2_ (in/home/spataro/jan10/tools/root/lib/libTMVA.so.5.26) ==12251== by 0xB3CABEC: (within /home/spataro/jan10/tools/root/lib/libTMVA.so.5.26) ==12251== by 0xB0FFBC8: (within /home/spataro/jan10/tools/root/lib/libTMVA.so.5.26) ==12251== by 0x76B897: _dl_init (in /lib/ld-2.3.4.so) ==12251== by 0x87952E: dl_open_worker (in /lib/tls/libc-2.3.4.so) ==12251== by 0x76B66D: _dl_catch_error (in /lib/ld-2.3.4.so) ==12251== by 0x879AA7: _dl_open (in /lib/tls/libc-2.3.4.so) ==12251== by 0x8D0807: dlopen_doit (in /lib/libdl-2.3.4.so) ==12251== ==12251== LEAK SUMMARY: ==12251== definitely lost: 1,199,265 bytes in 10,799 blocks. ==12251== indirectly lost: 361,255 bytes in 10,849 blocks. ==12251== possibly lost: 11,213,032 bytes in 571,188 blocks. ==12251== still reachable: 134,518,339 bytes in 1,744,402 blocks. ==12251== suppressed: 0 bytes in 0 blocks. ==12251== Reachable blocks (those to which a pointer was found) are not shown. ==12251== To see them, rerun with: --show-reachable=yes
I have commented out almost everything, and I have found the task who is producing the crash is PndTpcElectronicTask. I suppose the guilty line is 176: if(padmap[id]==NULL)padmap[id]=new std::vector<PndTpcSignal*>;
Hi Stefano, this is indeed an absurdly stupid bug. I checked in a quick fix. Thank you for your time! Cheers Felix
Hi, from valgrind the message has disappeared, and running the digi, after 3k events I cannot see a crash (not yet, at least). If I check valgrind, it seems there is still something that can be improved for tpc, from PndTpcClusterFinder: ==22081== 10,083,067 bytes in 547,009 blocks are possibly lost in loss record 457 of 461 ==22081== at 0x4004790: operator new(unsigned) (vg_replace_malloc.c:164) ==22081== by 0xC17971: std::string::_Rep::_S_create(unsigned, unsigned, std::allocator<char> const&) (in /usr/lib/libstdc++.so.6.0.3) ==22081== by 0xC19DF4: (within /usr/lib/libstdc++.so.6.0.3) ==22081== by 0xC19F01: std::string::string(char const*, std::allocator<char> const&) (in /usr/lib/libstdc++.so.6.0.3) ==22081== by 0x9909D3D: padprocessor::reset() (TORPadProcessor.cxx:99) ==22081== by 0x990F622: PndTpcSectorProcessor::reset() (PndTpcSectorProcessor.cxx:176) ==22081== by 0x98F4FC3: PndTpcClusterFinder::process(std::vector<PndTpcDigi*, std::allocator<PndTpcDigi*> >&) (PndTpcClusterFinder.cxx:119) ==22081== 8,448 (2,940 direct, 5,508 indirect) bytes in 245 blocks are definitely lost in loss record 363 of 461 ==22081== at 0x4004790: operator new(unsigned) (vg_replace_malloc.c:164) ==22081== by 0x990CC1D: ppstate_output::heartbeat() (TORPPState_Output.cxx:40) ==22081== by 0x9909DED: padprocessor::heartbeat() (TORPadProcessor.cxx:105) ==22081== by 0x990F3CD: PndTpcSectorProcessor::process() (PndTpcSectorProcessor.cxx:117) ==22081== by 0x98F4FA8: PndTpcClusterFinder::process(std::vector<PndTpcDigi*, std::allocator<PndTpcDigi*> >&) (PndTpcClusterFinder.cxx:118) ==22081== 48 bytes in 1 blocks are possibly lost in loss record 188 of 461 ==22081== at 0x4004790: operator new(unsigned) (vg_replace_malloc.c:164) ==22081== by 0x98E06DF: __gnu_cxx::new_allocator<PndTpcDigi*>::allocate(unsigned, void const*) (new_allocator.h:81) ==22081== by 0x98E04BC: std::_Vector_base<PndTpcDigi*, std::allocator<PndTpcDigi*> >::_M_allocate(unsigned) (stl_vector.h:113) ==22081== by 0x990D036: std::_Vector_base<PndTpcDigi*, std::allocator<PndTpcDigi*> >::_Vector_base(unsigned, std::allocator<PndTpcDigi*> const&) (stl_vector.h:100) ==22081== by 0x990CE99: std::vector<PndTpcDigi*, std::allocator<PndTpcDigi*> >::vector(std::vector<PndTpcDigi*, std::allocator<PndTpcDigi*> > const&) (stl_vector.h:221) ==22081== by 0x990CC38: ppstate_output::heartbeat() (TORPPState_Output.cxx:40) ==22081== by 0x9909DED: padprocessor::heartbeat() (TORPadProcessor.cxx:105) ==22081== by 0x990F3CD: PndTpcSectorProcessor::process() (PndTpcSectorProcessor.cxx:117) ==22081== by 0x98F4FA8: PndTpcClusterFinder::process(std::vector<PndTpcDigi*, std::allocator<PndTpcDigi*> >&) (PndTpcClusterFinder.cxx:118) ==22081== 12 bytes in 1 blocks are possibly lost in loss record 81 of 461 ==22081== at 0x4004790: operator new(unsigned) (vg_replace_malloc.c:164) ==22081== by 0x990CC1D: ppstate_output::heartbeat() (TORPPState_Output.cxx:40) ==22081== by 0x9909DED: padprocessor::heartbeat() (TORPadProcessor.cxx:105) ==22081== by 0x990F3CD: PndTpcSectorProcessor::process() (PndTpcSectorProcessor.cxx:117) ==22081== by 0x98F4FA8: PndTpcClusterFinder::process(std::vector<PndTpcDigi*, std::allocator<PndTpcDigi*> >&) (PndTpcClusterFinder.cxx:118) The first should be the most... important, but it does not seem to crash digitization (I am waiting the end of 20k dpm events... who knows). Thanks for the "Electronic" fix.
Last update: I have tried to run 20k events with only tpc, up to TpcElectronicTask, and up to TpcClusterFinderTask. The one up to the electronic task now runs fine, without errors. The one up to the cluster task crashes, with the following error: Event number 3979. PndTpcClusterizer:: 5502 clusters created 9906 electrons arriving at readout Aggregating drifted electrons into avalanches finished. 9906 Avalanches created 0 aggregations done. 18401 Signals created PndTpcElectronicsTask::Exec Building up padmap ...finished. 1298 pads hit ........... 1694 Digis created PndTpcClusterFinderTask::Exec 252 cluster created containing 1694 digis from 1694 Error: Symbol #include is not defined in current scope run_digi2_tpccombi.C:145: Error: Symbol exception is not defined in current scope run_digi2_tpccombi.C:145: Syntax Error: #include <exception> run_digi2_tpccombi.C:145: Error: Symbol G__exception is not defined in current scope run_digi2_tpccombi.C:145: Error: type G__exception not defined FILE:/d/panda02/spataro/pandaroot/macro/pid/test/./run_digi2_tpccombi.C LINE:145 *** Interpreter error recovered *** dpm_digi2.txt lines 52084-52132/52132 (END) This means that the fixes in PndTpcClusterFinderTask for the valgrind warnings (previousmessage) are really needed.
After some tries, I surrender, I hope that somebody else can take a look. I have produced 10k events with dpm, using macro/pid/run_sim_tpccombi_dpm.C ... everything fine. I run macro/pid/run_digi_tpccombi.C, I have a crash. Error: Symbol #include is not defined in current scope run_digi_tpccombi.C:148: Error: Symbol exception is not defined in current scope run_digi_tpccombi.C:148: Syntax Error: #include <exception> run_digi_tpccombi.C:148: Error: Symbol G__exception is not defined in current scope run_digi_tpccombi.C:148: Error: type G__exception not defined FILE:/d/panda02/spataro/pandaroot/macro/pid/./run_digi_tpccombi.C LINE:148 *** Interpreter error recovered *** In order to isolate it, I have commented out some stuff. If I run, as tasks, only: PndTpcClusterizerTask* tpcClusterizer = new PndTpcClusterizerTask(); if(mcMode=="TGeant3") tpcClusterizer->SetMereChargeConversion(); tpcClusterizer->SetPersistence(); fRun->AddTask(tpcClusterizer); PndTpcDriftTask* tpcDrifter = new PndTpcDriftTask(); tpcDrifter->SetPersistence(); tpcDrifter->SetDistort(false); fRun->AddTask(tpcDrifter); PndTpcGemTask* tpcGem = new PndTpcGemTask(); tpcGem->SetPersistence(); fRun->AddTask(tpcGem); PndTpcPadResponseTask* tpcPadResponse = new PndTpcPadResponseTask(); tpcPadResponse->SetPersistence(); fRun->AddTask(tpcPadResponse); I can run 10k events (please note that I have turned on the persistency). If I add the PndTpcElectronicTask, or if I run a macro with only the follwing task: PndTpcElectronicsTask* tpcElec = new PndTpcElectronicsTask(); tpcElec->SetPersistence(); fRun->AddTask(tpcElec); I have the crash again. I have filled the code with cout, and I have found that the crash line is in FairRootManager::ForceFill() : fOutTree->Fill(); Then it should be a problem of the data written into the file, and not in the tasks themselves. After a discussion with Mohammad, it seems that this problem could rise when the data objects have no default constructor, or if there are some unitialized variable. I tried to update PndTpcPrimaryCluster, PndTpcDriftedElectrons, PndTpcAvalance, PndTpcSignal, PndTpcSample, PndTpcDigi, but without any success. I have seen, however, that there are some unitialized variables, numbers but also std::vector and pointers. I hope that some TPC expert could take a look, at least to reproduce the crash and then to investigate. I give up.
Hi Stefano, I tried to reproduce the problem, and the run_sim_tpccombi_dpm macro finished successfully with 10k events. I had't turned persitency on, so I will do another check and also investigate in the uninitialised variables and constructor problems you mentioned.
Hi, run_sim_tpccombi_dpm.C does not crash anymore after the changes of one month ago. What is crashing now is run_digi_tpccombi.C. If you meant that "run_digi..." is not crashing, could you please tell which machine/linux distribution/gcc version you are using? Maybe it could be that it crashes only in some distributions. For sure it crashes in SL4.6 (gcc 3.4.6) and at GSI (lenny64 - gcc 4.3.2).
Hi, yes, I meant run_digi_tpccombi.C. It finished without a crash. gcc --version is: gcc (GCC) 4.1.2 20061115 (prerelease) (Debian 4.1.1-21) We will now try to run it on a 64bit machine and see if it crashes there. EDIT: The macro sucessfully ran on a 64bit machine. But we discovered many memory leaks that we will have to fix the next days.
Hello everybody, I fixed some really big memory leaks and just commited the changes. There are still memory leaks existing, but leakage went down at least one order of magnitude. @Stefano, maybe the crash was due to this memory leaks, maybe you could try your test again? We also experienced program crashes after some 5k events with our macros, probably because of full memory.
Hi, unfortunately my DPM simulation has crashed, then I have to regenerate again the files to test your changes. Meanwhile, I have tried to run muons, and I got no crash... but muons are easier to handle. Running valgrind, I have seen still the following leak: ==18001== 10,082,772 bytes in 546,990 blocks are possibly lost in loss record 451 of 455 ==18001== at 0x4004790: operator new(unsigned) (vg_replace_malloc.c:164) ==18001== by 0xC17971: std::string::_Rep::_S_create(unsigned, unsigned, std::allocator<char> co nst&) (in /usr/lib/libstdc++.so.6.0.3) ==18001== by 0xC19DF4: (within /usr/lib/libstdc++.so.6.0.3) ==18001== by 0xC19F01: std::string::string(char const*, std::allocator<char> const&) (in /usr/l ib/libstdc++.so.6.0.3) ==18001== by 0x9947B5D: padprocessor::reset() (TORPadProcessor.cxx:99) ==18001== by 0x994D4C2: PndTpcSectorProcessor::reset() (PndTpcSectorProcessor.cxx:187) ==18001== by 0x9932E20: PndTpcClusterFinder::process(std::vector<PndTpcDigi*, std::allocator<Pn dTpcDigi*> >&) (PndTpcClusterFinder.cxx:122) ==18001== by 0x99415EB: PndTpcClusterFinderTask::Exec(char const*) (PndTpcClusterFinderTask.cxx :151) ==18001== by 0x4193924: TTask::ExecuteTasks(char const*) (in /home/spataro/jan10/tools/root/lib /libCore.so.5.26) ==18001== by 0x4193720: TTask::ExecuteTask(char const*) (in /home/spataro/jan10/tools/root/lib/ libCore.so.5.26) ==18001== by 0x90140B7: FairRunAna::Run(int, int) (FairRunAna.cxx:278) ==18001== by 0x905995D: G__FairDict_792_0_5(G__value*, char const*, G__param*, int) (FairDict.c xx:11420) the last one from the old series I have reported some time ago. I think it should be also taken out. I will let you know once the dpm simulation will end.
Dear Stefano, I just fixed this one. regards, Johannes
Hi, I have tried and it is still crashing. Now I have the crash earlier, between PndTpcDriftTask and PndTpcGemTask (before it was between PndTpcPadResponseTask and PndTpcElectronicsTask). This means that the problem is something else...
Hi, I have done a local change in my code just trying to explore possible reasons of this crash. In particular, I have changed the objects PndTpcDigi, PndTpcAvalanche, PndTpcSignal, PndTpcSample, PndTpcPrimaryCluster, removing the inheritance from FairMultiLinkData and moving back to the old good TObject. In this case, I can run digitization up to the end. Unfortunately, if I run also the cluster finder, I have again the crash, but due to the fact I cannot change "simply" the inheritance of PndTpcCluster from FairHit (which inheritates from FairMultiLinkedData) without changing the rest of the code also for other detectors. Summarizing, it seems that the problems are coming mainly from adding the links to the data objects, even if they are not filled. Something should be explored in this direction.
Dear PandaRooters, I am exploring at the moment the possibility to get rid of the dependence of FairMultiLinkedData and find a way to store the Link Data in an alternative way. With the support of Mohammad (to upload my changes to Fair base) I can remove the dependence on Monday. Still it is very strange, that these links seem to work if you test them in a small sample but cause so much problems when you do larger simulations. I guess we have to learn that the use of the TClonesArrays is not as easy as it seems. Cheers, Tobias
I am not sure if the Links are the real reason of the crashes. Maybe they are just making the objects bigger, and then the crash appears before than without them. But in theory these linksare not filled,I have commented out all the SetLinks before. It could also be, I fear, that the crashes are coming from somewhere else, and we will find again the crash running 100k events...