Hello, One of my macros crashes, and I can reproduce the problem in this little simple example: void start() { int max=30; int iterator=0; while(iterator!=max) { if(iterator<10 || iterator>20) // <--- ********* { cout<<"hello: "<<iterator<<endl; TString str_cut1="detCEL==1"; TCut cut1=str_cut1; TString str_cut2="sampCEL==2"; TCut cut2=str_cut2; TCut cut = cut1 && cut2; // <--- ********* } ++iterator; } } Try to execute this and you will have the "break segmentation violation" below, but: - if you comment the line TCut cut = cut1 && cut2; OR - if you do not make the cut (10->20) in the loop then it works !! Hard to believe it... Maybe I don't use correctly the TCuts (not a big experience with them) ? In my macro, I retrieve a ntuple and want draw variables (as "detCEL" and "sampCEL") with cuts. Could you help me ?? Matthieu. PS: I'm working on lxplus with ROOTSYS=/afs/cern.ch/sw/root/v3.10.02/rh73_gcc2952/root *** Break *** segmentation violation Generating stack trace... 0x406dcc84 in G__exec_asm + 0x1714 from /afs/cern.ch/sw/root/v3.10.02/rh73_gcc2952/root/lib/libCint.so 0x406cdee5 in G__exec_loop + 0x4d9 from /afs/cern.ch/sw/root/v3.10.02/rh73_gcc2952/root/lib/libCint.so 0x406ce0fa in G__exec_while + 0x82 from /afs/cern.ch/sw/root/v3.10.02/rh73_gcc2952/root/lib/libCint.so 0x406d0f7e in G__exec_statement + 0x289a from /afs/cern.ch/sw/root/v3.10.02/rh73_gcc2952/root/lib/libCint.so 0x406a1eb4 in G__interpret_func + 0x20c0 from /afs/cern.ch/sw/root/v3.10.02/rh73_gcc2952/root/lib/libCint.so 0x406872ae in G__getfunction + 0x1f86 from /afs/cern.ch/sw/root/v3.10.02/rh73_gcc2952/root/lib/libCint.so 0x4067bd11 in G__getitem + 0x715 from /afs/cern.ch/sw/root/v3.10.02/rh73_gcc2952/root/lib/libCint.so 0x4067a3c3 in G__getexpr + 0x8c5f from /afs/cern.ch/sw/root/v3.10.02/rh73_gcc2952/root/lib/libCint.so 0x406c9c6b in G__exec_function + 0x17b from /afs/cern.ch/sw/root/v3.10.02/rh73_gcc2952/root/lib/libCint.so 0x406d131d in G__exec_statement + 0x2c39 from /afs/cern.ch/sw/root/v3.10.02/rh73_gcc2952/root/lib/libCint.so 0x406610bc in G__exec_tempfile_core + 0x2b4 from /afs/cern.ch/sw/root/v3.10.02/rh73_gcc2952/root/lib/libCint.so 0x4066128d in G__exec_tempfile_fp + 0x25 from /afs/cern.ch/sw/root/v3.10.02/rh73_gcc2952/root/lib/libCint.so 0x406d9edc in G__process_cmd + 0x5094 from /afs/cern.ch/sw/root/v3.10.02/rh73_gcc2952/root/lib/libCint.so 0x40198b1e in TCint::ProcessLine(char const *, TInterpreter::EErrorCode *) + 0x9e from /afs/cern.ch/sw/root/v3.10.02/rh73_gcc2952/root/lib/libCore.so 0x401162fe in TApplication::ProcessLine(char const *, bool, int *) + 0x5b2 from /afs/cern.ch/sw/root/v3.10.02/rh73_gcc2952/root/lib/libCore.so 0x40f51333 in TRint::HandleTermInput(void) + 0x1bb from /afs/cern.ch/sw/root/v3.10.02/rh73_gcc2952/root/lib/libRint.so 0x40f503e1 in TTermInputHandler::Notify(void) + 0x29 from /afs/cern.ch/sw/root/v3.10.02/rh73_gcc2952/root/lib/libRint.so 0x40f5173c in TTermInputHandler::ReadNotify(void) + 0x24 from /afs/cern.ch/sw/root/v3.10.02/rh73_gcc2952/root/lib/libRint.so 0x40204d9a in TUnixSystem::CheckDescriptors(void) + 0xfe from /afs/cern.ch/sw/root/v3.10.02/rh73_gcc2952/root/lib/libCore.so 0x402044c4 in TUnixSystem::DispatchOneEvent(bool) + 0x110 from /afs/cern.ch/sw/root/v3.10.02/rh73_gcc2952/root/lib/libCore.so 0x401688a9 in TSystem::InnerLoop(void) + 0x31 from /afs/cern.ch/sw/root/v3.10.02/rh73_gcc2952/root/lib/libCore.so 0x40168819 in TSystem::Run(void) + 0x79 from /afs/cern.ch/sw/root/v3.10.02/rh73_gcc2952/root/lib/libCore.so 0x40116cd6 in TApplication::Run(bool) + 0x32 from /afs/cern.ch/sw/root/v3.10.02/rh73_gcc2952/root/lib/libCore.so 0x40f50d5b in TRint::Run(bool) + 0x2e3 from /afs/cern.ch/sw/root/v3.10.02/rh73_gcc2952/root/lib/libRint.so 0x080488ac in main + 0x88 from /afs/cern.ch/sw/root/v3.10.02/rh73_gcc2952/root/bin/root.exe 0x42017589 in __libc_start_main + 0x95 from /afs/cern.ch/sw/root/v3.10.02/rh73_gcc2952/root/bin/root.exe 0x08048751 in __register_frame_info + 0x35 from /afs/cern.ch/sw/root/v3.10.02/rh73_gcc2952/root/bin/root.exe Root > Function start() busy flag cleared NB: with my macro (more heavy than the little example above), I have in addition the line below appearing when I leave with .q Error: ~TString() header declared but not defined FILE: LINE:0 Problem of TString's destructor when it's used by TCut ??
This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:05 MET