Thank you for the reply, Philippe.
I used the latest version of Valgrind and root.exe and rerun the same macro file to get the log below.
Thank you!
Genie
==12147== Memcheck, a memory error detector
==12147== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
==12147== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info
==12147== Command: /data/common/ricc/20160726.withV1.03.debug/bin/root.exe ha.C
==12147==
==12147== Conditional jump or move depends on uninitialised value(s)
==12147== at 0x6C698F0: clang::ASTDeclReader::VisitFriendDecl(clang::FriendDecl*) (ASTReaderDecl.cpp:1639)
==12147== by 0x6C6DB84: Visit (DeclNodes.inc:59)
==12147== by 0x6C6DB84: clang::ASTDeclReader::Visit(clang::Decl*) (ASTReaderDecl.cpp:365)
==12147== by 0x6C6E185: clang::ASTReader::ReadDeclRecord(unsigned int) (ASTReaderDecl.cpp:3151)
==12147== by 0x6C1E0C4: clang::ASTReader::GetDecl(unsigned int) (ASTReader.cpp:6363)
==12147== by 0x6C1F321: GetLocalDecl (ASTReader.h:1679)
==12147== by 0x6C1F321: (anonymous namespace)::FindExternalLexicalDeclsVisitor::visit(clang::serialization::ModuleFile&, bool, void*) (ASTReader.cpp:6461)
==12147== by 0x6CD1D0C: clang::serialization::ModuleManager::visitDepthFirst(bool (*)(clang::serialization::ModuleFile&, bool, void*), void*) (ModuleManager.cpp:427)
==12147== by 0x6C1323E: clang::ASTReader::FindExternalLexicalDecls(clang::DeclContext const*, bool (*)(clang::Decl::Kind), llvm::SmallVectorImpl<clang::Decl*>&) (ASTReader.cpp:6478)
==12147== by 0x715D406: FindExternalLexicalDecls (ExternalASTSource.h:172)
==12147== by 0x715D406: clang::DeclContext::LoadLexicalDeclsFromExternalStorage() const (DeclBase.cpp:1014)
==12147== by 0x715D4BE: clang::DeclContext::decls_begin() const (DeclBase.cpp:1109)
==12147== by 0x71457D2: method_begin (DeclCXX.h:762)
==12147== by 0x71457D2: methods (DeclCXX.h:756)
==12147== by 0x71457D2: (anonymous namespace)::FinalOverriderCollector::Collect(clang::CXXRecordDecl const*, bool, clang::CXXRecordDecl const*, clang::CXXFinalOverriderMap&) (CXXInheritance.cpp:545)
==12147== by 0x7145F84: clang::CXXRecordDecl::getFinalOverriders(clang::CXXFinalOverriderMap&) const (CXXInheritance.cpp:628)
==12147== by 0x7249ED0: (anonymous namespace)::FinalOverriders::FinalOverriders(clang::CXXRecordDecl const*, clang::CharUnits, clang::CXXRecordDecl const*) (VTableBuilder.cpp:176)
==12147==
------------------------------------------------------------
| Welcome to ROOT 6.06/06 http://root.cern.ch |
| (c) 1995-2016, The ROOT Team |
| Built for linuxx8664gcc |
| From tag v6-06-06, 6 July 2016 |
| Try '.help', '.demo', '.license', '.credits', '.quit'/'.q' |
------------------------------------------------------------
root [0]
Processing ha.C...
==12147== Invalid read of size 8
==12147== at 0x14C64F96: FairLogger::GetLogger() (FairLogger.cxx:61)
==12147== by 0x147AA708: FairContFact::FairContFact() (FairContFact.cxx:146)
==12147== by 0x12C6C4FD: FairBaseContFact::FairBaseContFact() (FairBaseContFact.cxx:33)
==12147== by 0x12C4FC1D: __static_initialization_and_destruction_0 (FairBaseContFact.cxx:30)
==12147== by 0x12C4FC1D: _GLOBAL__sub_I_FairBaseContFact.cxx (FairBaseContFact.cxx:76)
==12147== by 0x345940D4F2: call_init (in /lib64/ld-2.5.so)
==12147== by 0x345940D5B4: _dl_init (in /lib64/ld-2.5.so)
==12147== by 0x3459411053: dl_open_worker (in /lib64/ld-2.5.so)
==12147== by 0x345940D135: _dl_catch_error (in /lib64/ld-2.5.so)
==12147== by 0x34594108BB: _dl_open (in /lib64/ld-2.5.so)
==12147== by 0x345A000F99: dlopen_doit (in /lib64/libdl-2.5.so)
==12147== by 0x345940D135: _dl_catch_error (in /lib64/ld-2.5.so)
==12147== by 0x345A00150C: _dlerror_run (in /lib64/libdl-2.5.so)
==12147== Address 0x0 is not stack'd, malloc'd or (recently) free'd
==12147==
*** Break *** segmentation violation
#0 0x00000000380ec3bc in ?? ()
#1 0x0000000000000008 in ?? ()
#2 0x0000000803278e00 in ?? ()
#3 0x0000000803278dc0 in ?? ()
#4 0x00000008020083d0 in ?? ()
#5 0x000000000000003d in ?? ()
#6 0x000000080239a8c8 in ?? ()
#7 0x000000080239a910 in ?? ()
#8 0x000000000000003d in ?? ()
#9 0x0000000000000001 in ?? ()
#10 0x00000008020083c0 in ?? ()
#11 0x000000080239a880 in ?? ()
#12 0x000000003808e09d in ?? ()
#13 0x000000000000528f in ?? ()
#14 0x0000000038040c7e in ?? ()
#15 0x0000060100000260 in ?? ()
#16 0x0000000400000003 in ?? ()
#17 0x0000000000010400 in ?? ()
#18 0x0000000000000001 in ?? ()
#19 0x0000004800000010 in ?? ()
#20 0x0000002000000040 in ?? ()
#21 0x0000005000000060 in ?? ()
#22 0xffffffff00000058 in ?? ()
#23 0x00000000ffffffff in ?? ()
#24 0x000000003805cd11 in ?? ()
#25 0xfffffffffffbfa27 in ?? ()
#26 0x0000000000001f80 in ?? ()
#27 0x0000000803278f30 in ?? ()
#28 0x00000008020083c0 in ?? ()
#29 0x000000345983c461 in ?? ()
#30 0x00000008020083c0 in ?? ()
#31 0x0000000000001c00 in ?? ()
#32 0x0000000000000000 in ?? ()
Root > .q
==12147== Invalid read of size 8
==12147== at 0x345F40F57C: ??? (in /lib64/libselinux.so.1)
==12147== by 0x345F4045BE: ??? (in /lib64/libselinux.so.1)
==12147== by 0x345F410280: ??? (in /lib64/libselinux.so.1)
==12147== by 0x3459833254: exit (in /lib64/libc-2.5.so)
==12147== by 0x50F2E7C: TUnixSystem::Exit(int, bool) (TUnixSystem.cxx:2137)
==12147== by 0x4FF6DAE: TApplication::ProcessLine(char const*, bool, int*) (TApplication.cxx:869)
==12147== by 0x4C22204: TRint::ProcessLineNr(char const*, char const*, int*) (TRint.cxx:745)
==12147== by 0x4C22460: TRint::HandleTermInput() (TRint.cxx:605)
==12147== by 0x50F7C04: TUnixSystem::CheckDescriptors() (TUnixSystem.cxx:1301)
==12147== by 0x50F8D29: TUnixSystem::DispatchOneEvent(bool) (TUnixSystem.cxx:1056)
==12147== by 0x504C275: TSystem::InnerLoop() (TSystem.cxx:407)
==12147== by 0x504CE5F: TSystem::Run() (TSystem.cxx:357)
==12147== Address 0x10 is not stack'd, malloc'd or (recently) free'd
==12147==
==12147==
==12147== Process terminating with default action of signal 11 (SIGSEGV)
==12147== Access not within mapped region at address 0x10
==12147== at 0x345F40F57C: ??? (in /lib64/libselinux.so.1)
==12147== by 0x345F4045BE: ??? (in /lib64/libselinux.so.1)
==12147== by 0x345F410280: ??? (in /lib64/libselinux.so.1)
==12147== by 0x3459833254: exit (in /lib64/libc-2.5.so)
==12147== by 0x50F2E7C: TUnixSystem::Exit(int, bool) (TUnixSystem.cxx:2137)
==12147== by 0x4FF6DAE: TApplication::ProcessLine(char const*, bool, int*) (TApplication.cxx:869)
==12147== by 0x4C22204: TRint::ProcessLineNr(char const*, char const*, int*) (TRint.cxx:745)
==12147== by 0x4C22460: TRint::HandleTermInput() (TRint.cxx:605)
==12147== by 0x50F7C04: TUnixSystem::CheckDescriptors() (TUnixSystem.cxx:1301)
==12147== by 0x50F8D29: TUnixSystem::DispatchOneEvent(bool) (TUnixSystem.cxx:1056)
==12147== by 0x504C275: TSystem::InnerLoop() (TSystem.cxx:407)
==12147== by 0x504CE5F: TSystem::Run() (TSystem.cxx:357)
==12147== If you believe this happened as a result of a stack
==12147== overflow in your program's main thread (unlikely but
==12147== possible), you can try to increase the size of the
==12147== main thread stack using the --main-stacksize= flag.
==12147== The main thread stack size used in this run was 10485760.
==12147== Invalid free() / delete / delete[] / realloc()
==12147== at 0x4A07CA7: free (vg_replace_malloc.c:530)
==12147== by 0x345990C1EA: free_mem (in /lib64/libc-2.5.so)
==12147== by 0x345990BDE1: __libc_freeres (in /lib64/libc-2.5.so)
==12147== by 0x4802601: _vgnU_freeres (vg_preloaded.c:65)
==12147== by 0x1: ???
==12147== by 0x345F410280: ??? (in /lib64/libselinux.so.1)
==12147== by 0x3459833254: exit (in /lib64/libc-2.5.so)
==12147== by 0x50F2E7C: TUnixSystem::Exit(int, bool) (TUnixSystem.cxx:2137)
==12147== by 0x4FF6DAE: TApplication::ProcessLine(char const*, bool, int*) (TApplication.cxx:869)
==12147== by 0x4C22204: TRint::ProcessLineNr(char const*, char const*, int*) (TRint.cxx:745)
==12147== by 0x4C22460: TRint::HandleTermInput() (TRint.cxx:605)
==12147== by 0x50F7C04: TUnixSystem::CheckDescriptors() (TUnixSystem.cxx:1301)
==12147== Address 0x59ba5c0 is in a rw- anonymous segment
==12147==
==12147==
==12147== HEAP SUMMARY:
==12147== in use at exit: 30,655,652 bytes in 56,568 blocks
==12147== total heap usage: 248,202 allocs, 191,635 frees, 159,343,702 bytes allocated
==12147==
==12147== LEAK SUMMARY:
==12147== definitely lost: 2,849 bytes in 22 blocks
==12147== indirectly lost: 9,572 bytes in 173 blocks
==12147== possibly lost: 102 bytes in 1 blocks
==12147== still reachable: 30,535,665 bytes in 54,822 blocks
==12147== of which reachable via heuristic:
==12147== stdstring : 107,173 bytes in 789 blocks
==12147== newarray : 10,040 bytes in 43 blocks
==12147== multipleinheritance: 4,552 bytes in 8 blocks
==12147== suppressed: 107,464 bytes in 1,550 blocks
==12147== Rerun with --leak-check=full to see details of leaked memory
==12147==
==12147== For counts of detected and suppressed errors, rerun with: -v
==12147== Use --track-origins=yes to see where uninitialised values come from
==12147== ERROR SUMMARY: 43 errors from 4 contexts (suppressed: 4195 from 109)
Segmentation fault