Different behaviour between compile and cling interpreted script

___
ROOT Version: 6.10/05 
Platform, compiler (e.g. CentOS 7.3, gcc6.2): ScientificLinux6.9 (lxplus), 6.3.0
___

Dear Rooters,

I have a strange behaviour with my script. I am trying to read a tree that contains a branch made with my own class (in particular this is a vector<myClass*>). When I try to read the tree from TBrowser or within root prompt, everything is working properly. However when I try to compile exactly the same script (with all the extras needed) it is crashing.

This is the stack trace of the error:

===========================================================
#5  0x0000000000482349 in ROOT::delete_HGCC3D(void*) ()
#6  0x00007f119300fb36 in TGenCollectionProxy::Clear(char const*) () from /cvmfs/cms.cern.ch/slc6_amd64_gcc630/cms/cmssw/CMSSW_9_3_2/external/slc6_amd64_gcc630/lib/libRIO.so
#7  0x00007f1193018e37 in TGenCollectionStreamer::ReadBufferGeneric(TBuffer&, void*, TClass const*) () from /cvmfs/cms.cern.ch/slc6_amd64_gcc630/cms/cmssw/CMSSW_9_3_2/external/slc6_amd64_gcc630/lib/libRIO.so
#8  0x00007f1192fb51ea in TBufferFile::ReadFastArray(void*, TClass const*, int, TMemberStreamer*, TClass const*) () from /cvmfs/cms.cern.ch/slc6_amd64_gcc630/cms/cmssw/CMSSW_9_3_2/external/slc6_amd64_gcc630/lib/libRIO.so
#9  0x00007f11930aa534 in int TStreamerInfoActions::ReadSTL<&TStreamerInfoActions::ReadSTLMemberWiseSameClass, &TStreamerInfoActions::ReadSTLObjectWiseFastArray>(TBuffer&, void*, TStreamerInfoActions::TConfiguration const*) () from /cvmfs/cms.cern.ch/slc6_amd64_gcc630/cms/cmssw/CMSSW_9_3_2/external/slc6_amd64_gcc630/lib/libRIO.so
#10 0x00007f1192fb4a75 in TBufferFile::ApplySequence(TStreamerInfoActions::TActionSequence const&, void*) () from /cvmfs/cms.cern.ch/slc6_amd64_gcc630/cms/cmssw/CMSSW_9_3_2/external/slc6_amd64_gcc630/lib/libRIO.so
#11 0x00007f11928a3e1d in TBranchElement::ReadLeavesMember(TBuffer&) () from /cvmfs/cms.cern.ch/slc6_amd64_gcc630/cms/cmssw/CMSSW_9_3_2/external/slc6_amd64_gcc630/lib/libTree.so
#12 0x00007f119289707a in TBranch::GetEntry(long long, int) () from /cvmfs/cms.cern.ch/slc6_amd64_gcc630/cms/cmssw/CMSSW_9_3_2/external/slc6_amd64_gcc630/lib/libTree.so
#13 0x00007f11928af011 in TBranchElement::GetEntry(long long, int) () from /cvmfs/cms.cern.ch/slc6_amd64_gcc630/cms/cmssw/CMSSW_9_3_2/external/slc6_amd64_gcc630/lib/libTree.so
#14 0x00007f11928f1cb8 in TTree::GetEntry(long long, int) () from /cvmfs/cms.cern.ch/slc6_amd64_gcc630/cms/cmssw/CMSSW_9_3_2/external/slc6_amd64_gcc630/lib/libTree.so
#15 0x00000000004a8351 in main ()
===========================================================

Anyone has experienced something similar?

Thank you for your help,
Vito

Dear All,

I found the problem, I report my solution for future memories.
I was not initialising to 0 the vector<myClass*> *myPointer

I was doing:
vector<myClass*> *myPointer;

I should have done:
vector<myClass*> *myPointer=0;

Thank you,
Vito

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.