Dear Philippe
I have now (hopefully) eliminated all memory leaks, but the following valgrind messages remain:
==10730== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 577 from 4)
==10730== malloc/free: in use at exit: 6,817,206 bytes in 100,434 blocks.
==10730== malloc/free: 989,129 allocs, 888,695 frees, 79,623,405 bytes allocated.
==10730== For counts of detected errors, rerun with: -v
==10730== searching for pointers to 100,434 not-freed blocks.
==10730== checked 10,260,948 bytes.
==10730==
==10730== 2 bytes in 1 blocks are definitely lost in loss record 4 of 263
==10730== at 0x4027DDE: malloc (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
==10730== by 0x4874D9D: G__memfunc_para_setup (in /home/rabbitus/ROOT/root/lib/libCint.so)
==10730== by 0x48751A0: G__parse_parameter_link (in /home/rabbitus/ROOT/root/lib/libCint.so)
==10730== by 0x48755B4: G__memfunc_setup_imp (in /home/rabbitus/ROOT/root/lib/libCint.so)
==10730== by 0x4875EF7: G__memfunc_setup (in /home/rabbitus/ROOT/root/lib/libCint.so)
==10730== by 0x4F33274: G__cpp_setup_funcG__Math (in /home/rabbitus/ROOT/root/lib/libMathCore.so)
==10730== by 0x4F33CA4: G__cpp_setupG__Math (in /home/rabbitus/ROOT/root/lib/libMathCore.so)
==10730== by 0x484E010: G__call_setup_funcs (in /home/rabbitus/ROOT/root/lib/libCint.so)
==10730== by 0x484E211: G__main (in /home/rabbitus/ROOT/root/lib/libCint.so)
==10730== by 0x485046F: G__init_cint (in /home/rabbitus/ROOT/root/lib/libCint.so)
==10730== by 0x422CAA6: TCint::ResetAll() (in /home/rabbitus/ROOT/root/lib/libCore.so)
==10730== by 0x422CC44: TCint::TCint(char const*, char const*) (in /home/rabbitus/ROOT/root/lib/libCore.so)
==10730==
==10730==
==10730== 40 bytes in 1 blocks are definitely lost in loss record 91 of 263
==10730== at 0x4027DDE: malloc (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
==10730== by 0x4852ADC: G__register_sharedlib (in /home/rabbitus/ROOT/root/lib/libCint.so)
==10730== by 0x48E2C06: G__RegisterLibrary (in /home/rabbitus/ROOT/root/lib/libCint.so)
==10730== by 0x48506F3: G__add_setup_func (in /home/rabbitus/ROOT/root/lib/libCint.so)
==10730== by 0x505CFCD: G__cpp_setup_initG__Rint::G__cpp_setup_initG__Rint() (in /home/rabbitus/ROOT/root/lib/libRint.so)
==10730== by 0x505C532: __static_initialization_and_destruction_0(int, int) (in /home/rabbitus/ROOT/root/lib/libRint.so)
==10730== by 0x505C576: _GLOBAL__I_G__Rint.cxx (in /home/rabbitus/ROOT/root/lib/libRint.so)
==10730== by 0x505D39C: (within /home/rabbitus/ROOT/root/lib/libRint.so)
==10730== by 0x5042FF7: (within /home/rabbitus/ROOT/root/lib/libRint.so)
==10730== by 0x400EDB3: (within /lib/ld-2.9.so)
==10730== by 0x400EEE3: (within /lib/ld-2.9.so)
==10730== by 0x400088E: (within /lib/ld-2.9.so)
==10730==
==10730==
==10730== 60 (28 direct, 32 indirect) bytes in 1 blocks are definitely lost in loss record 92 of 263
==10730== at 0x4027DDE: malloc (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
==10730== by 0x487557E: G__memfunc_setup_imp (in /home/rabbitus/ROOT/root/lib/libCint.so)
==10730== by 0x4875EF7: G__memfunc_setup (in /home/rabbitus/ROOT/root/lib/libCint.so)
==10730== by 0x4F33274: G__cpp_setup_funcG__Math (in /home/rabbitus/ROOT/root/lib/libMathCore.so)
==10730== by 0x4F33CA4: G__cpp_setupG__Math (in /home/rabbitus/ROOT/root/lib/libMathCore.so)
==10730== by 0x484E010: G__call_setup_funcs (in /home/rabbitus/ROOT/root/lib/libCint.so)
==10730== by 0x4F3A4AB: _GLOBAL__I_G__Math.cxx (in /home/rabbitus/ROOT/root/lib/libMathCore.so)
==10730== by 0x4FEF56C: (within /home/rabbitus/ROOT/root/lib/libMathCore.so)
==10730== by 0x4ED3EA7: (within /home/rabbitus/ROOT/root/lib/libMathCore.so)
==10730== by 0x400EDB3: (within /lib/ld-2.9.so)
==10730== by 0x400EEE3: (within /lib/ld-2.9.so)
==10730== by 0x400088E: (within /lib/ld-2.9.so)
==10730==
==10730==
==10730== 61 (60 direct, 1 indirect) bytes in 1 blocks are definitely lost in loss record 111 of 263
==10730== at 0x4027DDE: malloc (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
==10730== by 0x4852A87: G__register_sharedlib (in /home/rabbitus/ROOT/root/lib/libCint.so)
==10730== by 0x48E2C06: G__RegisterLibrary (in /home/rabbitus/ROOT/root/lib/libCint.so)
==10730== by 0x48506F3: G__add_setup_func (in /home/rabbitus/ROOT/root/lib/libCint.so)
==10730== by 0x505CFCD: G__cpp_setup_initG__Rint::G__cpp_setup_initG__Rint() (in /home/rabbitus/ROOT/root/lib/libRint.so)
==10730== by 0x505C532: __static_initialization_and_destruction_0(int, int) (in /home/rabbitus/ROOT/root/lib/libRint.so)
==10730== by 0x505C576: _GLOBAL__I_G__Rint.cxx (in /home/rabbitus/ROOT/root/lib/libRint.so)
==10730== by 0x505D39C: (within /home/rabbitus/ROOT/root/lib/libRint.so)
==10730== by 0x5042FF7: (within /home/rabbitus/ROOT/root/lib/libRint.so)
==10730== by 0x400EDB3: (within /lib/ld-2.9.so)
==10730== by 0x400EEE3: (within /lib/ld-2.9.so)
==10730== by 0x400088E: (within /lib/ld-2.9.so)
==10730==
==10730==
==10730== 200 bytes in 1 blocks are definitely lost in loss record 145 of 263
==10730== at 0x402710E: operator new[](unsigned) (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
==10730== by 0x41DA0F9: TArrayI::Set(int) (in /home/rabbitus/ROOT/root/lib/libCore.so)
==10730== by 0x4163C2D: TColor::SetPalette(int, int*) (in /home/rabbitus/ROOT/root/lib/libCore.so)
==10730== by 0x41A6B73: TStyle::SetPalette(int, int*) (in /home/rabbitus/ROOT/root/lib/libCore.so)
==10730== by 0x41A96B8: TStyle::Reset(char const*) (in /home/rabbitus/ROOT/root/lib/libCore.so)
==10730== by 0x41AA3AD: TStyle::TStyle(char const*, char const*) (in /home/rabbitus/ROOT/root/lib/libCore.so)
==10730== by 0x41AAB55: TStyle::BuildStyles() (in /home/rabbitus/ROOT/root/lib/libCore.so)
==10730== by 0x419DCDF: TROOT::TROOT(char const*, char const*, void (**)()) (in /home/rabbitus/ROOT/root/lib/libCore.so)
==10730== by 0x419E31D: ROOT::GetROOT() (in /home/rabbitus/ROOT/root/lib/libCore.so)
==10730== by 0x41C7121: TTimer::Reset() (in /home/rabbitus/ROOT/root/lib/libCore.so)
==10730== by 0x41C7350: TTimer::TTimer(long, bool) (in /home/rabbitus/ROOT/root/lib/libCore.so)
==10730== by 0x41C7A43: _GLOBAL__I_TTimer.cxx (in /home/rabbitus/ROOT/root/lib/libCore.so)
==10730==
==10730==
==10730== 2,200 bytes in 10 blocks are possibly lost in loss record 206 of 263
==10730== at 0x40277EE: operator new(unsigned) (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
==10730== by 0x41A092A: TStorage::ObjectAlloc(unsigned) (in /home/rabbitus/ROOT/root/lib/libCore.so)
==10730== by 0x423ABC4: TObject::operator new(unsigned) (in /home/rabbitus/ROOT/root/lib/libCore.so)
==10730== by 0x4345AAC: ROOT::TQObjectInitBehavior::CreateClass(char const*, short, std::type_info const&, TVirtualIsAProxy*, void (*)(void*, TMemberInspector&, char*), char const*, char const*, int, int) const (in /home/rabbitus/ROOT/root/lib/libCore.so)
==10730== by 0x42117B2: ROOT::TGenericClassInfo::GetClass() (in /home/rabbitus/ROOT/root/lib/libCore.so)
==10730== by 0x4335305: TApplication::Dictionary() (in /home/rabbitus/ROOT/root/lib/libCore.so)
==10730== by 0x419C1F8: TROOT::LoadClass(char const*) const (in /home/rabbitus/ROOT/root/lib/libCore.so)
==10730== by 0x4205730: TClass::GetClass(char const*, bool, bool) (in /home/rabbitus/ROOT/root/lib/libCore.so)
==10730== by 0x41F9949: TBaseClass::GetClassPointer(bool) (in /home/rabbitus/ROOT/root/lib/libCore.so)
==10730== by 0x4191749: TQObject::CollectClassSignalLists(TList&, TClass*) (in /home/rabbitus/ROOT/root/lib/libCore.so)
==10730== by 0x41921BF: TQObject::Emit(char const*, long) (in /home/rabbitus/ROOT/root/lib/libCore.so)
==10730== by 0x414FBF0: TApplication::KeyPressed(int) (in /home/rabbitus/ROOT/root/lib/libCore.so)
==10730==
==10730==
==10730== 2,505 bytes in 100 blocks are possibly lost in loss record 210 of 263
==10730== at 0x40277EE: operator new(unsigned) (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
==10730== by 0x51162E3: std::string::_Rep::_S_create(unsigned, unsigned, std::allocator<char> const&) (in /usr/lib/libstdc++.so.6.0.10)
==10730== by 0x5116F44: (within /usr/lib/libstdc++.so.6.0.10)
==10730== by 0x51170B5: std::string::string(char const*, std::allocator<char> const&) (in /usr/lib/libstdc++.so.6.0.10)
==10730== by 0x4203448: TClass::AddClass(TClass*) (in /home/rabbitus/ROOT/root/lib/libCore.so)
==10730== by 0x4204324: TClass::Init(char const*, short, std::type_info const*, TVirtualIsAProxy*, void (*)(void*, TMemberInspector&, char*), char const*, char const*, int, int, bool) (in /home/rabbitus/ROOT/root/lib/libCore.so)
==10730== by 0x4204E0B: TClass::TClass(char const*, short, std::type_info const&, TVirtualIsAProxy*, void (*)(void*, TMemberInspector&, char*), char const*, char const*, int, int, bool) (in /home/rabbitus/ROOT/root/lib/libCore.so)
==10730== by 0x4204F7D: ROOT::CreateClass(char const*, short, std::type_info const&, TVirtualIsAProxy*, void (*)(void*, TMemberInspector&, char*), char const*, char const*, int, int) (in /home/rabbitus/ROOT/root/lib/libCore.so)
==10730== by 0x4212735: ROOT::TDefaultInitBehavior::CreateClass(char const*, short, std::type_info const&, TVirtualIsAProxy*, void (*)(void*, TMemberInspector&, char*), char const*, char const*, int, int) const (in /home/rabbitus/ROOT/root/lib/libCore.so)
==10730== by 0x42117B2: ROOT::TGenericClassInfo::GetClass() (in /home/rabbitus/ROOT/root/lib/libCore.so)
==10730== by 0x433C2B5: TAttFill::Dictionary() (in /home/rabbitus/ROOT/root/lib/libCore.so)
==10730== by 0x419C1F8: TROOT::LoadClass(char const*) const (in /home/rabbitus/ROOT/root/lib/libCore.so)
==10730==
==10730==
==10730== 5,328 bytes in 57 blocks are possibly lost in loss record 218 of 263
==10730== at 0x402710E: operator new[](unsigned) (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
==10730== by 0x6C34359: TStreamerInfo::Compile() (in /home/rabbitus/ROOT/root/lib/libRIO.so)
==10730== by 0x6C365F5: TStreamerInfo::BuildOld() (in /home/rabbitus/ROOT/root/lib/libRIO.so)
==10730== by 0x41FB052: TClass::GetStreamerInfo(int) const (in /home/rabbitus/ROOT/root/lib/libCore.so)
==10730== by 0x952ED2D: TBranchElement::InitInfo() (in /home/rabbitus/ROOT/root/lib/libTree.so)
==10730== by 0x9525DD7: TBranchElement::GetInfo() const (in /home/rabbitus/ROOT/root/lib/libTree.so)
==10730== by 0x956B599: TTree::CheckBranchAddressType(TBranch*, TClass*, EDataType, bool) (in /home/rabbitus/ROOT/root/lib/libTree.so)
==10730== by 0x9568D9B: TTree::SetBranchAddress(char const*, void*, TBranch**, TClass*, EDataType, bool) (in /home/rabbitus/ROOT/root/lib/libTree.so)
==10730== by 0x90610ED: void TTree::SetBranchAddress<XGCCell>(char const*, XGCCell**, TBranch**) (in /home/rabbitus/ROOT/rootcode/xps-x.x.x/src/xps.so)
==10730== by 0x908F96D: XGCProcesSet::AdjustBackground(int, TTree**, int&, TTree**) (in /home/rabbitus/ROOT/rootcode/xps-x.x.x/src/xps.so)
==10730== by 0x9090EE6: XGCProcesSet::Preprocess(char const*) (in /home/rabbitus/ROOT/rootcode/xps-x.x.x/src/xps.so)
==10730== by 0x907F8AE: XPreProcessManager::Preprocess(char const*, char const*) (in /home/rabbitus/ROOT/rootcode/xps-x.x.x/src/xps.so)
==10730==
==10730==
==10730== 20,458 bytes in 10 blocks are definitely lost in loss record 240 of 263
==10730== at 0x4027DDE: malloc (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
==10730== by 0x48DB77D: G__store_dictposition (in /home/rabbitus/ROOT/root/lib/libCint.so)
==10730== by 0x4852AAA: G__register_sharedlib (in /home/rabbitus/ROOT/root/lib/libCint.so)
==10730== by 0x48E2C06: G__RegisterLibrary (in /home/rabbitus/ROOT/root/lib/libCint.so)
==10730== by 0x484DFC6: G__call_setup_funcs (in /home/rabbitus/ROOT/root/lib/libCint.so)
==10730== by 0x484E211: G__main (in /home/rabbitus/ROOT/root/lib/libCint.so)
==10730== by 0x485046F: G__init_cint (in /home/rabbitus/ROOT/root/lib/libCint.so)
==10730== by 0x422CAA6: TCint::ResetAll() (in /home/rabbitus/ROOT/root/lib/libCore.so)
==10730== by 0x422CC44: TCint::TCint(char const*, char const*) (in /home/rabbitus/ROOT/root/lib/libCore.so)
==10730== by 0x419CC63: TROOT::TROOT(char const*, char const*, void (**)()) (in /home/rabbitus/ROOT/root/lib/libCore.so)
==10730== by 0x419E31D: ROOT::GetROOT() (in /home/rabbitus/ROOT/root/lib/libCore.so)
==10730== by 0x41C7121: TTimer::Reset() (in /home/rabbitus/ROOT/root/lib/libCore.so)
==10730==
==10730==
==10730== 442,489 bytes in 10,646 blocks are possibly lost in loss record 260 of 263
==10730== at 0x402710E: operator new[](unsigned) (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
==10730== by 0x41A1AEA: TStringRef::GetRep(int, int) (in /home/rabbitus/ROOT/root/lib/libCore.so)
==10730== by 0x41A3A54: TString::TString(char const*) (in /home/rabbitus/ROOT/root/lib/libCore.so)
==10730== by 0x41E3ED6: TClassTable::Add(char const*, short, std::type_info const&, void (*)(), int) (in /home/rabbitus/ROOT/root/lib/libCore.so)
==10730== by 0x41E3F99: ROOT::AddClass(char const*, short, std::type_info const&, void (*)(), int) (in /home/rabbitus/ROOT/root/lib/libCore.so)
==10730== by 0x42127A9: ROOT::TDefaultInitBehavior::Register(char const*, short, std::type_info const&, void (*)(), int) const (in /home/rabbitus/ROOT/root/lib/libCore.so)
==10730== by 0x4210C49: ROOT::TGenericClassInfo::Init(int) (in /home/rabbitus/ROOT/root/lib/libCore.so)
==10730== by 0x4211C56: ROOT::TGenericClassInfo::TGenericClassInfo(char const*, int, char const*, int, std::type_info const&, ROOT::TInitBehavior const*, void (*)(), TVirtualIsAProxy*, int, int) (in /home/rabbitus/ROOT/root/lib/libCore.so)
==10730== by 0x505C3F9: _ZN4ROOTL25GenerateInitInstanceLocalEPK5TRint (in /home/rabbitus/ROOT/root/lib/libRint.so)
==10730== by 0x505C50C: __static_initialization_and_destruction_0(int, int) (in /home/rabbitus/ROOT/root/lib/libRint.so)
==10730== by 0x505C576: _GLOBAL__I_G__Rint.cxx (in /home/rabbitus/ROOT/root/lib/libRint.so)
==10730== by 0x505D39C: (within /home/rabbitus/ROOT/root/lib/libRint.so)
==10730==
==10730== LEAK SUMMARY:
==10730== definitely lost: 20,788 bytes in 15 blocks.
==10730== indirectly lost: 33 bytes in 4 blocks.
==10730== possibly lost: 452,522 bytes in 10,813 blocks.
==10730== still reachable: 6,343,863 bytes in 89,602 blocks.
==10730== suppressed: 0 bytes in 0 blocks.
==10730== Reachable blocks (those to which a pointer was found) are not shown.
==10730== To see them, rerun with: --leak-check=full --show-reachable=yes
Do you think that there is still a memory leak, or can I ignore these messages?
Best regards
Christian