GSI Helmholtzzentrum für Schwerionenforschung
Out of memory problem in EmcPoint - FairLink ?
Dear all, trying to run many DPM events we have realized that sometimes the simulation (run_sim_tpccombi_dpm.C) crashes, sometime with a "bad alloc" problem, sometime with a #include error, and without any helpful messages. In order to check what is really going wrong, I have run the vsame macro under valgrind and finally, after waiting 15 hours, I have found the guilty guy, or at least one of them. First of all, these are the dpm settings: PndDpmDirect initialization Momentum = 15 Seed = 4357 Mode = 1 Theta min = 0.001 At the beginning I have many valgrind messages, unitialized values in writing the parameter containers, maybe some expert (Mohammad) should take a look there: Toggle Spoiler -I- FairMCApplication:: Monte carlo Engine Initialisation with TGeant3TGeo RuntimeDb: write container PndEmcGeoPar *** PndEmcGeoPar written to ROOT file version: 1 RuntimeDb: write container PndSensorNamePar *** PndSensorNamePar written to ROOT file version: 1 RuntimeDb: write container PndEmcDigiPar *** PndEmcDigiPar written to ROOT file version: 1 RuntimeDb: write container PndEmcDigiNonuniformityPar RuntimeDb: write container FairBaseParSet ==8505== Use of uninitialised value of size 4 ==8505== at 0x42169AF: deflate_fast (in /home/spataro/jan10/tools/root/lib/li bCore.so.5.26) ==8505== by 0x421556D: deflate (in /home/spataro/jan10/tools/root/lib/libCore .so.5.26) ==8505== by 0x42127FA: R__zip (in /home/spataro/jan10/tools/root/lib/libCore. so.5.26) ==8505== by 0x5F06617: TKey::TKey(TObject const*, char const*, int, TDirector y*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char con st*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char cons t*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/ spataro/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spatar o/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRo otFileIo.cxx:70) ==8505== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSe t.cxx:43) ==8505== by 0x7EE8E52: FairRuntimeDb::writeContainer(FairParSet*, FairRtdbRun *, FairRtdbRun*) (FairRuntimeDb.cxx:297) ==8505== by 0x7EE8A1F: FairRuntimeDb::writeContainers() (FairRuntimeDb.cxx:24 2) ==8505== ==8505== Use of uninitialised value of size 4 ==8505== at 0x42169C6: deflate_fast (in /home/spataro/jan10/tools/root/lib/li bCore.so.5.26) ==8505== by 0x421556D: deflate (in /home/spataro/jan10/tools/root/lib/libCore .so.5.26) ==8505== by 0x42127FA: R__zip (in /home/spataro/jan10/tools/root/lib/libCore. so.5.26) ==8505== by 0x5F06617: TKey::TKey(TObject const*, char const*, int, TDirector y*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char con st*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char cons t*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/ spataro/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spatar o/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRo otFileIo.cxx:70) ==8505== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSe t.cxx:43) ==8505== by 0x7EE8E52: FairRuntimeDb::writeContainer(FairParSet*, FairRtdbRun *, FairRtdbRun*) (FairRuntimeDb.cxx:297) ==8505== by 0x7EE8A1F: FairRuntimeDb::writeContainers() (FairRuntimeDb.cxx:24 2) ==8505== ==8505== Use of uninitialised value of size 4 ==8505== at 0x421683A: deflate_fast (in /home/spataro/jan10/tools/root/lib/li bCore.so.5.26) ==8505== by 0x421556D: deflate (in /home/spataro/jan10/tools/root/lib/libCore .so.5.26) ==8505== by 0x42127FA: R__zip (in /home/spataro/jan10/tools/root/lib/libCore. so.5.26) ==8505== by 0x5F06617: TKey::TKey(TObject const*, char const*, int, TDirector y*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char con st*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char cons t*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/ spataro/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spatar o/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRo otFileIo.cxx:70) ==8505== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSe t.cxx:43) ==8505== by 0x7EE8E52: FairRuntimeDb::writeContainer(FairParSet*, FairRtdbRun *, FairRtdbRun*) (FairRuntimeDb.cxx:297) ==8505== by 0x7EE8A1F: FairRuntimeDb::writeContainers() (FairRuntimeDb.cxx:24 2) ==8505== ==8505== Use of uninitialised value of size 4 ==8505== at 0x421684B: deflate_fast (in /home/spataro/jan10/tools/root/lib/li bCore.so.5.26) ==8505== by 0x421556D: deflate (in /home/spataro/jan10/tools/root/lib/libCore .so.5.26) ==8505== by 0x42127FA: R__zip (in /home/spataro/jan10/tools/root/lib/libCore. so.5.26) ==8505== by 0x5F06617: TKey::TKey(TObject const*, char const*, int, TDirector y*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char con st*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char cons t*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/ spataro/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spatar o/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRo otFileIo.cxx:70) ==8505== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSe t.cxx:43) ==8505== by 0x7EE8E52: FairRuntimeDb::writeContainer(FairParSet*, FairRtdbRun *, FairRtdbRun*) (FairRuntimeDb.cxx:297) ==8505== by 0x7EE8A1F: FairRuntimeDb::writeContainers() (FairRuntimeDb.cxx:24 2) ==8505== ==8505== Conditional jump or move depends on uninitialised value(s) ==8505== at 0x42162FF: longest_match (in /home/spataro/jan10/tools/root/lib/l ibCore.so.5.26) ==8505== by 0x4216BA3: deflate_fast (in /home/spataro/jan10/tools/root/lib/li bCore.so.5.26) ==8505== by 0x421556D: deflate (in /home/spataro/jan10/tools/root/lib/libCore .so.5.26) ==8505== by 0x42127FA: R__zip (in /home/spataro/jan10/tools/root/lib/libCore. so.5.26) ==8505== by 0x5F06617: TKey::TKey(TObject const*, char const*, int, TDirector y*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char con st*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char cons t*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/ spataro/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spatar o/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRo otFileIo.cxx:70) ==8505== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSe t.cxx:43) ==8505== by 0x7EE8E52: FairRuntimeDb::writeContainer(FairParSet*, FairRtdbRun *, FairRtdbRun*) (FairRuntimeDb.cxx:297) ==8505== ==8505== Conditional jump or move depends on uninitialised value(s) ==8505== at 0x4216310: longest_match (in /home/spataro/jan10/tools/root/lib/l ibCore.so.5.26) ==8505== by 0x4216BA3: deflate_fast (in /home/spataro/jan10/tools/root/lib/li bCore.so.5.26) ==8505== by 0x421556D: deflate (in /home/spataro/jan10/tools/root/lib/libCore .so.5.26) ==8505== by 0x42127FA: R__zip (in /home/spataro/jan10/tools/root/lib/libCore. so.5.26) ==8505== by 0x5F06617: TKey::TKey(TObject const*, char const*, int, TDirector y*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char con st*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char cons t*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/ spataro/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spatar o/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRo otFileIo.cxx:70) ==8505== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSe t.cxx:43) ==8505== by 0x7EE8E52: FairRuntimeDb::writeContainer(FairParSet*, FairRtdbRun *, FairRtdbRun*) (FairRuntimeDb.cxx:297) ==8505== ==8505== Conditional jump or move depends on uninitialised value(s) ==8505== at 0x42162F6: longest_match (in /home/spataro/jan10/tools/root/lib/l ibCore.so.5.26) ==8505== by 0x4216BA3: deflate_fast (in /home/spataro/jan10/tools/root/lib/li bCore.so.5.26) ==8505== by 0x421556D: deflate (in /home/spataro/jan10/tools/root/lib/libCore .so.5.26) ==8505== by 0x42127FA: R__zip (in /home/spataro/jan10/tools/root/lib/libCore. so.5.26) ==8505== by 0x5F06617: TKey::TKey(TObject const*, char const*, int, TDirector y*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char con st*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char cons t*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/ spataro/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spatar o/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRo otFileIo.cxx:70) ==8505== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSe t.cxx:43) ==8505== by 0x7EE8E52: FairRuntimeDb::writeContainer(FairParSet*, FairRtdbRun *, FairRtdbRun*) (FairRuntimeDb.cxx:297) ==8505== ==8505== Conditional jump or move depends on uninitialised value(s) ==8505== at 0x4216308: longest_match (in /home/spataro/jan10/tools/root/lib/l ibCore.so.5.26) ==8505== by 0x4216BA3: deflate_fast (in /home/spataro/jan10/tools/root/lib/li bCore.so.5.26) ==8505== by 0x421556D: deflate (in /home/spataro/jan10/tools/root/lib/libCore .so.5.26) ==8505== by 0x42127FA: R__zip (in /home/spataro/jan10/tools/root/lib/libCore. so.5.26) ==8505== by 0x5F06617: TKey::TKey(TObject const*, char const*, int, TDirector y*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char con st*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char cons t*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/ spataro/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spatar o/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRo otFileIo.cxx:70) ==8505== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSe t.cxx:43) ==8505== by 0x7EE8E52: FairRuntimeDb::writeContainer(FairParSet*, FairRtdbRun *, FairRtdbRun*) (FairRuntimeDb.cxx:297) ==8505== ==8505== Conditional jump or move depends on uninitialised value(s) ==8505== at 0x4216324: longest_match (in /home/spataro/jan10/tools/root/lib/l ibCore.so.5.26) ==8505== by 0x4216BA3: deflate_fast (in /home/spataro/jan10/tools/root/lib/li bCore.so.5.26) ==8505== by 0x421556D: deflate (in /home/spataro/jan10/tools/root/lib/libCore .so.5.26) ==8505== by 0x42127FA: R__zip (in /home/spataro/jan10/tools/root/lib/libCore. so.5.26) ==8505== by 0x5F06617: TKey::TKey(TObject const*, char const*, int, TDirector y*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char con st*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char cons t*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/ spataro/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spatar o/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRo otFileIo.cxx:70) ==8505== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSe t.cxx:43) ==8505== by 0x7EE8E52: FairRuntimeDb::writeContainer(FairParSet*, FairRtdbRun *, FairRtdbRun*) (FairRuntimeDb.cxx:297) ==8505== ==8505== Use of uninitialised value of size 4 ==8505== at 0x4216A24: deflate_fast (in /home/spataro/jan10/tools/root/lib/li bCore.so.5.26) ==8505== by 0x421556D: deflate (in /home/spataro/jan10/tools/root/lib/libCore .so.5.26) ==8505== by 0x42127FA: R__zip (in /home/spataro/jan10/tools/root/lib/libCore. so.5.26) ==8505== by 0x5F06617: TKey::TKey(TObject const*, char const*, int, TDirector y*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char con st*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char cons t*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/ spataro/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spatar o/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRo otFileIo.cxx:70) ==8505== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSe t.cxx:43) ==8505== by 0x7EE8E52: FairRuntimeDb::writeContainer(FairParSet*, FairRtdbRun *, FairRtdbRun*) (FairRuntimeDb.cxx:297) ==8505== by 0x7EE8A1F: FairRuntimeDb::writeContainers() (FairRuntimeDb.cxx:24 2) ==8505== ==8505== Conditional jump or move depends on uninitialised value(s) ==8505== at 0x421632F: longest_match (in /home/spataro/jan10/tools/root/lib/l ibCore.so.5.26) ==8505== by 0x4216BA3: deflate_fast (in /home/spataro/jan10/tools/root/lib/li bCore.so.5.26) ==8505== by 0x421556D: deflate (in /home/spataro/jan10/tools/root/lib/libCore .so.5.26) ==8505== by 0x42127FA: R__zip (in /home/spataro/jan10/tools/root/lib/libCore. so.5.26) ==8505== by 0x5F06617: TKey::TKey(TObject const*, char const*, int, TDirector y*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char con st*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char cons t*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/ spataro/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spatar o/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRo otFileIo.cxx:70) ==8505== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSe t.cxx:43) ==8505== by 0x7EE8E52: FairRuntimeDb::writeContainer(FairParSet*, FairRtdbRun *, FairRtdbRun*) (FairRuntimeDb.cxx:297) ==8505== ==8505== Conditional jump or move depends on uninitialised value(s) ==8505== at 0x4216350: longest_match (in /home/spataro/jan10/tools/root/lib/l ibCore.so.5.26) ==8505== by 0x4216BA3: deflate_fast (in /home/spataro/jan10/tools/root/lib/li bCore.so.5.26) ==8505== by 0x421556D: deflate (in /home/spataro/jan10/tools/root/lib/libCore .so.5.26) ==8505== by 0x42127FA: R__zip (in /home/spataro/jan10/tools/root/lib/libCore. so.5.26) ==8505== by 0x5F06617: TKey::TKey(TObject const*, char const*, int, TDirector y*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char con st*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char cons t*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/ spataro/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spatar o/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRo otFileIo.cxx:70) ==8505== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSe t.cxx:43) ==8505== by 0x7EE8E52: FairRuntimeDb::writeContainer(FairParSet*, FairRtdbRun *, FairRtdbRun*) (FairRuntimeDb.cxx:297) ==8505== ==8505== Conditional jump or move depends on uninitialised value(s) ==8505== at 0x421633A: longest_match (in /home/spataro/jan10/tools/root/lib/l ibCore.so.5.26) ==8505== by 0x4216BA3: deflate_fast (in /home/spataro/jan10/tools/root/lib/li bCore.so.5.26) ==8505== by 0x421556D: deflate (in /home/spataro/jan10/tools/root/lib/libCore .so.5.26) ==8505== by 0x42127FA: R__zip (in /home/spataro/jan10/tools/root/lib/libCore. so.5.26) ==8505== by 0x5F06617: TKey::TKey(TObject const*, char const*, int, TDirector y*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char con st*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char cons t*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/ spataro/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spatar o/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRo otFileIo.cxx:70) ==8505== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSe t.cxx:43) ==8505== by 0x7EE8E52: FairRuntimeDb::writeContainer(FairParSet*, FairRtdbRun *, FairRtdbRun*) (FairRuntimeDb.cxx:297) ==8505== ==8505== Conditional jump or move depends on uninitialised value(s) ==8505== at 0x4216345: longest_match (in /home/spataro/jan10/tools/root/lib/l ibCore.so.5.26) ==8505== by 0x4216BA3: deflate_fast (in /home/spataro/jan10/tools/root/lib/li bCore.so.5.26) ==8505== by 0x421556D: deflate (in /home/spataro/jan10/tools/root/lib/libCore .so.5.26) ==8505== by 0x42127FA: R__zip (in /home/spataro/jan10/tools/root/lib/libCore. so.5.26) ==8505== by 0x5F06617: TKey::TKey(TObject const*, char const*, int, TDirector y*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char con st*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char cons t*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/ spataro/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spatar o/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRo otFileIo.cxx:70) ==8505== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSe t.cxx:43) ==8505== by 0x7EE8E52: FairRuntimeDb::writeContainer(FairParSet*, FairRtdbRun *, FairRtdbRun*) (FairRuntimeDb.cxx:297) ==8505== ==8505== Conditional jump or move depends on uninitialised value(s) ==8505== at 0x421635B: longest_match (in /home/spataro/jan10/tools/root/lib/l ibCore.so.5.26) ==8505== by 0x4216BA3: deflate_fast (in /home/spataro/jan10/tools/root/lib/li bCore.so.5.26) ==8505== by 0x421556D: deflate (in /home/spataro/jan10/tools/root/lib/libCore .so.5.26) ==8505== by 0x42127FA: R__zip (in /home/spataro/jan10/tools/root/lib/libCore. so.5.26) ==8505== by 0x5F06617: TKey::TKey(TObject const*, char const*, int, TDirector y*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char con st*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char cons t*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/ spataro/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spatar o/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRo otFileIo.cxx:70) ==8505== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSe t.cxx:43) ==8505== by 0x7EE8E52: FairRuntimeDb::writeContainer(FairParSet*, FairRtdbRun *, FairRtdbRun*) (FairRuntimeDb.cxx:297) ==8505== ==8505== Conditional jump or move depends on uninitialised value(s) ==8505== at 0x4216371: longest_match (in /home/spataro/jan10/tools/root/lib/l ibCore.so.5.26) ==8505== by 0x4216BA3: deflate_fast (in /home/spataro/jan10/tools/root/lib/li bCore.so.5.26) ==8505== by 0x421556D: deflate (in /home/spataro/jan10/tools/root/lib/libCore .so.5.26) ==8505== by 0x42127FA: R__zip (in /home/spataro/jan10/tools/root/lib/libCore. so.5.26) ==8505== by 0x5F06617: TKey::TKey(TObject const*, char const*, int, TDirector y*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char con st*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char cons t*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/ spataro/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spatar o/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRo otFileIo.cxx:70) ==8505== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSe t.cxx:43) ==8505== by 0x7EE8E52: FairRuntimeDb::writeContainer(FairParSet*, FairRtdbRun *, FairRtdbRun*) (FairRuntimeDb.cxx:297) ==8505== ==8505== Conditional jump or move depends on uninitialised value(s) ==8505== at 0x4216366: longest_match (in /home/spataro/jan10/tools/root/lib/l ibCore.so.5.26) ==8505== by 0x4216BA3: deflate_fast (in /home/spataro/jan10/tools/root/lib/li bCore.so.5.26) ==8505== by 0x421556D: deflate (in /home/spataro/jan10/tools/root/lib/libCore .so.5.26) ==8505== by 0x42127FA: R__zip (in /home/spataro/jan10/tools/root/lib/libCore. so.5.26) ==8505== by 0x5F06617: TKey::TKey(TObject const*, char const*, int, TDirector y*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char con st*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char cons t*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/ spataro/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spatar o/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRo otFileIo.cxx:70) ==8505== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSe t.cxx:43) ==8505== by 0x7EE8E52: FairRuntimeDb::writeContainer(FairParSet*, FairRtdbRun *, FairRtdbRun*) (FairRuntimeDb.cxx:297) ==8505== ==8505== Use of uninitialised value of size 4 ==8505== at 0x421CE87: compress_block (in /home/spataro/jan10/tools/root/lib/ libCore.so.5.26) ==8505== by 0x421D932: _tr_flush_block (in /home/spataro/jan10/tools/root/lib /libCore.so.5.26) ==8505== by 0x4216A84: deflate_fast (in /home/spataro/jan10/tools/root/lib/li bCore.so.5.26) ==8505== by 0x421556D: deflate (in /home/spataro/jan10/tools/root/lib/libCore .so.5.26) ==8505== by 0x42127FA: R__zip (in /home/spataro/jan10/tools/root/lib/libCore. so.5.26) ==8505== by 0x5F06617: TKey::TKey(TObject const*, char const*, int, TDirector y*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char con st*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char cons t*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/ spataro/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spatar o/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRo otFileIo.cxx:70) ==8505== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSe t.cxx:43) ==8505== ==8505== Use of uninitialised value of size 4 ==8505== at 0x421D1AA: compress_block (in /home/spataro/jan10/tools/root/lib/ libCore.so.5.26) ==8505== by 0x421D932: _tr_flush_block (in /home/spataro/jan10/tools/root/lib /libCore.so.5.26) ==8505== by 0x4216A84: deflate_fast (in /home/spataro/jan10/tools/root/lib/li bCore.so.5.26) ==8505== by 0x421556D: deflate (in /home/spataro/jan10/tools/root/lib/libCore .so.5.26) ==8505== by 0x42127FA: R__zip (in /home/spataro/jan10/tools/root/lib/libCore. so.5.26) ==8505== by 0x5F06617: TKey::TKey(TObject const*, char const*, int, TDirector y*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char con st*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char cons t*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/ spataro/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spatar o/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRo otFileIo.cxx:70) ==8505== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSe t.cxx:43) ==8505== ==8505== Use of uninitialised value of size 4 ==8505== at 0x421CEA9: compress_block (in /home/spataro/jan10/tools/root/lib/ libCore.so.5.26) ==8505== by 0x421D932: _tr_flush_block (in /home/spataro/jan10/tools/root/lib /libCore.so.5.26) ==8505== by 0x4216A84: deflate_fast (in /home/spataro/jan10/tools/root/lib/li bCore.so.5.26) ==8505== by 0x421556D: deflate (in /home/spataro/jan10/tools/root/lib/libCore .so.5.26) ==8505== by 0x42127FA: R__zip (in /home/spataro/jan10/tools/root/lib/libCore. so.5.26) ==8505== by 0x5F06617: TKey::TKey(TObject const*, char const*, int, TDirector y*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char con st*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char cons t*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/ spataro/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spatar o/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRo otFileIo.cxx:70) ==8505== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSe t.cxx:43) ==8505== ==8505== Use of uninitialised value of size 4 ==8505== at 0x421CE87: compress_block (in /home/spataro/jan10/tools/root/lib/ libCore.so.5.26) ==8505== by 0x421D932: _tr_flush_block (in /home/spataro/jan10/tools/root/lib /libCore.so.5.26) ==8505== by 0x4216B0B: deflate_fast (in /home/spataro/jan10/tools/root/lib/li bCore.so.5.26) ==8505== by 0x421556D: deflate (in /home/spataro/jan10/tools/root/lib/libCore .so.5.26) ==8505== by 0x42127FA: R__zip (in /home/spataro/jan10/tools/root/lib/libCore. so.5.26) ==8505== by 0x5F06617: TKey::TKey(TObject const*, char const*, int, TDirector y*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char con st*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char cons t*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/ spataro/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spatar o/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRo otFileIo.cxx:70) ==8505== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSe t.cxx:43) ==8505== ==8505== Use of uninitialised value of size 4 ==8505== at 0x421D1AA: compress_block (in /home/spataro/jan10/tools/root/lib/ libCore.so.5.26) ==8505== by 0x421D932: _tr_flush_block (in /home/spataro/jan10/tools/root/lib /libCore.so.5.26) ==8505== by 0x4216B0B: deflate_fast (in /home/spataro/jan10/tools/root/lib/li bCore.so.5.26) ==8505== by 0x421556D: deflate (in /home/spataro/jan10/tools/root/lib/libCore .so.5.26) ==8505== by 0x42127FA: R__zip (in /home/spataro/jan10/tools/root/lib/libCore. so.5.26) ==8505== by 0x5F06617: TKey::TKey(TObject const*, char const*, int, TDirector y*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char con st*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char cons t*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/ spataro/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spatar o/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRo otFileIo.cxx:70) ==8505== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSe t.cxx:43) ==8505== ==8505== Use of uninitialised value of size 4 ==8505== at 0x421CEA9: compress_block (in /home/spataro/jan10/tools/root/lib/ libCore.so.5.26) ==8505== by 0x421D932: _tr_flush_block (in /home/spataro/jan10/tools/root/lib /libCore.so.5.26) ==8505== by 0x4216B0B: deflate_fast (in /home/spataro/jan10/tools/root/lib/li bCore.so.5.26) ==8505== by 0x421556D: deflate (in /home/spataro/jan10/tools/root/lib/libCore .so.5.26) ==8505== by 0x42127FA: R__zip (in /home/spataro/jan10/tools/root/lib/libCore. so.5.26) ==8505== by 0x5F06617: TKey::TKey(TObject const*, char const*, int, TDirector y*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char con st*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char cons t*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/ spataro/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spatar o/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRo otFileIo.cxx:70) ==8505== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSe t.cxx:43) ==8505== ==8505== Syscall param write(buf) points to uninitialised byte(s) ==8505== at 0x9FC5F3: __write_nocancel (in /lib/tls/libpthread-2.3.4.so) ==8505== by 0x5EF0BEF: TFile::WriteBuffer(char const*, int) (in /home/spataro /jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5F06CF7: TKey::WriteFile(int, TFile*) (in /home/spataro/jan10/t ools/root/lib/libRIO.so.5.26) ==8505== by 0x5EE3066: TDirectoryFile::WriteTObject(TObject const*, char cons t*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/ spataro/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spatar o/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRo otFileIo.cxx:70) ==8505== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSe t.cxx:43) ==8505== by 0x7EE8E52: FairRuntimeDb::writeContainer(FairParSet*, FairRtdbRun *, FairRtdbRun*) (FairRuntimeDb.cxx:297) ==8505== by 0x7EE8A1F: FairRuntimeDb::writeContainers() (FairRuntimeDb.cxx:24 2) ==8505== by 0x7EEA29C: FairRuntimeDb::saveOutput() (FairRuntimeDb.cxx:600) ==8505== by 0x7F018E4: G__ParBaseDict_237_0_31(G__value*, char const*, G__par am*, int) (ParBaseDict.cxx:5982) ==8505== Address 0x1C680DA7 is 1,535,359 bytes inside a block of size 11,257,41 9 alloc'd ==8505== at 0x4004BBE: operator new[](unsigned) (vg_replace_malloc.c:197) ==8505== by 0x5F065AD: TKey::TKey(TObject const*, char const*, int, TDirector y*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char con st*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char cons t*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==8505== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/ spataro/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spatar o/jan10/tools/root/lib/libCore.so.5.26) ==8505== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRo otFileIo.cxx:70) ==8505== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSe t.cxx:43) ==8505== by 0x7EE8E52: FairRuntimeDb::writeContainer(FairParSet*, FairRtdbRun *, FairRtdbRun*) (FairRuntimeDb.cxx:297) ==8505== by 0x7EE8A1F: FairRuntimeDb::writeContainers() (FairRuntimeDb.cxx:24 2) ==8505== by 0x7EEA29C: FairRuntimeDb::saveOutput() (FairRuntimeDb.cxx:600) ==8505== by 0x7F018E4: G__ParBaseDict_237_0_31(G__value*, char const*, G__par am*, int) (ParBaseDict.cxx:5982) *** FairBaseParSet written to ROOT file version: 1 RuntimeDb: write container PndMultiFieldPar *** PndMultiFieldPar written to ROOT file version: 1 RuntimeDb: write container PndTransPar RuntimeDb: write container PndDipole1Par RuntimeDb: write container PndDipole2Par RuntimeDb: write container PndSolenoid1Par RuntimeDb: write container PndSolenoid2Par RuntimeDb: write container PndSolenoid3Par RuntimeDb: write container PndSolenoid4Par RuntimeDb: write container PndGeoPassivePar However, this is not the problem. The problem appears at the 58th event: Toggle Spoiler DIGI EXECUTION ********************* **** GTRIGI: IEVENT= 58 IDEVT= 58 Random Seeds = 4357 0 - I -: new particle at: 0.000000, 0.000000, 0.000000 ... - I -: new particle at: 0.000000, 0.000000, 0.000000 ... - I -: new particle at: 0.000000, 0.000000, 0.000000 ... - I -: new particle at: 0.000000, 0.000000, 0.000000 ... - I -: new particle at: 0.000000, 0.000000, 0.000000 ... - I -: new particle at: 0.000000, 0.000000, 0.000000 ... -I FairPrimaryGenerator: 6 primary tracks from vertex (0, 0, 0)Event Time = 0(ns ) **8505** new/new[] failed and should throw an exception, but Valgrind cannot throw exceptions and so is aborting instead. Sorry. ==8505== at 0x400429A: VALGRIND_PRINTF_BACKTRACE (valgrind.h:319) ==8505== by 0x40047BA: operator new(unsigned) (vg_replace_malloc.c:164) ==8505== by 0x7F6C4B6: __gnu_cxx::new_allocator<std::_Rb_tree_node<FairLink> >::allocate(unsigned, void const*) (new_allocator.h:81) ==8505== by 0x7F6C485: std::_Rb_tree<FairLink, FairLink, std::_Identity<FairL ink>, std::less<FairLink>, std::allocator<FairLink> >::_M_get_node() (stl_tree.h :356) ==8505== by 0x7F6C382: std::_Rb_tree<FairLink, FairLink, std::_Identity<FairL ink>, std::less<FairLink>, std::allocator<FairLink> >::_M_create_node(FairLink c onst&) (stl_tree.h:365) ==8505== by 0x7F6C2C8: std::_Rb_tree<FairLink, FairLink, std::_Identity<FairL ink>, std::less<FairLink>, std::allocator<FairLink> >::_M_insert(std::_Rb_tree_n ode_base*, std::_Rb_tree_node_base*, FairLink const&) (stl_tree.h:809) ==8505== by 0x7F6C165: std::_Rb_tree<FairLink, FairLink, std::_Identity<FairL ink>, std::less<FairLink>, std::allocator<FairLink> >::insert_unique(FairLink co nst&) (stl_tree.h:925) ==8505== by 0x7F6BFFE: std::set<FairLink, std::less<FairLink>, std::allocator<FairLink> >::insert(FairLink const&) (stl_set.h:314) ==8505== by 0x7F6D519: FairMultiLinkedData::InsertLink(FairLink) (FairMultiLinkedData.h:66) ==8505== by 0x7F6F792: FairMultiLinkedData::AddLink(FairLink, bool, float) (FairMultiLinkedData.h:216) ==8505== by 0x7F6FAF8: FairMultiLinkedData::SetLink(FairLink, bool, float) (FairMultiLinkedData.h:164) ==8505== by 0x9452491: PndEmcPoint::PndEmcPoint(int, int, int, TVector3, TVector3, double, double, double, short, short, short, short) (PndEm cPoint.cxx:57) ==8505== ==8505== ERROR SUMMARY: 32819 errors from 24 contexts (suppressed: 311271 from 4) ==8505== malloc/free: in use at exit: 643,550,202 bytes in 9,260,380 blocks. ==8505== malloc/free: 391,169,025 allocs, 381,908,644 frees, 2,035,952,266 bytes allocated. ==8505== For counts of detected errors, rerun with: -v The problem appears in PndEmcPoint.cxx at line +57: SetLink(FairLink("MCTrack", trackID)); It is not so clear to me if this is a problem coming from the stuff inside fairlink, maybe set or allocator. Or maybe there is some "wrong" information from EmcPoint which is making FairLink crazy. The valgrind message new/new[] failed and should throw an exception appears when a "new" is trying to allocate memory but memory is full... there is something eating up the memory. If the same macro is run without valgring, it proceeds without crashing at the event, but the memory is slowly eaten and sooner or later the macro crashes definitely. I would leave the work to experts, because I was not able to find what is the memory problem we have.
Re: Out of memory problem in EmcPoint - FairLink ?
Trying to understand what is making our memory explode, under suggestion of Ralf I have run only one event by valgrind. This is the final log message, with all the "problems": Toggle Spoiler RealTime=1391.664607 seconds, CpuTime=1312.570000 seconds (int)58 root [1] .q ==27961== ==27961== ERROR SUMMARY: 32858 errors from 24 contexts (suppressed: 113902 from 4) ==27961== malloc/free: in use at exit: 123,231,441 bytes in 791,157 blocks. ==27961== malloc/free: 11,175,726 allocs, 10,384,569 frees, 1,307,048,594 bytes allocated. ==27961== For counts of detected errors, rerun with: -v ==27961== searching for pointers to 791,157 not-freed blocks. ==27961== checked 140,163,608 bytes. ==27961== ==27961== ==27961== 2 bytes in 1 blocks are definitely lost in loss record 5 of 401 ==27961== at 0x4004405: malloc (vg_replace_malloc.c:149) ==27961== by 0x47A1685: G__memfunc_para_setup (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==27961== by 0x47A1DD1: G__parse_parameter_link (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==27961== by 0x47A9E22: G__memfunc_setup_imp (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==27961== by 0x47AA779: G__memfunc_setup (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==27961== by 0x4D859C4: G__cpp_setup_func3() (in /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==27961== by 0x4D85D99: G__cpp_setup_funcG__MathCore (in /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==27961== by 0x4D86D91: G__cpp_setupG__MathCore (in /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==27961== by 0x4782AE4: G__call_setup_funcs (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==27961== by 0x4782DE5: G__main (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==27961== by 0x4784BE3: G__init_cint (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==27961== by 0x41F5FD8: TCint::ResetAll() (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== ==27961== ==27961== 18 bytes in 3 blocks are possibly lost in loss record 98 of 401 ==27961== at 0x4004BBE: operator new[](unsigned) (vg_replace_malloc.c:197) ==27961== by 0x665C807: TGeoMatrix::SetDefaultName() (in /home/spataro/jan10/tools/root/lib/libGeom.so.5.26) ==27961== by 0x8FEF1AB: FairModule::ExpandNode(TGeoNode*) (FairModule.cxx:293) ==27961== by 0x8FEF1D7: FairModule::ExpandNode(TGeoNode*) (FairModule.cxx:294) ==27961== by 0x8FEF1D7: FairModule::ExpandNode(TGeoNode*) (FairModule.cxx:294) ==27961== by 0x8FEF1D7: FairModule::ExpandNode(TGeoNode*) (FairModule.cxx:294) ==27961== by 0x8FEEF86: FairModule::ConstructRootGeometry() (FairModule.cxx:267) ==27961== by 0xA743CE7: PndSdsDetector::ConstructGeometry() (PndSdsDetector.cxx:306) ==27961== by 0x8FE89CE: FairMCApplication::ConstructGeometry() (FairMCApplication.cxx:559) ==27961== by 0x12ADE92A: TGeant3::Init() (in /home/spataro/jan10/transport/geant3/lib/tgt_linux/libgeant321.so) ==27961== by 0x8FE7246: FairMCApplication::InitMC(char const*, char const*) (FairMCApplication.cxx:219) ==27961== by 0x900189E: FairRunSim::SetMCConfig() (FairRunSim.cxx:359) ==27961== ==27961== ==27961== 20 bytes in 1 blocks are definitely lost in loss record 101 of 401 ==27961== at 0x4004790: operator new(unsigned) (vg_replace_malloc.c:164) ==27961== by 0x41BC073: TObjArray::MakeIterator(bool) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== by 0x8FE9B14: FairMCApplication::AddParticles() (FairMCApplication.cxx:767) ==27961== by 0x12ADE90E: TGeant3::Init() (in /home/spataro/jan10/transport/geant3/lib/tgt_linux/libgeant321.so) ==27961== by 0x8FE7246: FairMCApplication::InitMC(char const*, char const*) (FairMCApplication.cxx:219) ==27961== by 0x900189E: FairRunSim::SetMCConfig() (FairRunSim.cxx:359) ==27961== by 0x8FFF828: FairRunSim::Init() (FairRunSim.cxx:164) ==27961== by 0x903FD81: G__FairDict_739_0_4(G__value*, char const*, G__param*, int) (FairDict.cxx:11061) ==27961== 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) ==27961== by 0x4792A9F: G__execute_call (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==27961== by 0x4792DB1: G__call_cppfunc (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==27961== by 0x47748F2: G__interpret_func (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==27961== ==27961== ==27961== 46 bytes in 1 blocks are definitely lost in loss record 130 of 401 ==27961== at 0x4004405: malloc (vg_replace_malloc.c:149) ==27961== by 0x4787D7A: G__register_sharedlib (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==27961== by 0x4813684: G__RegisterLibrary (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==27961== by 0x4782953: G__add_setup_func (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==27961== by 0x4E373E0: G__cpp_setup_initG__Rint::G__cpp_setup_initG__Rint() (in /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==27961== by 0x4E36CF6: __static_initialization_and_destruction_0(int, int) (in /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==27961== by 0x4E36D58: _GLOBAL__I__ZN4ROOT20GenerateInitInstanceEPK5TRint (in /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==27961== by 0x4E37B08: (within /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==27961== by 0x4E2151C: (within /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==27961== by 0x76B897: _dl_init (in /lib/ld-2.3.4.so) ==27961== by 0x75F7FE: (within /lib/ld-2.3.4.so) ==27961== ==27961== ==27961== 60 (28 direct, 32 indirect) bytes in 1 blocks are definitely lost in loss record 131 of 401 ==27961== at 0x4004405: malloc (vg_replace_malloc.c:149) ==27961== by 0x47AA09B: G__memfunc_setup_imp (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==27961== by 0x47AA779: G__memfunc_setup (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==27961== by 0x4D859C4: G__cpp_setup_func3() (in /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==27961== by 0x4D85D99: G__cpp_setup_funcG__MathCore (in /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==27961== by 0x4D86D91: G__cpp_setupG__MathCore (in /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==27961== by 0x4782AE4: G__call_setup_funcs (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==27961== by 0x4D8EBB8: G__cpp_setup_initG__MathCore::G__cpp_setup_initG__MathCore() (in /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==27961== by 0x4D87478: __static_initialization_and_destruction_0(int, int) (in /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==27961== by 0x4D87504: _GLOBAL__I__ZN4ROOT20GenerateInitInstanceEPK7TRandom (in /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==27961== by 0x4DBD630: (within /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==27961== by 0x4CC1BFC: (within /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==27961== ==27961== ==27961== 42 bytes in 1 blocks are possibly lost in loss record 147 of 401 ==27961== at 0x4004BBE: operator new[](unsigned) (vg_replace_malloc.c:197) ==27961== by 0x4176EFE: StrDup(char const*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== by 0x4186CF4: TSystem::Which(char const*, char const*, EAccessMode) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== by 0x420BC87: TUnixSystem::DynamicPathName(char const*, bool) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== 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) ==27961== 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) ==27961== by 0x4792A9F: G__execute_call (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==27961== by 0x4792DB1: G__call_cppfunc (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==27961== by 0x47748F2: G__interpret_func (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==27961== by 0x4760F27: G__getfunction (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==27961== by 0x484A338: G__getstructmem (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==27961== by 0x4841F75: G__getvariable (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==27961== ==27961== ==27961== 48 (16 direct, 32 indirect) bytes in 1 blocks are definitely lost in loss record 151 of 401 ==27961== at 0x4004790: operator new(unsigned) (vg_replace_malloc.c:164) ==27961== by 0x41B81AD: TList::NewLink(TObject*, TObjLink*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== by 0x41B746C: TList::AddLast(TObject*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== by 0x4162468: TList::Add(TObject*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== by 0x7F3EC77: FairGeoNode::getTree() (FairGeoNode.cxx:219) ==27961== by 0xAC1ECDA: PndTof::ProcessHits(FairVolume*) (PndTof.cxx:200) ==27961== by 0x8FE7D0D: FairMCApplication::Stepping() (FairMCApplication.cxx:361) ==27961== by 0x12AE3282: gustep_ (in /home/spataro/jan10/transport/geant3/lib/tgt_linux/libgeant321.so) ==27961== by 0x12ACD796: jumpt0_ (in /home/spataro/jan10/transport/geant3/lib/tgt_linux/libgeant321.so) ==27961== by 0x129D8066: g3track_ (in /home/spataro/jan10/transport/geant3/lib/tgt_linux/libgeant321.so) ==27961== by 0x12AE1F12: gutrak_ (in /home/spataro/jan10/transport/geant3/lib/tgt_linux/libgeant321.so) ==27961== by 0x129D8DC0: gtreveroot_ (in /home/spataro/jan10/transport/geant3/lib/tgt_linux/libgeant321.so) ==27961== ==27961== ==27961== 20 bytes in 1 blocks are definitely lost in loss record 152 of 401 ==27961== at 0x4004790: operator new(unsigned) (vg_replace_malloc.c:164) ==27961== by 0x41C003B: TRefArray::MakeIterator(bool) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== by 0x9892120: PndStack::UpdateTrackIndex(TRefArray*) (PndStack.cxx:332) ==27961== by 0x8FE83B1: FairMCApplication::FinishEvent() (FairMCApplication.cxx:445) ==27961== by 0x12ADEAC8: TGeant3::ProcessRun(int) (in /home/spataro/jan10/transport/geant3/lib/tgt_linux/libgeant321.so) ==27961== by 0x8FE7424: FairMCApplication::RunMC(int) (FairMCApplication.cxx:238) ==27961== by 0x9001A85: FairRunSim::Run(int, int) (FairRunSim.cxx:367) ==27961== by 0x903FEB4: G__FairDict_739_0_5(G__value*, char const*, G__param*, int) (FairDict.cxx:11074) ==27961== 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) ==27961== by 0x4792A9F: G__execute_call (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==27961== by 0x4792DB1: G__call_cppfunc (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==27961== by 0x47748F2: G__interpret_func (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==27961== ==27961== ==27961== 60 bytes in 1 blocks are definitely lost in loss record 165 of 401 ==27961== at 0x4004405: malloc (vg_replace_malloc.c:149) ==27961== by 0x4787D3C: G__register_sharedlib (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==27961== by 0x4813684: G__RegisterLibrary (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==27961== by 0x4782953: G__add_setup_func (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==27961== by 0x4E373E0: G__cpp_setup_initG__Rint::G__cpp_setup_initG__Rint() (in /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==27961== by 0x4E36CF6: __static_initialization_and_destruction_0(int, int) (in /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==27961== by 0x4E36D58: _GLOBAL__I__ZN4ROOT20GenerateInitInstanceEPK5TRint (in /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==27961== by 0x4E37B08: (within /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==27961== by 0x4E2151C: (within /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==27961== by 0x76B897: _dl_init (in /lib/ld-2.3.4.so) ==27961== by 0x75F7FE: (within /lib/ld-2.3.4.so) ==27961== ==27961== ==27961== 200 bytes in 1 blocks are definitely lost in loss record 184 of 401 ==27961== at 0x4004BBE: operator new[](unsigned) (vg_replace_malloc.c:197) ==27961== by 0x41A6792: TArrayI::Set(int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== by 0x4136319: TColor::SetPalette(int, int*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== by 0x417B5C1: TStyle::SetPalette(int, int*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== by 0x417BB3B: TStyle::Reset(char const*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== by 0x417C804: TStyle::TStyle(char const*, char const*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== by 0x417D00B: TStyle::BuildStyles() (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== by 0x416EDCE: TROOT::TROOT(char const*, char const*, void (**)()) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== by 0x416F0E1: ROOT::GetROOT() (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== by 0x4171FA4: _GLOBAL__I_gROOTMutex (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== by 0x44E265C: (within /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== by 0x41074AC: (within /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== ==27961== ==27961== 846 (64 direct, 782 indirect) bytes in 1 blocks are definitely lost in loss record 208 of 401 ==27961== at 0x4004BBE: operator new[](unsigned) (vg_replace_malloc.c:197) ==27961== by 0x417285B: TStorage::Alloc(unsigned) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== by 0x41BB30B: TObjArray::Init(int, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== by 0x41BB918: TObjArray::TObjArray(int, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== by 0x4420EEE: ROOT::new_TObjArray(void*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== by 0x41CBA8C: TClass::New(TClass::ENewType) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== by 0x5FD69D7: TBufferFile::ReadObjectAny(TClass const*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==27961== by 0x5FD5400: TBufferFile::ReadFastArray(void**, TClass const*, int, bool, TMemberStreamer*, TClass const*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==27961== by 0x608F480: int TStreamerInfo::ReadBuffer<char**>(TBuffer&, char** const&, int, int, int, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==27961== by 0x5FD8A92: TBufferFile::ReadClassBuffer(TClass const*, void*, TClass const*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==27961== by 0x66AF14C: TGeoVolume::Streamer(TBuffer&) (in /home/spataro/jan10/tools/root/lib/libGeom.so.5.26) ==27961== by 0x60046D5: TKey::ReadObj() (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==27961== ==27961== ==27961== 284 bytes in 1 blocks are definitely lost in loss record 234 of 401 ==27961== at 0x4004790: operator new(unsigned) (vg_replace_malloc.c:164) ==27961== by 0x7FE0CF9: FairParRootFileIo::open(char const*, char const*, char const*, int) (FairParRootFileIo.cxx:103) ==27961== by 0x7FFE9F3: G__ParBaseDict_216_0_3(G__value*, char const*, G__param*, int) (ParBaseDict.cxx:4970) ==27961== 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) ==27961== by 0x4792A9F: G__execute_call (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==27961== by 0x4792DB1: G__call_cppfunc (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==27961== by 0x47748F2: G__interpret_func (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==27961== by 0x4760F27: G__getfunction (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==27961== by 0x484A338: G__getstructmem (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==27961== by 0x4841F75: G__getvariable (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==27961== by 0x4743EE5: G__getitem (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==27961== by 0x4748088: G__getexpr (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==27961== ==27961== ==27961== 404 bytes in 1 blocks are possibly lost in loss record 248 of 401 ==27961== at 0x4004BBE: operator new[](unsigned) (vg_replace_malloc.c:197) ==27961== by 0x41B5E05: THashTable::THashTable(int, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== by 0x41B5280: THashList::THashList(int, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== by 0x5FDD9FE: TDirectoryFile::Build(TFile*, TDirectory*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==27961== by 0x5FF1CA3: TFile::TFile(char const*, char const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==27961== by 0x99E3C04: PndFieldMap::ReadRootFile(char const*, char const*) (PndFieldMap.cxx:511) ==27961== by 0x99E0EE8: PndFieldMap::Init() (PndFieldMap.cxx:114) ==27961== by 0x99F3791: PndMultiField::Init() (PndMultiField.cxx:137) ==27961== by 0x8FFF6C3: FairRunSim::Init() (FairRunSim.cxx:144) ==27961== by 0x903FD81: G__FairDict_739_0_4(G__value*, char const*, G__param*, int) (FairDict.cxx:11061) ==27961== 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) ==27961== by 0x4792A9F: G__execute_call (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==27961== ==27961== ==27961== 2,249 bytes in 52 blocks are definitely lost in loss record 297 of 401 ==27961== at 0x4004BBE: operator new[](unsigned) (vg_replace_malloc.c:197) ==27961== by 0x4176EFE: StrDup(char const*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== by 0x4186CF4: TSystem::Which(char const*, char const*, EAccessMode) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== by 0x420BC87: TUnixSystem::DynamicPathName(char const*, bool) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== 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) ==27961== 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) ==27961== by 0x4792A9F: G__execute_call (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==27961== by 0x4792DB1: G__call_cppfunc (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==27961== by 0x47748F2: G__interpret_func (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==27961== by 0x4760F27: G__getfunction (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==27961== by 0x484A338: G__getstructmem (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==27961== by 0x4841F75: G__getvariable (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==27961== ==27961== ==27961== 2,676 (2,580 direct, 96 indirect) bytes in 1 blocks are definitely lost in loss record 306 of 401 ==27961== at 0x4004790: operator new(unsigned) (vg_replace_malloc.c:164) ==27961== by 0xACDA48E: PndDrc::Initialize() (PndDrc.cxx:146) ==27961== by 0x8FE8FB5: FairMCApplication::InitGeometry() (FairMCApplication.cxx:627) ==27961== by 0x12ADE951: TGeant3::Init() (in /home/spataro/jan10/transport/geant3/lib/tgt_linux/libgeant321.so) ==27961== by 0x8FE7246: FairMCApplication::InitMC(char const*, char const*) (FairMCApplication.cxx:219) ==27961== by 0x900189E: FairRunSim::SetMCConfig() (FairRunSim.cxx:359) ==27961== by 0x8FFF828: FairRunSim::Init() (FairRunSim.cxx:164) ==27961== by 0x903FD81: G__FairDict_739_0_4(G__value*, char const*, G__param*, int) (FairDict.cxx:11061) ==27961== 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) ==27961== by 0x4792A9F: G__execute_call (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==27961== by 0x4792DB1: G__call_cppfunc (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==27961== by 0x47748F2: G__interpret_func (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==27961== ==27961== ==27961== 3,008 bytes in 47 blocks are possibly lost in loss record 308 of 401 ==27961== at 0x4004BBE: operator new[](unsigned) (vg_replace_malloc.c:197) ==27961== by 0x417285B: TStorage::Alloc(unsigned) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== by 0x41BB30B: TObjArray::Init(int, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== by 0x41BB918: TObjArray::TObjArray(int, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== by 0x415819F: TPRegexp::MatchS(TString const&, TString const&, int, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== by 0x9C98BA3: PndEmcStructure::crystal_name_analysis(TString, int&, int&, int&, int&) (PndEmcStructure.cxx:230) ==27961== by 0x9C975E8: PndEmcStructure::PndEmcStructure(TGeoManager*) (PndEmcStructure.cxx:97) ==27961== by 0x9C964D5: PndEmcStructure::Instance() (PndEmcStructure.cxx:70) ==27961== by 0x9C6F0EB: PndEmcHitProducer::Init() (PndEmcHitProducer.cxx:109) ==27961== by 0x90028D6: FairTask::InitTask() (FairTask.cxx:41) ==27961== by 0x9002C71: FairTask::InitTasks() (FairTask.cxx:111) ==27961== by 0x9002972: FairTask::InitTask() (FairTask.cxx:48) ==27961== ==27961== ==27961== 6,717 bytes in 267 blocks are possibly lost in loss record 330 of 401 ==27961== at 0x4004790: operator new(unsigned) (vg_replace_malloc.c:164) ==27961== by 0xC17971: std::string::_Rep::_S_create(unsigned, unsigned, std::allocator<char> const&) (in /usr/lib/libstdc++.so.6.0.3) ==27961== by 0xC19DF4: (within /usr/lib/libstdc++.so.6.0.3) ==27961== by 0xC19F01: std::string::string(char const*, std::allocator<char> const&) (in /usr/lib/libstdc++.so.6.0.3) ==27961== by 0x41CEF5E: TClass::AddClass(TClass*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== by 0x41CF433: TClass::Init(char const*, short, std::type_info const*, TVirtualIsAProxy*, void (*)(void*, TMemberInspector&, char*), char const*, char const*, int, int, bool) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== by 0x41CFF8B: TClass::TClass(char const*, short, std::type_info const&, TVirtualIsAProxy*, void (*)(void*, TMemberInspector&, char*), char const*, char const*, int, int, bool) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== by 0x41D00C2: ROOT::CreateClass(char const*, short, std::type_info const&, TVirtualIsAProxy*, void (*)(void*, TMemberInspector&, char*), char const*, char const*, int, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== by 0x41E01A0: ROOT::TDefaultInitBehavior::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) ==27961== by 0x41DDBD8: ROOT::TGenericClassInfo::GetClass() (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== by 0x7C5EBC1: TGX11TTF::Dictionary() (in /home/spataro/jan10/tools/root/lib/libGX11TTF.so.5.26) ==27961== by 0x41711FE: TROOT::LoadClass(char const*, bool) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== ==27961== ==27961== 16,176 bytes in 134 blocks are possibly lost in loss record 345 of 401 ==27961== at 0x4004BBE: operator new[](unsigned) (vg_replace_malloc.c:197) ==27961== by 0x600EA2F: TStreamerInfo::Compile() (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==27961== by 0x6018FDF: TStreamerInfo::BuildOld() (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==27961== by 0x5FD8CCD: TBufferFile::ReadClassBuffer(TClass const*, void*, TClass const*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==27961== by 0x66DD6F9: TGeoVolumeAssembly::Streamer(TBuffer&) (in /home/spataro/jan10/tools/root/lib/libGeom.so.5.26) ==27961== by 0x41C9A1F: TClass::Streamer(void*, TBuffer&, TClass const*) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== by 0x5FD6A13: TBufferFile::ReadObjectAny(TClass const*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==27961== by 0x5FD5400: TBufferFile::ReadFastArray(void**, TClass const*, int, bool, TMemberStreamer*, TClass const*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==27961== by 0x608F480: int TStreamerInfo::ReadBuffer<char**>(TBuffer&, char** const&, int, int, int, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==27961== by 0x5FD8A92: TBufferFile::ReadClassBuffer(TClass const*, void*, TClass const*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==27961== by 0x66DE165: TGeoNode::Streamer(TBuffer&) (in /home/spataro/jan10/tools/root/lib/libGeom.so.5.26) ==27961== by 0x67957CC: TGeoNode::StreamerNVirtual(TBuffer&) (in /home/spataro/jan10/tools/root/lib/libGeom.so.5.26) ==27961== ==27961== ==27961== 41,336 bytes in 435 blocks are possibly lost in loss record 360 of 401 ==27961== at 0x4004790: operator new(unsigned) (vg_replace_malloc.c:164) ==27961== by 0x4172F35: TStorage::ObjectAlloc(unsigned) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== by 0x4205179: TObject::operator new(unsigned) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== 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) ==27961== by 0x41DDBD8: ROOT::TGenericClassInfo::GetClass() (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== by 0x78E3372: TGClient::Class() (in /home/spataro/jan10/tools/root/lib/libGui.so.5.26) ==27961== by 0x77CDCA1: TGClient::IsA() const (in /home/spataro/jan10/tools/root/lib/libGui.so.5.26) ==27961== by 0x41655F5: TQObject::Emit(char const*, long) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== by 0x77CCB08: TGClient::RegisteredWindow(unsigned long) (in /home/spataro/jan10/tools/root/lib/libGui.so.5.26) ==27961== by 0x77CCB48: TGClient::RegisterWindow(TGWindow*) (in /home/spataro/jan10/tools/root/lib/libGui.so.5.26) ==27961== by 0x78B3975: TGWindow::TGWindow(TGClient*, unsigned long, TGWindow const*) (in /home/spataro/jan10/tools/root/lib/libGui.so.5.26) ==27961== by 0x78008BA: TGFrame::TGFrame(TGClient*, unsigned long, TGWindow const*) (in /home/spataro/jan10/tools/root/lib/libGui.so.5.26) ==27961== ==27961== ==27961== 95,408 bytes in 16,006 blocks are definitely lost in loss record 373 of 401 ==27961== at 0x4004BBE: operator new[](unsigned) (vg_replace_malloc.c:197) ==27961== by 0x665C807: TGeoMatrix::SetDefaultName() (in /home/spataro/jan10/tools/root/lib/libGeom.so.5.26) ==27961== by 0x8FEF1AB: FairModule::ExpandNode(TGeoNode*) (FairModule.cxx:293) ==27961== by 0x8FEF1D7: FairModule::ExpandNode(TGeoNode*) (FairModule.cxx:294) ==27961== by 0x8FEF1D7: FairModule::ExpandNode(TGeoNode*) (FairModule.cxx:294) ==27961== by 0x8FEF1D7: FairModule::ExpandNode(TGeoNode*) (FairModule.cxx:294) ==27961== by 0x8FEF1D7: FairModule::ExpandNode(TGeoNode*) (FairModule.cxx:294) ==27961== by 0x8FEEF86: FairModule::ConstructRootGeometry() (FairModule.cxx:267) ==27961== by 0xA743CE7: PndSdsDetector::ConstructGeometry() (PndSdsDetector.cxx:306) ==27961== by 0x8FE89CE: FairMCApplication::ConstructGeometry() (FairMCApplication.cxx:559) ==27961== by 0x12ADE92A: TGeant3::Init() (in /home/spataro/jan10/transport/geant3/lib/tgt_linux/libgeant321.so) ==27961== by 0x8FE7246: FairMCApplication::InitMC(char const*, char const*) (FairMCApplication.cxx:219) ==27961== ==27961== ==27961== 1,185,244 bytes in 27,827 blocks are possibly lost in loss record 392 of 401 ==27961== at 0x4004BBE: operator new[](unsigned) (vg_replace_malloc.c:197) ==27961== by 0x417381B: TStringRef::GetRep(int, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== by 0x4173B13: TString::TString(char const*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== by 0x41AEDD7: TClassTable::Add(char const*, short, std::type_info const&, void (*)(), int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== by 0x41AEE60: ROOT::AddClass(char const*, short, std::type_info const&, void (*)(), int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== 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) ==27961== by 0x41DD2ED: ROOT::TGenericClassInfo::Init(int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== 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) ==27961== by 0x4E30A89: ROOT::GenerateInitInstanceLocal(TRint const*) (in /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==27961== by 0x4E36CAD: __static_initialization_and_destruction_0(int, int) (in /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==27961== by 0x4E36D58: _GLOBAL__I__ZN4ROOT20GenerateInitInstanceEPK5TRint (in /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==27961== by 0x4E37B08: (within /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==27961== ==27961== ==27961== 11,256,910 (5,551,936 direct, 5,704,974 indirect) bytes in 61,998 blocks are definitely lost in loss record 398 of 401 ==27961== at 0x4004790: operator new(unsigned) (vg_replace_malloc.c:164) ==27961== by 0x4172F35: TStorage::ObjectAlloc(unsigned) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== by 0x4205179: TObject::operator new(unsigned) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== by 0x66D1DFD: ROOT::new_TGeoHMatrix(void*) (in /home/spataro/jan10/tools/root/lib/libGeom.so.5.26) ==27961== by 0x41CBA8C: TClass::New(TClass::ENewType) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== by 0x5FD69D7: TBufferFile::ReadObjectAny(TClass const*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==27961== by 0x5FD5400: TBufferFile::ReadFastArray(void**, TClass const*, int, bool, TMemberStreamer*, TClass const*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==27961== by 0x608F480: int TStreamerInfo::ReadBuffer<char**>(TBuffer&, char** const&, int, int, int, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==27961== by 0x5FD8A92: TBufferFile::ReadClassBuffer(TClass const*, void*, TClass const*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==27961== by 0x66DEDCD: TGeoNodeMatrix::Streamer(TBuffer&) (in /home/spataro/jan10/tools/root/lib/libGeom.so.5.26) ==27961== by 0x41C9A1F: TClass::Streamer(void*, TBuffer&, TClass const*) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==27961== by 0x5FD6A13: TBufferFile::ReadObjectAny(TClass const*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==27961== ==27961== LEAK SUMMARY: ==27961== definitely lost: 5,652,913 bytes in 78,067 blocks. ==27961== indirectly lost: 5,705,916 bytes in 212,768 blocks. ==27961== possibly lost: 1,252,945 bytes in 28,715 blocks. ==27961== still reachable: 110,619,667 bytes in 471,607 blocks. ==27961== suppressed: 0 bytes in 0 blocks. ==27961== Reachable blocks (those to which a pointer was found) are not shown. ==27961== To see them, rerun with: --show-reachable=yes Here you are the errors we have found, and the fix commited in the code: PndTof.cxx line 200: TList* nodeList = node->getTree(); This information is not used, I have commented out this part. PndStack::UpdateTrackIndex(TRefArray*) (PndStack.cxx:332) TIterator* detIter = detList->MakeIterator(); ??? FairParRootFileIo::open(char const*, char const*, char const*, int) (FairParRootFileIo.cxx:103) -> fstream *f = new fstream(fname); ??? PndDrc::Initialize() (PndDrc.cxx:146) ->PndDrcOptDevManager* manager = new PndDrcOptDevManager(); Added in PndDrcOptDevmanager contructor: fgInstance = this; PndEmcStructure::crystal_name_analysis(TString, int&, int&, int&, int&) (PndEmcStructure.cxx:230) -> TObjArray *subStrL = TPRegexp("^cave/Emc\\d+_(\\d+)/EmcLayer\\d_0/emc(\\d+)r(\\d+)c(\\d+)_0$ ").MatchS(node_path); Is it possible to avoid to use TPRegexp? It seems very error prone, in particular for TObjArray. FairModule::ExpandNode(TGeoNode*) (FairModule.cxx:293) -> M->SetDefaultName(); This SetDefaultname is giving us a lot of troubles: 95,408 bytes in 16,006 blocks are definitely lost in loss record 373 of 401 in particular for the MVD geometry. Probably we should set each matrix name by hands, instead of using this default option. --- These are just few of the messages in the log. Just doing the modifications in Dirc and Tof the simulation does not crash anymore at that event.. however also the other points should be checked and somehow fixed.
Hi Stefano, Quote: PndStack::UpdateTrackIndex(TRefArray*) (PndStack.cxx:332) TIterator* detIter = detList->MakeIterator(); solved, delete detIter is added to the code. Quote: FairParRootFileIo::open(char const*, char const*, char const*, int) (FairParRootFileIo.cxx:103) -> fstream *f = new fstream(fname); solved, delete f is added at the right place. Quote: FairModule::ExpandNode(TGeoNode*) (FairModule.cxx:293) -> M->SetDefaultName(); Here I am not sure! the method (M->SetDefaultName()) is doing much more than setting a name, it check the type of transformation, prepend a letter corresponding to the type and finally append the index of the transformation to the current GeoManager. and in any case we are speaking about 100 kB per session. So I do not believe that this is a big problem, I agree it has to be solved but we still have much worse problems. regards Mohammad
Mohammad wrote Quote: FairModule::ExpandNode(TGeoNode*) (FairModule.cxx:293) -> M->SetDefaultName(); Here I am not sure! the method (M->SetDefaultName()) is doing much more than setting a name, it check the type of transformation, prepend a letter corresponding to the type and finally append the index of the transformation to the current GeoManager. and in any case we are speaking about 100 kB per session. So I do not believe that this is a big problem, I agree it has to be solved but we still have much worse problems. Hi, I think we just could copy this function and change the way of setting the name. This would look like that: void FairModule::SetDefaultMatrixName(TGeoMatrix* matrix) { // Copied from root TGeoMatrix::SetDefaultName() and modified (memory leak) // If no name was supplied in the ctor, the type of transformation is checked. // A letter will be prepended to the name : // t - translation // r - rotation // s - scale // c - combi (translation + rotation) // g - general (tr+rot+scale) // The index of the transformation in gGeoManager list of transformations will // be appended. if (!gGeoManager) return; if (strlen(matrix->GetName())) return; char type = 'n'; if (matrix->IsTranslation()) type = 't'; if (matrix->IsRotation()) type = 'r'; if (matrix->IsScale()) type = 's'; if (matrix->IsCombi()) type = 'c'; if (matrix->IsGeneral()) type = 'g'; TObjArray *matrices = gGeoManager->GetListOfMatrices(); Int_t index = 0; if (matrices) index =matrices->GetEntriesFast() - 1; matrix->SetName(Form("%c%i", type, index)); } Kind regards, Ralf.
Hi Ralf, Ok, it is in SVN now! Mohammad
Thanks Mohammad, I have updated svn and run valrind one a single event. Now, what is left is, in the initialization: Toggle Spoiler RuntimeDb: write container FairBaseParSet ==7891== Use of uninitialised value of size 4 ==7891== at 0x42169AF: deflate_fast (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x421556D: deflate (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x42127FA: R__zip (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x5F06617: TKey::TKey(TObject const*, char const*, int, TDirectory*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRootFileIo.cxx:70) ==7891== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSet.cxx:43) ==7891== by 0x7EE8E6A: FairRuntimeDb::writeContainer(FairParSet*, FairRtdbRun*, FairRtdbRun*) (FairRuntimeDb.cxx:297) ==7891== by 0x7EE8A37: FairRuntimeDb::writeContainers() (FairRuntimeDb.cxx:242) ==7891== ==7891== Use of uninitialised value of size 4 ==7891== at 0x42169C6: deflate_fast (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x421556D: deflate (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x42127FA: R__zip (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x5F06617: TKey::TKey(TObject const*, char const*, int, TDirectory*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRootFileIo.cxx:70) ==7891== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSet.cxx:43) ==7891== by 0x7EE8E6A: FairRuntimeDb::writeContainer(FairParSet*, FairRtdbRun*, FairRtdbRun*) (FairRuntimeDb.cxx:297) ==7891== by 0x7EE8A37: FairRuntimeDb::writeContainers() (FairRuntimeDb.cxx:242) ==7891== ==7891== Use of uninitialised value of size 4 ==7891== at 0x421683A: deflate_fast (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x421556D: deflate (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x42127FA: R__zip (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x5F06617: TKey::TKey(TObject const*, char const*, int, TDirectory*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRootFileIo.cxx:70) ==7891== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSet.cxx:43) ==7891== by 0x7EE8E6A: FairRuntimeDb::writeContainer(FairParSet*, FairRtdbRun*, FairRtdbRun*) (FairRuntimeDb.cxx:297) ==7891== by 0x7EE8A37: FairRuntimeDb::writeContainers() (FairRuntimeDb.cxx:242) ==7891== ==7891== Use of uninitialised value of size 4 ==7891== at 0x421684B: deflate_fast (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x421556D: deflate (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x42127FA: R__zip (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x5F06617: TKey::TKey(TObject const*, char const*, int, TDirectory*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRootFileIo.cxx:70) ==7891== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSet.cxx:43) ==7891== by 0x7EE8E6A: FairRuntimeDb::writeContainer(FairParSet*, FairRtdbRun*, FairRtdbRun*) (FairRuntimeDb.cxx:297) ==7891== by 0x7EE8A37: FairRuntimeDb::writeContainers() (FairRuntimeDb.cxx:242) ==7891== ==7891== Use of uninitialised value of size 4 ==7891== at 0x4216A24: deflate_fast (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x421556D: deflate (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x42127FA: R__zip (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x5F06617: TKey::TKey(TObject const*, char const*, int, TDirectory*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRootFileIo.cxx:70) ==7891== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSet.cxx:43) ==7891== by 0x7EE8E6A: FairRuntimeDb::writeContainer(FairParSet*, FairRtdbRun*, FairRtdbRun*) (FairRuntimeDb.cxx:297) ==7891== by 0x7EE8A37: FairRuntimeDb::writeContainers() (FairRuntimeDb.cxx:242) ==7891== ==7891== Conditional jump or move depends on uninitialised value(s) ==7891== at 0x42162F6: longest_match (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4216BA3: deflate_fast (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x421556D: deflate (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x42127FA: R__zip (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x5F06617: TKey::TKey(TObject const*, char const*, int, TDirectory*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRootFileIo.cxx:70) ==7891== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSet.cxx:43) ==7891== by 0x7EE8E6A: FairRuntimeDb::writeContainer(FairParSet*, FairRtdbRun*, FairRtdbRun*) (FairRuntimeDb.cxx:297) ==7891== ==7891== Conditional jump or move depends on uninitialised value(s) ==7891== at 0x4216308: longest_match (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4216BA3: deflate_fast (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x421556D: deflate (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x42127FA: R__zip (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x5F06617: TKey::TKey(TObject const*, char const*, int, TDirectory*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRootFileIo.cxx:70) ==7891== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSet.cxx:43) ==7891== by 0x7EE8E6A: FairRuntimeDb::writeContainer(FairParSet*, FairRtdbRun*, FairRtdbRun*) (FairRuntimeDb.cxx:297) ==7891== ==7891== Conditional jump or move depends on uninitialised value(s) ==7891== at 0x42162FF: longest_match (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4216BA3: deflate_fast (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x421556D: deflate (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x42127FA: R__zip (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x5F06617: TKey::TKey(TObject const*, char const*, int, TDirectory*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRootFileIo.cxx:70) ==7891== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSet.cxx:43) ==7891== by 0x7EE8E6A: FairRuntimeDb::writeContainer(FairParSet*, FairRtdbRun*, FairRtdbRun*) (FairRuntimeDb.cxx:297) ==7891== ==7891== Conditional jump or move depends on uninitialised value(s) ==7891== at 0x4216324: longest_match (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4216BA3: deflate_fast (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x421556D: deflate (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x42127FA: R__zip (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x5F06617: TKey::TKey(TObject const*, char const*, int, TDirectory*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRootFileIo.cxx:70) ==7891== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSet.cxx:43) ==7891== by 0x7EE8E6A: FairRuntimeDb::writeContainer(FairParSet*, FairRtdbRun*, FairRtdbRun*) (FairRuntimeDb.cxx:297) ==7891== ==7891== Conditional jump or move depends on uninitialised value(s) ==7891== at 0x421632F: longest_match (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4216BA3: deflate_fast (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x421556D: deflate (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x42127FA: R__zip (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x5F06617: TKey::TKey(TObject const*, char const*, int, TDirectory*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRootFileIo.cxx:70) ==7891== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSet.cxx:43) ==7891== by 0x7EE8E6A: FairRuntimeDb::writeContainer(FairParSet*, FairRtdbRun*, FairRtdbRun*) (FairRuntimeDb.cxx:297) ==7891== ==7891== Conditional jump or move depends on uninitialised value(s) ==7891== at 0x4216350: longest_match (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4216BA3: deflate_fast (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x421556D: deflate (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x42127FA: R__zip (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x5F06617: TKey::TKey(TObject const*, char const*, int, TDirectory*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRootFileIo.cxx:70) ==7891== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSet.cxx:43) ==7891== by 0x7EE8E6A: FairRuntimeDb::writeContainer(FairParSet*, FairRtdbRun*, FairRtdbRun*) (FairRuntimeDb.cxx:297) ==7891== ==7891== Conditional jump or move depends on uninitialised value(s) ==7891== at 0x4216310: longest_match (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4216BA3: deflate_fast (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x421556D: deflate (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x42127FA: R__zip (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x5F06617: TKey::TKey(TObject const*, char const*, int, TDirectory*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRootFileIo.cxx:70) ==7891== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSet.cxx:43) ==7891== by 0x7EE8E6A: FairRuntimeDb::writeContainer(FairParSet*, FairRtdbRun*, FairRtdbRun*) (FairRuntimeDb.cxx:297) ==7891== ==7891== Conditional jump or move depends on uninitialised value(s) ==7891== at 0x4216345: longest_match (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4216BA3: deflate_fast (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x421556D: deflate (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x42127FA: R__zip (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x5F06617: TKey::TKey(TObject const*, char const*, int, TDirectory*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRootFileIo.cxx:70) ==7891== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSet.cxx:43) ==7891== by 0x7EE8E6A: FairRuntimeDb::writeContainer(FairParSet*, FairRtdbRun*, FairRtdbRun*) (FairRuntimeDb.cxx:297) ==7891== ==7891== Conditional jump or move depends on uninitialised value(s) ==7891== at 0x4216371: longest_match (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4216BA3: deflate_fast (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x421556D: deflate (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x42127FA: R__zip (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x5F06617: TKey::TKey(TObject const*, char const*, int, TDirectory*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRootFileIo.cxx:70) ==7891== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSet.cxx:43) ==7891== by 0x7EE8E6A: FairRuntimeDb::writeContainer(FairParSet*, FairRtdbRun*, FairRtdbRun*) (FairRuntimeDb.cxx:297) ==7891== ==7891== Conditional jump or move depends on uninitialised value(s) ==7891== at 0x421633A: longest_match (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4216BA3: deflate_fast (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x421556D: deflate (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x42127FA: R__zip (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x5F06617: TKey::TKey(TObject const*, char const*, int, TDirectory*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRootFileIo.cxx:70) ==7891== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSet.cxx:43) ==7891== by 0x7EE8E6A: FairRuntimeDb::writeContainer(FairParSet*, FairRtdbRun*, FairRtdbRun*) (FairRuntimeDb.cxx:297) ==7891== ==7891== Conditional jump or move depends on uninitialised value(s) ==7891== at 0x421635B: longest_match (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4216BA3: deflate_fast (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x421556D: deflate (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x42127FA: R__zip (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x5F06617: TKey::TKey(TObject const*, char const*, int, TDirectory*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRootFileIo.cxx:70) ==7891== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSet.cxx:43) ==7891== by 0x7EE8E6A: FairRuntimeDb::writeContainer(FairParSet*, FairRtdbRun*, FairRtdbRun*) (FairRuntimeDb.cxx:297) ==7891== ==7891== Conditional jump or move depends on uninitialised value(s) ==7891== at 0x4216366: longest_match (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4216BA3: deflate_fast (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x421556D: deflate (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x42127FA: R__zip (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x5F06617: TKey::TKey(TObject const*, char const*, int, TDirectory*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRootFileIo.cxx:70) ==7891== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSet.cxx:43) ==7891== by 0x7EE8E6A: FairRuntimeDb::writeContainer(FairParSet*, FairRtdbRun*, FairRtdbRun*) (FairRuntimeDb.cxx:297) ==7891== ==7891== Use of uninitialised value of size 4 ==7891== at 0x421CE87: compress_block (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x421D932: _tr_flush_block (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4216A84: deflate_fast (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x421556D: deflate (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x42127FA: R__zip (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x5F06617: TKey::TKey(TObject const*, char const*, int, TDirectory*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRootFileIo.cxx:70) ==7891== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSet.cxx:43) ==7891== ==7891== Use of uninitialised value of size 4 ==7891== at 0x421D1AA: compress_block (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x421D932: _tr_flush_block (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4216A84: deflate_fast (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x421556D: deflate (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x42127FA: R__zip (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x5F06617: TKey::TKey(TObject const*, char const*, int, TDirectory*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRootFileIo.cxx:70) ==7891== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSet.cxx:43) ==7891== ==7891== Use of uninitialised value of size 4 ==7891== at 0x421CEA9: compress_block (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x421D932: _tr_flush_block (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4216A84: deflate_fast (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x421556D: deflate (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x42127FA: R__zip (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x5F06617: TKey::TKey(TObject const*, char const*, int, TDirectory*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRootFileIo.cxx:70) ==7891== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSet.cxx:43) ==7891== ==7891== Use of uninitialised value of size 4 ==7891== at 0x421CE87: compress_block (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x421D932: _tr_flush_block (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4216B0B: deflate_fast (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x421556D: deflate (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x42127FA: R__zip (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x5F06617: TKey::TKey(TObject const*, char const*, int, TDirectory*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRootFileIo.cxx:70) ==7891== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSet.cxx:43) ==7891== ==7891== Use of uninitialised value of size 4 ==7891== at 0x421D1AA: compress_block (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x421D932: _tr_flush_block (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4216B0B: deflate_fast (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x421556D: deflate (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x42127FA: R__zip (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x5F06617: TKey::TKey(TObject const*, char const*, int, TDirectory*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRootFileIo.cxx:70) ==7891== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSet.cxx:43) ==7891== ==7891== Use of uninitialised value of size 4 ==7891== at 0x421CEA9: compress_block (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x421D932: _tr_flush_block (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4216B0B: deflate_fast (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x421556D: deflate (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x42127FA: R__zip (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x5F06617: TKey::TKey(TObject const*, char const*, int, TDirectory*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRootFileIo.cxx:70) ==7891== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSet.cxx:43) ==7891== ==7891== Syscall param write(buf) points to uninitialised byte(s) ==7891== at 0x9FC5F3: __write_nocancel (in /lib/tls/libpthread-2.3.4.so) ==7891== by 0x5EF0BEF: TFile::WriteBuffer(char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5F06CF7: TKey::WriteFile(int, TFile*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EE3066: TDirectoryFile::WriteTObject(TObject const*, char const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRootFileIo.cxx:70) ==7891== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSet.cxx:43) ==7891== by 0x7EE8E6A: FairRuntimeDb::writeContainer(FairParSet*, FairRtdbRun*, FairRtdbRun*) (FairRuntimeDb.cxx:297) ==7891== by 0x7EE8A37: FairRuntimeDb::writeContainers() (FairRuntimeDb.cxx:242) ==7891== by 0x7EEA2B4: FairRuntimeDb::saveOutput() (FairRuntimeDb.cxx:600) ==7891== by 0x7F018FC: G__ParBaseDict_237_0_31(G__value*, char const*, G__param*, int) (ParBaseDict.cxx:5982) ==7891== Address 0x1C5DFD15 is 1,535,213 bytes inside a block of size 11,257,419 alloc'd ==7891== at 0x4004BBE: operator new[](unsigned) (vg_replace_malloc.c:197) ==7891== by 0x5F065AD: TKey::TKey(TObject const*, char const*, int, TDirectory*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EEDC88: TFile::CreateKey(TDirectory*, TObject const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5EE2F60: TDirectoryFile::WriteTObject(TObject const*, char const*, char const*, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x41520E7: TObject::Write(char const*, int, int) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4151F62: TObject::Write(char const*, int, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x7EDA4C1: FairDetParRootFileIo::write(FairParSet*) (FairDetParRootFileIo.cxx:70) ==7891== by 0x7EDE7E5: FairParGenericSet::write(FairParIo*) (FairParGenericSet.cxx:43) ==7891== by 0x7EE8E6A: FairRuntimeDb::writeContainer(FairParSet*, FairRtdbRun*, FairRtdbRun*) (FairRuntimeDb.cxx:297) ==7891== by 0x7EE8A37: FairRuntimeDb::writeContainers() (FairRuntimeDb.cxx:242) ==7891== by 0x7EEA2B4: FairRuntimeDb::saveOutput() (FairRuntimeDb.cxx:600) ==7891== by 0x7F018FC: G__ParBaseDict_237_0_31(G__value*, char const*, G__param*, int) (ParBaseDict.cxx:5982) At the end: Toggle Spoiler RealTime=1009.809869 seconds, CpuTime=1002.530000 seconds (int)58 root [1] .q ==7891== ==7891== ERROR SUMMARY: 32752 errors from 24 contexts (suppressed: 114960 from 4) ==7891== malloc/free: in use at exit: 119,525,403 bytes in 751,114 blocks. ==7891== malloc/free: 9,618,266 allocs, 8,867,152 frees, 1,272,826,713 bytes allocated. ==7891== For counts of detected errors, rerun with: -v ==7891== searching for pointers to 751,114 not-freed blocks. ==7891== checked 136,672,348 bytes. ==7891== ==7891== ==7891== 2 bytes in 1 blocks are definitely lost in loss record 4 of 390 ==7891== at 0x4004405: malloc (vg_replace_malloc.c:149) ==7891== by 0x47A1685: G__memfunc_para_setup (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==7891== by 0x47A1DD1: G__parse_parameter_link (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==7891== by 0x47A9E22: G__memfunc_setup_imp (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==7891== by 0x47AA779: G__memfunc_setup (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==7891== by 0x4D859C4: G__cpp_setup_func3() (in /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==7891== by 0x4D85D99: G__cpp_setup_funcG__MathCore (in /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==7891== by 0x4D86D91: G__cpp_setupG__MathCore (in /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==7891== by 0x4782AE4: G__call_setup_funcs (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==7891== by 0x4782DE5: G__main (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==7891== by 0x4784BE3: G__init_cint (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==7891== by 0x41F5FD8: TCint::ResetAll() (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== ==7891== ==7891== 20 bytes in 1 blocks are definitely lost in loss record 98 of 390 ==7891== at 0x4004790: operator new(unsigned) (vg_replace_malloc.c:164) ==7891== by 0x41BC073: TObjArray::MakeIterator(bool) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x7F79700: FairMCApplication::AddParticles() (FairMCApplication.cxx:767) ==7891== by 0x12B3B90E: TGeant3::Init() (in /home/spataro/jan10/transport/geant3/lib/tgt_linux/libgeant321.so) ==7891== by 0x7F76E32: FairMCApplication::InitMC(char const*, char const*) (FairMCApplication.cxx:219) ==7891== by 0x7F9271A: FairRunSim::SetMCConfig() (FairRunSim.cxx:359) ==7891== by 0x7F906A4: FairRunSim::Init() (FairRunSim.cxx:164) ==7891== by 0x7FD1A1F: G__FairDict_746_0_4(G__value*, char const*, G__param*, int) (FairDict.cxx:11195) ==7891== 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) ==7891== by 0x4792A9F: G__execute_call (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==7891== by 0x4792DB1: G__call_cppfunc (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==7891== by 0x47748F2: G__interpret_func (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==7891== ==7891== ==7891== 46 bytes in 1 blocks are definitely lost in loss record 126 of 390 ==7891== at 0x4004405: malloc (vg_replace_malloc.c:149) ==7891== by 0x4787D7A: G__register_sharedlib (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==7891== by 0x4813684: G__RegisterLibrary (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==7891== by 0x4782953: G__add_setup_func (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==7891== by 0x4E373E0: G__cpp_setup_initG__Rint::G__cpp_setup_initG__Rint() (in /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==7891== by 0x4E36CF6: __static_initialization_and_destruction_0(int, int) (in /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==7891== by 0x4E36D58: _GLOBAL__I__ZN4ROOT20GenerateInitInstanceEPK5TRint (in /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==7891== by 0x4E37B08: (within /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==7891== by 0x4E2151C: (within /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==7891== by 0x76B897: _dl_init (in /lib/ld-2.3.4.so) ==7891== by 0x75F7FE: (within /lib/ld-2.3.4.so) ==7891== ==7891== ==7891== 60 (28 direct, 32 indirect) bytes in 1 blocks are definitely lost in loss record 127 of 390 ==7891== at 0x4004405: malloc (vg_replace_malloc.c:149) ==7891== by 0x47AA09B: G__memfunc_setup_imp (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==7891== by 0x47AA779: G__memfunc_setup (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==7891== by 0x4D859C4: G__cpp_setup_func3() (in /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==7891== by 0x4D85D99: G__cpp_setup_funcG__MathCore (in /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==7891== by 0x4D86D91: G__cpp_setupG__MathCore (in /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==7891== by 0x4782AE4: G__call_setup_funcs (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==7891== by 0x4D8EBB8: G__cpp_setup_initG__MathCore::G__cpp_setup_initG__MathCore() (in /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==7891== by 0x4D87478: __static_initialization_and_destruction_0(int, int) (in /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==7891== by 0x4D87504: _GLOBAL__I__ZN4ROOT20GenerateInitInstanceEPK7TRandom (in /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==7891== by 0x4DBD630: (within /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==7891== by 0x4CC1BFC: (within /home/spataro/jan10/tools/root/lib/libMathCore.so.5.26) ==7891== ==7891== ==7891== 40 bytes in 1 blocks are possibly lost in loss record 144 of 390 ==7891== at 0x4004BBE: operator new[](unsigned) (vg_replace_malloc.c:197) ==7891== by 0x4176EFE: StrDup(char const*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4186CF4: TSystem::Which(char const*, char const*, EAccessMode) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x420BC87: TUnixSystem::DynamicPathName(char const*, bool) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== 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) ==7891== 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) ==7891== by 0x4792A9F: G__execute_call (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==7891== by 0x4792DB1: G__call_cppfunc (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==7891== by 0x47748F2: G__interpret_func (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==7891== by 0x4760F27: G__getfunction (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==7891== by 0x484A338: G__getstructmem (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==7891== by 0x4841F75: G__getvariable (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==7891== ==7891== ==7891== 60 bytes in 1 blocks are definitely lost in loss record 157 of 390 ==7891== at 0x4004405: malloc (vg_replace_malloc.c:149) ==7891== by 0x4787D3C: G__register_sharedlib (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==7891== by 0x4813684: G__RegisterLibrary (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==7891== by 0x4782953: G__add_setup_func (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==7891== by 0x4E373E0: G__cpp_setup_initG__Rint::G__cpp_setup_initG__Rint() (in /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==7891== by 0x4E36CF6: __static_initialization_and_destruction_0(int, int) (in /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==7891== by 0x4E36D58: _GLOBAL__I__ZN4ROOT20GenerateInitInstanceEPK5TRint (in /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==7891== by 0x4E37B08: (within /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==7891== by 0x4E2151C: (within /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==7891== by 0x76B897: _dl_init (in /lib/ld-2.3.4.so) ==7891== by 0x75F7FE: (within /lib/ld-2.3.4.so) ==7891== ==7891== ==7891== 200 bytes in 1 blocks are definitely lost in loss record 196 of 390 ==7891== at 0x4004BBE: operator new[](unsigned) (vg_replace_malloc.c:197) ==7891== by 0x41A6792: TArrayI::Set(int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4136319: TColor::SetPalette(int, int*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x417B5C1: TStyle::SetPalette(int, int*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x417BB3B: TStyle::Reset(char const*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x417C804: TStyle::TStyle(char const*, char const*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x417D00B: TStyle::BuildStyles() (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x416EDCE: TROOT::TROOT(char const*, char const*, void (**)()) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x416F0E1: ROOT::GetROOT() (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4171FA4: _GLOBAL__I_gROOTMutex (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x44E265C: (within /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x41074AC: (within /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== ==7891== ==7891== 2,112 bytes in 33 blocks are possibly lost in loss record 287 of 390 ==7891== at 0x4004BBE: operator new[](unsigned) (vg_replace_malloc.c:197) ==7891== by 0x417285B: TStorage::Alloc(unsigned) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x41BB30B: TObjArray::Init(int, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x41BB918: TObjArray::TObjArray(int, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x415819F: TPRegexp::MatchS(TString const&, TString const&, int, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x94B5BA3: PndEmcStructure::crystal_name_analysis(TString, int&, int&, int&, int&) (PndEmcStructure.cxx:230) ==7891== by 0x94B45E8: PndEmcStructure::PndEmcStructure(TGeoManager*) (PndEmcStructure.cxx:97) ==7891== by 0x94B34D5: PndEmcStructure::Instance() (PndEmcStructure.cxx:70) ==7891== by 0x948C0EB: PndEmcHitProducer::Init() (PndEmcHitProducer.cxx:109) ==7891== by 0x7F93752: FairTask::InitTask() (FairTask.cxx:41) ==7891== by 0x7F93AED: FairTask::InitTasks() (FairTask.cxx:111) ==7891== by 0x7F937EE: FairTask::InitTask() (FairTask.cxx:48) ==7891== ==7891== ==7891== 4,358 bytes in 101 blocks are definitely lost in loss record 312 of 390 ==7891== at 0x4004BBE: operator new[](unsigned) (vg_replace_malloc.c:197) ==7891== by 0x4176EFE: StrDup(char const*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4186CF4: TSystem::Which(char const*, char const*, EAccessMode) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x420BC87: TUnixSystem::DynamicPathName(char const*, bool) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== 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) ==7891== 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) ==7891== by 0x4792A9F: G__execute_call (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==7891== by 0x4792DB1: G__call_cppfunc (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==7891== by 0x47748F2: G__interpret_func (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==7891== by 0x4760F27: G__getfunction (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==7891== by 0x484A338: G__getstructmem (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==7891== by 0x4841F75: G__getvariable (in /home/spataro/jan10/tools/root/lib/libCint.so.5.26) ==7891== ==7891== ==7891== 6,717 bytes in 267 blocks are possibly lost in loss record 320 of 390 ==7891== at 0x4004790: operator new(unsigned) (vg_replace_malloc.c:164) ==7891== by 0xC17971: std::string::_Rep::_S_create(unsigned, unsigned, std::allocator<char> const&) (in /usr/lib/libstdc++.so.6.0.3) ==7891== by 0xC19DF4: (within /usr/lib/libstdc++.so.6.0.3) ==7891== by 0xC19F01: std::string::string(char const*, std::allocator<char> const&) (in /usr/lib/libstdc++.so.6.0.3) ==7891== by 0xB2927FD: TMVA::Types::Types() (in /home/spataro/jan10/tools/root/lib/libTMVA.so.5.26) ==7891== by 0xB21860C: _GLOBAL__I__ZN55_GLOBAL__N_tmva_src_MethodTMlpANN.cxx_CF4CBC2E_A20A69E51 9CreateMethodTMlpANNERK7TStringS2_RN4TMVA11DataSetInfoES2_ (in /home/spataro/jan10/tools/root/lib/libTMVA.so.5.26) ==7891== by 0xB3C9BEC: (within /home/spataro/jan10/tools/root/lib/libTMVA.so.5.26) ==7891== by 0xB0FEBC8: (within /home/spataro/jan10/tools/root/lib/libTMVA.so.5.26) ==7891== by 0x76B897: _dl_init (in /lib/ld-2.3.4.so) ==7891== by 0x87952E: dl_open_worker (in /lib/tls/libc-2.3.4.so) ==7891== by 0x76B66D: _dl_catch_error (in /lib/ld-2.3.4.so) ==7891== by 0x879AA7: _dl_open (in /lib/tls/libc-2.3.4.so) ==7891== ==7891== ==7891== 16,220 bytes in 135 blocks are possibly lost in loss record 335 of 390 ==7891== at 0x4004BBE: operator new[](unsigned) (vg_replace_malloc.c:197) ==7891== by 0x5F0EA2F: TStreamerInfo::Compile() (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5F18FDF: TStreamerInfo::BuildOld() (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5ED8CCD: TBufferFile::ReadClassBuffer(TClass const*, void*, TClass const*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x66D7045: TGeoTubeSeg::Streamer(TBuffer&) (in /home/spataro/jan10/tools/root/lib/libGeom.so.5.26) ==7891== by 0x41C9A1F: TClass::Streamer(void*, TBuffer&, TClass const*) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x5ED6A13: TBufferFile::ReadObjectAny(TClass const*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5ED5400: TBufferFile::ReadFastArray(void**, TClass const*, int, bool, TMemberStreamer*, TClass const*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5F8F480: int TStreamerInfo::ReadBuffer<char**>(TBuffer&, char** const&, int, int, int, int) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x5ED8A92: TBufferFile::ReadClassBuffer(TClass const*, void*, TClass const*) (in /home/spataro/jan10/tools/root/lib/libRIO.so.5.26) ==7891== by 0x66CDC79: TGeoBoolNode::Streamer(TBuffer&) (in /home/spataro/jan10/tools/root/lib/libGeom.so.5.26) ==7891== by 0x67939F6: TGeoBoolNode::StreamerNVirtual(TBuffer&) (in /home/spataro/jan10/tools/root/lib/libGeom.so.5.26) ==7891== ==7891== ==7891== 37,268 bytes in 388 blocks are possibly lost in loss record 348 of 390 ==7891== at 0x4004790: operator new(unsigned) (vg_replace_malloc.c:164) ==7891== by 0x4172F35: TStorage::ObjectAlloc(unsigned) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4205179: TObject::operator new(unsigned) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== 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) ==7891== by 0x41DDBD8: ROOT::TGenericClassInfo::GetClass() (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x70E45BB: TPad::Dictionary() (in /home/spataro/jan10/tools/root/lib/libGpad.so.5.26) ==7891== by 0x41711FE: TROOT::LoadClass(char const*, bool) const (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x415533C: TPluginHandler::LoadPlugin() (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4127C68: TApplication::LoadGraphicsLibs() (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x41264B5: TApplication::InitializeGraphics() (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x41878B9: TSystem::Load(char const*, char const*, bool) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x420844B: TUnixSystem::Load(char const*, char const*, bool) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== ==7891== ==7891== 1,188,501 bytes in 27,888 blocks are possibly lost in loss record 381 of 390 ==7891== at 0x4004BBE: operator new[](unsigned) (vg_replace_malloc.c:197) ==7891== by 0x417381B: TStringRef::GetRep(int, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x4173B13: TString::TString(char const*) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x41AEDD7: TClassTable::Add(char const*, short, std::type_info const&, void (*)(), int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x41AEE60: ROOT::AddClass(char const*, short, std::type_info const&, void (*)(), int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== 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) ==7891== by 0x41DD2ED: ROOT::TGenericClassInfo::Init(int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== 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) ==7891== by 0x4E30A89: ROOT::GenerateInitInstanceLocal(TRint const*) (in /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==7891== by 0x4E36CAD: __static_initialization_and_destruction_0(int, int) (in /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==7891== by 0x4E36D58: _GLOBAL__I__ZN4ROOT20GenerateInitInstanceEPK5TRint (in /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==7891== by 0x4E37B08: (within /home/spataro/jan10/tools/root/lib/libRint.so.5.26) ==7891== ==7891== ==7891== 11,260,046 (5,555,240 direct, 5,704,806 indirect) bytes in 62,034 blocks are definitely lost in loss record 387 of 390 ==7891== at 0x4004790: operator new(unsigned) (vg_replace_malloc.c:164) ==7891== by 0x4172F35: TStorage::ObjectAlloc(unsigned) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x415818F: TPRegexp::MatchS(TString const&, TString const&, int, int) (in /home/spataro/jan10/tools/root/lib/libCore.so.5.26) ==7891== by 0x94B5BA3: PndEmcStructure::crystal_name_analysis(TString, int&, int&, int&, int&) (PndEmcStructure.cxx:230) ==7891== by 0x94B45E8: PndEmcStructure::PndEmcStructure(TGeoManager*) (PndEmcStructure.cxx:97) ==7891== by 0x94B34D5: PndEmcStructure::Instance() (PndEmcStructure.cxx:70) ==7891== by 0x948C0EB: PndEmcHitProducer::Init() (PndEmcHitProducer.cxx:109) ==7891== by 0x7F93752: FairTask::InitTask() (FairTask.cxx:41) ==7891== by 0x7F93AED: FairTask::InitTasks() (FairTask.cxx:111) ==7891== by 0x7F937EE: FairTask::InitTask() (FairTask.cxx:48) ==7891== by 0x7F93AED: FairTask::InitTasks() (FairTask.cxx:111) ==7891== by 0x7F937EE: FairTask::InitTask() (FairTask.cxx:48) ==7891== ==7891== LEAK SUMMARY: ==7891== definitely lost: 5,559,954 bytes in 62,141 blocks. ==7891== indirectly lost: 5,704,838 bytes in 213,009 blocks. ==7891== possibly lost: 1,250,858 bytes in 28,712 blocks. ==7891== still reachable: 107,009,753 bytes in 447,252 blocks. ==7891== suppressed: 0 bytes in 0 blocks. ==7891== Reachable blocks (those to which a pointer was found) are not shown. ==7891== To see them, rerun with: --show-reachable=yes In the init, I think they should not be so "heavy", even if maybe it would be better to fix them. In the exec, after Mohammad changes I can see that PndEmcStructure is a quite huge guy, but I have no idea on how to fix it. The other messages seem to come from root, apart FairMCApplication.cxx line 767, another iterator. Now I try to run 10k DPM events, hoping that nothing will crash... Any clue for the PndEmcStructure point?
Hi Stefano, I tried to do something with PndEmcStructure, by adding at the end of PndEmcStructure::crystal_name_analysis() delete subStrL; where TObjArray *subStrL = TPRegexp("^cave/Fsc_(\\d+)/emc(\\d+)r(\\d+)c(\\d+)_0$").MatchS(node_path); But it somehow only increased memory consumption and calculation time. So I suspect this code should be rewriten somehow without regular expressions. But it will take some time and I can try to do it in two weeks after my vacations. Best regards, Dima
Hi all, Since Stefano reported memory leaks caused by regular expressions - TPRegexp in PndEmcStructure, I have replaced it by sscanf (rev. 9846). However I didn't manage to check how it affected memory leaks by myselfe. Running valgrind --tool=cachegrind root -b run_sim_tpccombi_dpm.C I do not have such an informative output as reported by Stefano but just DIGI EXECUTION ********************* RealTime=247.386149 seconds, CpuTime=233.050000 seconds (int)56 root [1] .q ==5031== ==5031== I refs: 2,517,267 ==5031== I1 misses: 2,578 ==5031== L2i misses: 1,392 ==5031== I1 miss rate: 0.10% ==5031== L2i miss rate: 0.05% ==5031== ==5031== D refs: 1,291,254 (927,120 rd + 364,134 wr) ==5031== D1 misses: 40,211 ( 37,743 rd + 2,468 wr) ==5031== L2d misses: 6,443 ( 5,450 rd + 993 wr) ==5031== D1 miss rate: 3.1% ( 4.0% + 0.6% ) ==5031== L2d miss rate: 0.4% ( 0.5% + 0.2% ) ==5031== ==5031== L2 refs: 42,789 ( 40,321 rd + 2,468 wr) ==5031== L2 misses: 7,835 ( 6,842 rd + 993 wr) ==5031== L2 miss rate: 0.2% ( 0.1% + 0.2% ) I suspected that it was due to external packages compiled without debug info, but I recomplied it with debug info and it didn't help. Maybe I don't run valgrind with proper flag? Dima
Hi Dima You have to do valgrind root.exe run_sim_tpccombi_dpm.C Yohave to call valgrind with root.exe which is an executable whereas root is only a wrapper script. So you tested only for memory problems in the wrapper script. Ciao Florian
Hi Dima. I suggest to try the option --lek-check=full since you're hunting memory leaks. Greetings, Ralf.
I am using the following: valgrind --leak-check=full --suppressions=/home/spataro/jan10/tools/root/etc/valgrind-root.supp root.exe In some versions you should use "suppression" instead of "suppressions", to disable the printout of all the well known root leakages.
Out of memory problem in EmcPoint - FairLink !
Finally I have found who is making the analysis crash. I would like to repeat, the problem occurs trying to run many dpm events, i.e. 10000. You can find two kinds of crashes: terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc or Error: Symbol #include is not defined in current scope run_sim_tpccombi_dpm.C:141: Error: Symbol exception is not defined in current scope run_sim_tpccombi_dpm.C:141: Syntax Error: #include <exception> run_sim_tpccombi_dpm.C:141: Error: Symbol G__exception is not defined in current scope run_sim_tpccombi_dpm.C:141: Error: type G__exception not defined FILE:/d/panda02/spataro/pandaroot/macro/pid/64/2/./run_sim_tpccombi_dpm.C LINE:141 *** Interpreter error recovered *** terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc After a lot of tests, disabling and enabling detectors, putting cout and using valgrind, I have find that the main reason of these leaks is explained by valgrind by the following message: ==18644== 10,028,992 bytes in 156,703 blocks are definitely lost in loss record 358 of 361 ==18644== at 0x4A20929: operator new(unsigned long) (vg_replace_malloc.c:230) ==18644== by 0x12800BAB: __gnu_cxx::new_allocator<std::_Rb_tree_node<FairLink> >::allocate(unsigned long, void const*) (new_allocator.h:92) ==18644== by 0x12800BCF: std::_Rb_tree<FairLink, FairLink, std::_Identity<FairLink>, std::less<FairLink>, std::allocator<FairLink> >::_M_get_node() (stl_ tree.h:357) ==18644== by 0x12800C35: std::_Rb_tree<FairLink, FairLink, std::_Identity<FairLink>, std::less<FairLink>, std::allocator<FairLink> >::_M_create_node(Fair Link const&) (stl_tree.h:366) ==18644== by 0x12800D4E: std::_Rb_tree<FairLink, FairLink, std::_Identity<FairLink>, std::less<FairLink>, std::allocator<FairLink> >::_M_insert_(std::_Rb _tree_node_base const*, std::_Rb_tree_node_base const*, FairLink const&) (stl_tree.h:852) ==18644== by 0x12800EB3: std::_Rb_tree<FairLink, FairLink, std::_Identity<FairLink>, std::less<FairLink>, std::allocator<FairLink> >::_M_insert_unique(Fa irLink const&) (stl_tree.h:1148) ==18644== by 0x12800FDC: std::set<FairLink, std::less<FairLink>, std::allocator<FairLink> >::insert(FairLink const&) (stl_set.h:381) ==18644== by 0x12801F34: FairMultiLinkedData::InsertLink(FairLink) (FairMultiLinkedData.cxx:137) ==18644== by 0x128044D9: FairMultiLinkedData::AddLink(FairLink, bool, float) (FairMultiLinkedData.cxx:123) ==18644== by 0x1280347A: FairMultiLinkedData::SetLink(FairLink, bool, float) (FairMultiLinkedData.cxx:58) ==18644== by 0x1529D9B1: PndEmcPoint::SetTrackID(int) (PndEmcPoint.h:65) ==18644== by 0x141BF945: PndStack::UpdateTrackIndex(TRefArray*) (PndStack.cxx:357) ==18644== I have commented out the three calls to "SetLink" in emc classes, and after I am able to run 10k dpm events without any problems, instead of the old crashes starting from event #200. For the moment, before the fix of all the problems with the STL code inside FairLink, I will commit these changes in EMC code, just commenting the FairLink lines. At least, the problem seems to appear only for EMC, maybe because the larger size of the data with respect to other detectors. Of course, if we want to use links for EMC, we need that somebody tries to understand what is wrong with the Links.
Re: Out of memory problem in EmcPoint - FairLink !
Hi Stefano I also fear that there is a problem with the FairLinks or the way of usage. Whenruning one of the Cbm Macros on the GSI batch farm i end up with a segmentation violation always after around 350 Events. After the third crash i monitored the memory consumption and this was always increasing. When the memory consumption reached the limit of 4GB on the batch farm machines and terminates. Checking the process with valgrind for some events I found exactly the same problem as you did. The number of lost bytes was increasing with increasing number of events. ==20123== 7,844,864 bytes in 122,576 blocks are still reachable in loss record 511 of 514 ==20123== at 0x4A1C929: operator new(unsigned long) (vg_replace_malloc.c:230) ==20123== by 0xE9F04F3: 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&) (new_allocator.h:88) ==20123== by 0xE9F0638: std::_Rb_tree<FairLink, FairLink, std::_Identity<FairLink>, std::less<FairLink>, std::allocator<FairLink> >::insert_unique(FairLink const&) (stl_tree.h:931) ==20123== by 0xE9F0D5A: FairMultiLinkedData::InsertLink(FairLink) (stl_set.h:321) ==20123== by 0xE9F2BA6: FairMultiLinkedData::AddLink(FairLink, bool, float) (FairMultiLinkedData.cxx:123) ==20123== by 0xEDB17EE: CbmStsDigi::CbmStsDigi(int, int, int, int, int, int, int) (CbmStsDigi.h:63) ==20123== by 0xF8E92CD: CbmStsIdealDigitize::Exec(char const*) (CbmStsIdealDigitize.cxx:186) ==20123== by 0x4D83402: TTask::ExecuteTasks(char const*) (TTask.cxx:312) ==20123== by 0x4D83691: TTask::ExecuteTask(char const*) (TTask.cxx:275) ==20123== by 0xEA06EAA: FairRunAna::Run(int, int) (FairRunAna.cxx:279) ==20123== by 0xEA1CC1C: G__FairDict_792_0_5(G__value*, char const*, G__param*, int) (FairDict.cxx:11420) ==20123== by 0x559C3D0: Cint::G__ExceptionWrapper(int (*)(G__value*, char const*, G__param*, int), G__value*, char*, G__param*, int) (Api.cxx:385) ==20123== ==20123== Unfortunately i was not able to find out what exactely is the problem. Maybe Tobias has an idea. Ciao Florian
Hi all, I try to figure out where the problem is. Unfortunately I do not see a potential problem in the code. I do not use pointers and I do not use any "new" in the code. Maybe it is a problem with std::set I use as container to store the data. I will check if I can replace it with either std::vector or a root class. Cheers, Tobias
Hi Tobias Quote: I try to figure out where the problem is. Unfortunately I do not see a potential problem in the code. I do not use pointers and I do not use any "new" in the code. This was exactely my problem when I looked in the code. I don't see any potential problem. Quote: Maybe it is a problem with std::set I use as container to store the data. I will check if I can replace it with either std::vector or a root class. Why did you choose to use a set instead of a vector? What are the advantages of using a set? Ciao Florian
Hi Florian, a set is like a map where only the key is present. This means that you do not have twice the same entry and the data is sorted. This speeds up the find method quite a lot which is important for large link collections like in the TPC and EMC. Ciao, Tobias
Dear pandaRooters, it seems that I have found the solution for the memory leak of FairMultiLinkedData. The problem is coming from the TClonesArray. Whenever you call ->Clear() for a TClonesArray which contains FairMultiLinkedData you have to substitute it with ->Delete(). After this the memory leak is not visible anymore in Valgrind and Totalview. Please test it and tell me your results. Cheers, Tobias
Ehm, please give me one week (quite busy at the moment, fighting against another crash)
Hi all, Following the discussion started by Tobias today on EVO meeting concerning memory allocation by TClonesArray I want to propose an idea to use TClonesArray::Compress() (which remove empty slots) if TClonesArray::Capacity() (i.e. number of allocated slots) is above certain threshold, and this threshold can be subsystem and data level dependent. The threshold can be needed not to loose the performance by frequent TClonesArray compression. I.e. for example it could look like in PndEmcMakeCluster::Exec() fClusterArray->Delete(); if (fClusterArray->Capacity()>100) fClusterArray->Compress(); However in case of EMC FairLinks created most problems at the simulation stage and here I do not know precisely where to compress TClonesArray. In PndEmc there is a method Reset() and I can guess it clear the memory at each event, but I am not 100% sure. void PndEmc::Reset() { fEmcCollection->Clear(); fPosIndex = 0; } So it could be modified like void PndEmc::Reset() { fEmcCollection->Clear(); if (fEmcCollection->Capacity()>100) fEmcCollection->Compress(); fPosIndex = 0; } Here I put for check of capacity 100 as an arbitrary number which should be optimized. I have complication to check it by myself since search for memory leaks requires rather powerful computer and mine is not. May be this will not help to solve the problem with FairLink but it can be checked. Dima
Dear Dima, I think this is a good idea. I will try to test it. You can only see the problem if you look at the memory consumption of pandaRoot during runtime. The problems are no memory leaks. Cheers, Tobias
Dear pandaRooters, I have activated the FairLinks in the code again and replaced all the TClonesArray::Clear() with TClonesArray::Delete(). Please test if you encounter any problems or losses in performance. Cheers, Tobias
Hi, it seems the fix solves the problem for EMC. Unfortunately it does not solve all the other crashes connected to TPC digitization and so on.