Hi,
I am trying to merge two root files which store TGraphs and have the following structure:
file1.root:
pid2212
-- m5_m0_0_5
--CorrGraph
-- m10_m5_5_10
--CorrGraph
....
file2.root:
pid-2212
-- m5_m0_0_5
--CorrGraph
-- m10_m5_5_10
--CorrGraph
....
Unfortunately I get the following crash with hadd merged.root file1.root file2.root:
hadd merged.root file1.root file2.root
hadd Target file: merged.root
hadd compression setting for all output: 1
hadd Source file 1: file1.root
hadd Source file 2: file2.root
hadd Target path: merged.root:/
hadd Target path: merged.root:/pid2212
hadd Target path: merged.root:/pid2212/m5_m0_0_5
*** Break *** segmentation violation
===========================================================
There was a crash.
This is the entire stack trace of all threads:
===========================================================
gdb.printing.register_pretty_printer(gdb.current_objfile(),
gdb.printing.register_pretty_printer(gdb.current_objfile(),
#0 0x00007f5c2154441c in waitpid () from /lib64/libc.so.6
#1 0x00007f5c214c1f12 in do_system () from /lib64/libc.so.6
#2 0x00007f5c2253f09c in TUnixSystem::StackTrace() () from /usr/lib64/root/libCore.so.6.20
#3 0x00007f5c22541a6c in TUnixSystem::DispatchSignals(ESignals) () from /usr/lib64/root/libCore.so.6.20
#4 <signal handler called>
#5 0x00007f5c229d488b in TFileMerger::MergeRecursive(TDirectory*, TList*, int) () from /usr/lib64/root/libRIO.so.6.20
#6 0x00007f5c229d4748 in TFileMerger::MergeRecursive(TDirectory*, TList*, int) () from /usr/lib64/root/libRIO.so.6.20
#7 0x00007f5c229d6059 in TFileMerger::PartialMerge(int) () from /usr/lib64/root/libRIO.so.6.20
#8 0x0000000000405a8a in main ()
===========================================================
The lines below might hint at the cause of the crash.
You may get help by asking at the ROOT forum http://root.cern.ch/forum
Only if you are really convinced it is a bug in ROOT then please submit a
report at http://root.cern.ch/bugs Please post the ENTIRE stack trace
from above as an attachment in addition to anything else
that might help us fixing this issue.
===========================================================
#5 0x00007f5c229d488b in TFileMerger::MergeRecursive(TDirectory*, TList*, int) () from /usr/lib64/root/libRIO.so.6.20
#6 0x00007f5c229d4748 in TFileMerger::MergeRecursive(TDirectory*, TList*, int) () from /usr/lib64/root/libRIO.so.6.20
#7 0x00007f5c229d6059 in TFileMerger::PartialMerge(int) () from /usr/lib64/root/libRIO.so.6.20
#8 0x0000000000405a8a in main ()
===========================================================
Fatal in <TFileMerger::RecursiveRemove>: Output file of the TFile Merger (targeting merged.root) has been deleted (likely due to a TTree larger than 100Gb)
aborting
===========================================================
There was a crash.
This is the entire stack trace of all threads:
===========================================================
gdb.printing.register_pretty_printer(gdb.current_objfile(),
gdb.printing.register_pretty_printer(gdb.current_objfile(),
#0 0x00007f5c2154441c in waitpid () from /lib64/libc.so.6
#1 0x00007f5c214c1f12 in do_system () from /lib64/libc.so.6
#2 0x00007f5c2253f09c in TUnixSystem::StackTrace() () from /usr/lib64/root/libCore.so.6.20
#3 0x00007f5c22432831 in DefaultErrorHandler(int, bool, char const*, char const*) () from /usr/lib64/root/libCore.so.6.20
#4 0x00007f5c224321ba in ErrorHandler () from /usr/lib64/root/libCore.so.6.20
#5 0x00007f5c22444a21 in TObject::Fatal(char const*, char const*, ...) const () from /usr/lib64/root/libCore.so.6.20
#6 0x00007f5c224a8533 in THashList::RecursiveRemove(TObject*) () from /usr/lib64/root/libCore.so.6.20
#7 0x00007f5c224027d3 in TROOT::RecursiveRemove(TObject*) () from /usr/lib64/root/libCore.so.6.20
#8 0x00007f5c22443d3e in TNamed::~TNamed() () from /usr/lib64/root/libCore.so.6.20
#9 0x00007f5c229e9909 in TFile::~TFile() () from /usr/lib64/root/libRIO.so.6.20
#10 0x00007f5c224b008f in TList::Delete(char const*) () from /usr/lib64/root/libCore.so.6.20
#11 0x00007f5c22402b02 in TROOT::~TROOT() () from /usr/lib64/root/libCore.so.6.20
#12 0x00007f5c214b8c99 in __run_exit_handlers () from /lib64/libc.so.6
#13 0x00007f5c214b8ce7 in exit () from /lib64/libc.so.6
#14 0x00007f5c2253bbab in TUnixSystem::Exit(int, bool) () from /usr/lib64/root/libCore.so.6.20
#15 0x00007f5c22541b4b in TUnixSystem::DispatchSignals(ESignals) () from /usr/lib64/root/libCore.so.6.20
#16 <signal handler called>
#17 0x00007f5c229d488b in TFileMerger::MergeRecursive(TDirectory*, TList*, int) () from /usr/lib64/root/libRIO.so.6.20
#18 0x00007f5c229d4748 in TFileMerger::MergeRecursive(TDirectory*, TList*, int) () from /usr/lib64/root/libRIO.so.6.20
#19 0x00007f5c229d6059 in TFileMerger::PartialMerge(int) () from /usr/lib64/root/libRIO.so.6.20
#20 0x0000000000405a8a in main ()
===========================================================
The lines below might hint at the cause of the crash.
You may get help by asking at the ROOT forum http://root.cern.ch/forum
Only if you are really convinced it is a bug in ROOT then please submit a
report at http://root.cern.ch/bugs Please post the ENTIRE stack trace
from above as an attachment in addition to anything else
that might help us fixing this issue.
===========================================================
#17 0x00007f5c229d488b in TFileMerger::MergeRecursive(TDirectory*, TList*, int) () from /usr/lib64/root/libRIO.so.6.20
#18 0x00007f5c229d4748 in TFileMerger::MergeRecursive(TDirectory*, TList*, int) () from /usr/lib64/root/libRIO.so.6.20
#19 0x00007f5c229d6059 in TFileMerger::PartialMerge(int) () from /usr/lib64/root/libRIO.so.6.20
#20 0x0000000000405a8a in main ()
===========================================================
Aborted (core dumped)
A minimal reproducer can be found here: https://cernbox.cern.ch/index.php/s/JPdNoSVZbJDaxOq