Hello Again,
I have a Process running through a TProof file:
auto parameters = new Parameters("test");
fProof->AddInput(parameters);
fProof->Load("methods.h+");
fProof->Load("parameters.h+");
fProof->Process(dset,"ReaderClass.C++");
In my parameters class (which extends TNamed), I have a private member:
map<TString,PlotTools> map_plotTools;
When I try to run my code, if I have that map in parameters.h, I get an error that I THINK has to do with the destructor…
*** Break *** segmentation violation
===========================================================
There was a crash.
This is the entire stack trace of all threads:
===========================================================
#0 0x00007f8ba9a3441c in waitpid () from /lib64/libc.so.6
#1 0x00007f8ba99b1f12 in do_system () from /lib64/libc.so.6
#2 0x00007f8b9f430ebd in TUnixSystem::StackTrace() () from /cvmfs/sft.cern.ch/lcg/releases/LCG_94/ROOT/6.14.04/x86_64-slc6-gcc62-opt/lib/libCore.so
#3 0x00007f8b9f433624 in TUnixSystem::DispatchSignals(ESignals) () from /cvmfs/sft.cern.ch/lcg/releases/LCG_94/ROOT/6.14.04/x86_64-slc6-gcc62-opt/lib/libCore.so
#4 <signal handler called>
#5 0x00007f8ba9d36f58 in main_arena () from /lib64/libc.so.6
#6 0x00007f8b9f3d4551 in TClass::Destructor(void*, bool) () from /cvmfs/sft.cern.ch/lcg/releases/LCG_94/ROOT/6.14.04/x86_64-slc6-gcc62-opt/lib/libCore.so
#7 0x00007f8ba045ae46 in TBufferFile::ReadFastArray(void**, TClass const*, int, bool, TMemberStreamer*, TClass const*) () from /cvmfs/sft.cern.ch/lcg/releases/LCG_94/ROOT/6.14.04/x86_64-slc6-gcc62-opt/lib/libRIO.so
#8 0x00007f8ba06b9f8c in int TStreamerInfo::ReadBuffer<char**>(TBuffer&, char** const&, TStreamerInfo::TCompInfo* const*, int, int, int, int, int) () from /cvmfs/sft.cern.ch/lcg/releases/LCG_94/ROOT/6.14.04/x86_64-slc6-gcc62-opt/lib/libRIO.so
#9 0x00007f8ba051dbad in TStreamerInfoActions::GenericReadAction(TBuffer&, void*, TStreamerInfoActions::TConfiguration const*) () from /cvmfs/sft.cern.ch/lcg/releases/LCG_94/ROOT/6.14.04/x86_64-slc6-gcc62-opt/lib/libRIO.so
#10 0x00007f8ba0461c0e in TBufferFile::ReadClassBuffer(TClass const*, void*, TClass const*) () from /cvmfs/sft.cern.ch/lcg/releases/LCG_94/ROOT/6.14.04/x86_64-slc6-gcc62-opt/lib/libRIO.so
#11 0x00007f8ba0462d2b in TBufferFile::ReadObjectAny(TClass const*) () from /cvmfs/sft.cern.ch/lcg/releases/LCG_94/ROOT/6.14.04/x86_64-slc6-gcc62-opt/lib/libRIO.so
#12 0x00007f8ba04cb6e0 in TGenCollectionStreamer::ReadMap(int, TBuffer&, TClass const*) () from /cvmfs/sft.cern.ch/lcg/releases/LCG_94/ROOT/6.14.04/x86_64-slc6-gcc62-opt/lib/libRIO.so
#13 0x00007f8ba04cd65b in TGenCollectionStreamer::ReadBufferGeneric(TBuffer&, void*, TClass const*) () from /cvmfs/sft.cern.ch/lcg/releases/LCG_94/ROOT/6.14.04/x86_64-slc6-gcc62-opt/lib/libRIO.so
#14 0x00007f8ba045ac3a in TBufferFile::ReadFastArray(void*, TClass const*, int, TMemberStreamer*, TClass const*) () from /cvmfs/sft.cern.ch/lcg/releases/LCG_94/ROOT/6.14.04/x86_64-slc6-gcc62-opt/lib/libRIO.so
#15 0x00007f8ba058f864 in int TStreamerInfoActions::ReadSTL<&TStreamerInfoActions::ReadSTLMemberWiseSameClass, &TStreamerInfoActions::ReadSTLObjectWiseFastArray>(TBuffer&, void*, TStreamerInfoActions::TConfiguration const*) () from /cvmfs/sft.cern.ch/lcg/releases/LCG_94/ROOT/6.14.04/x86_64-slc6-gcc62-opt/lib/libRIO.so
#16 0x00007f8ba0461c0e in TBufferFile::ReadClassBuffer(TClass const*, void*, TClass const*) () from /cvmfs/sft.cern.ch/lcg/releases/LCG_94/ROOT/6.14.04/x86_64-slc6-gcc62-opt/lib/libRIO.so
#17 0x00007f8ba04cb799 in TGenCollectionStreamer::ReadMap(int, TBuffer&, TClass const*) () from /cvmfs/sft.cern.ch/lcg/releases/LCG_94/ROOT/6.14.04/x86_64-slc6-gcc62-opt/lib/libRIO.so
#18 0x00007f8ba04cd65b in TGenCollectionStreamer::ReadBufferGeneric(TBuffer&, void*, TClass const*) () from /cvmfs/sft.cern.ch/lcg/releases/LCG_94/ROOT/6.14.04/x86_64-slc6-gcc62-opt/lib/libRIO.so
#19 0x00007f8ba045ac3a in TBufferFile::ReadFastArray(void*, TClass const*, int, TMemberStreamer*, TClass const*) () from /cvmfs/sft.cern.ch/lcg/releases/LCG_94/ROOT/6.14.04/x86_64-slc6-gcc62-opt/lib/libRIO.so
#20 0x00007f8ba058f864 in int TStreamerInfoActions::ReadSTL<&TStreamerInfoActions::ReadSTLMemberWiseSameClass, &TStreamerInfoActions::ReadSTLObjectWiseFastArray>(TBuffer&, void*, TStreamerInfoActions::TConfiguration const*) () from /cvmfs/sft.cern.ch/lcg/releases/LCG_94/ROOT/6.14.04/x86_64-slc6-gcc62-opt/lib/libRIO.so
#21 0x00007f8ba0461c0e in TBufferFile::ReadClassBuffer(TClass const*, void*, TClass const*) () from /cvmfs/sft.cern.ch/lcg/releases/LCG_94/ROOT/6.14.04/x86_64-slc6-gcc62-opt/lib/libRIO.so
#22 0x00007f8ba0462d2b in TBufferFile::ReadObjectAny(TClass const*) () from /cvmfs/sft.cern.ch/lcg/releases/LCG_94/ROOT/6.14.04/x86_64-slc6-gcc62-opt/lib/libRIO.so
#23 0x00007f8b9f39b263 in TList::Streamer(TBuffer&) () from /cvmfs/sft.cern.ch/lcg/releases/LCG_94/ROOT/6.14.04/x86_64-slc6-gcc62-opt/lib/libCore.so
#24 0x00007f8b9f3035e7 in TDirectory::CloneObject(TObject const*, bool) () from /cvmfs/sft.cern.ch/lcg/releases/LCG_94/ROOT/6.14.04/x86_64-slc6-gcc62-opt/lib/libCore.so
#25 0x00007f8b9f38a40e in TCollection::Clone(char const*) const () from /cvmfs/sft.cern.ch/lcg/releases/LCG_94/ROOT/6.14.04/x86_64-slc6-gcc62-opt/lib/libCore.so
#26 0x00007f8ba1dd06ef in TQueryResult::TQueryResult(int, char const*, TList*, long long, long long, char const*) () from /cvmfs/sft.cern.ch/lcg/releases/LCG_94/ROOT/6.14.04/x86_64-slc6-gcc62-opt/lib/libTree.so
#27 0x00007f8b8f68684e in TProofQueryResult::TProofQueryResult(int, char const*, TList*, long long, long long, TDSet*, char const*, TObject*) () from /cvmfs/sft.cern.ch/lcg/releases/ROOT/6.14.04-0d8dc/x86_64-slc6-gcc62-opt/lib/libProof.so
#28 0x00007f8b8f66aeeb in TProofLite::MakeQueryResult(long long, char const*, long long, TDSet*, char const*) () from /cvmfs/sft.cern.ch/lcg/releases/ROOT/6.14.04-0d8dc/x86_64-slc6-gcc62-opt/lib/libProof.so
#29 0x00007f8b8f675f75 in TProofLite::Process(TDSet*, char const*, char const*, long long, long long) () from /cvmfs/sft.cern.ch/lcg/releases/ROOT/6.14.04-0d8dc/x86_64-slc6-gcc62-opt/lib/libProof.so
#30 0x00007f8b8df006f2 in ?? ()
#31 0x0000000000000020 in ?? ()
#32 0x00007ffc0b5796e0 in ?? ()
#33 0x000000000a102630 in ?? ()
#34 0x00007ffc0b579700 in ?? ()
#35 0x0000000005557410 in ?? ()
#36 0x00007f8b995a39bc in llvm::SelectionDAGBuilder::lowerInvokable(llvm::TargetLowering::CallLoweringInfo&, llvm::BasicBlock const*) () from /cvmfs/sft.cern.ch/lcg/releases/LCG_94/ROOT/6.14.04/x86_64-slc6-gcc62-opt/lib/libCling.so
#37 0x00007f8b9963d676 in llvm::DAGTypeLegalizer::run() () from /cvmfs/sft.cern.ch/lcg/releases/LCG_94/ROOT/6.14.04/x86_64-slc6-gcc62-opt/lib/libCling.so
#38 0x00007f8b9963dcc8 in llvm::SelectionDAG::LegalizeTypes() () from /cvmfs/sft.cern.ch/lcg/releases/LCG_94/ROOT/6.14.04/x86_64-slc6-gcc62-opt/lib/libCling.so
#39 0x00007f8b00000018 in ?? ()
#40 0x0000000000000006 in ?? ()
#41 0x000000000519cc20 in ?? ()
#42 0xffff8003f4a858b1 in ?? ()
#43 0x00007ffc00000011 in ?? ()
#44 0xffff8003f4a858a1 in ?? ()
#45 0x0000000000000010 in ?? ()
#46 0x00ff8003f4a85891 in ?? ()
#47 0x0000000005539150 in ?? ()
#48 0x00007f8b9f33a320 in ?? () from /cvmfs/sft.cern.ch/lcg/releases/LCG_94/ROOT/6.14.04/x86_64-slc6-gcc62-opt/lib/libCore.so
#49 0x00007f8baaad8cd4 in ?? ()
#50 0xffff8003f4a85871 in ?? ()
#51 0x00007ffc0000000d in ?? ()
#52 0x0000000000000003 in ?? ()
#53 0x000000000910cfd0 in ?? ()
#54 0xffff8003f4a85851 in ?? ()
#55 0x00007ffc00000010 in ?? ()
#56 0x0000000000000004 in ?? ()
#57 0x0000000000000000 in ?? ()
===========================================================
I see that this does not happen with a map that uses “standard” datatypes:
map<TString,int> map_test;
Is there something I should do in my PlotTools class so that I can have the map_plotTools in my parameters that I Add as Input to TProof?
Thanks