First of all you have following problem in you analysis, where %CODE{"cpp"}% delete myHades; %ENDCODE% is called. I get following error:
*Segmentation fault (core dumped)*

If you start debugger and make backtrace, you get:
#0 0xb66d8227 in HMdcTrackGCorrPar::~HMdcTrackGCorrPar () at TString.h:293
#1 0xb7a528e2 in TCollection::GarbageCollect () from /usr/local/opt/root/403-02/lib/libCore.so
#2 0xb7a5fe72 in TList::Delete () from /usr/local/opt/root/403-02/lib/libCore.so
#3 0xb579ba34 in ~HRuntimeDb (this=0x80611a0) at hruntimedb.cc:62
#4 0xb601a90f in ~Hades (this=0x9547200) at hades.cc:115
#5 0x0804c9db in analysisDST (inputFile=, nEvents=5, startEvt=0) at analysisDST_jan05_G1.cc:375
#6 0x0804cea0 in main (argc=3, argv=0xbfa79194) at stdlib.h:398

To comment out several lines out in destructor of HMdcTrackGCorrPar (before I tried to set the pointers to NULL, e.g. %CODE{"cpp"}%corrScan0 = NULL;%ENDCODE%; unfortunately didn't help)
%CODE{"cpp"}% HMdcTrackGCorrPar::~HMdcTrackGCorrPar() { if(fieldmap) delete fieldmap; if(corr) delete corr; if(corr1) delete corr1; // if(corrScan0) delete corrScan0; // if(corrScan1) delete corrScan1; // if(corrScan2) delete corrScan2; if(spline) delete spline; } %ENDCODE%

does not help really, you get following error:
* glibc detected * double free or corruption (prev): 0x09f0fd38 ***
Aborted (core dumped)

and the corresponding BackTrace in debbuger looks like:
(gdb) bt
#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb53d77d5 in raise () from /lib/tls/libc.so.6
#2 0xb53d9149 in abort () from /lib/tls/libc.so.6
#3 0xb540b27a in __libc_message () from /lib/tls/libc.so.6
#4 0xb5411abf in _int_free () from /lib/tls/libc.so.6
#5 0xb5411e3a in free () from /lib/tls/libc.so.6
#6 0xb5591941 in operator delete () from /usr/lib/libstdc+
+.so.6
#7 0xb7a0d387 in TStorage::ObjectDealloc () from /usr/local/opt/root/403-02/lib/libCore.so
#8 0xb79f1381 in TObject::operator delete () from /usr/local/opt/root/403-02/lib/libCore.so
#9 0xb66c99c3 in ~HMdcTrackGSpline (this=0x9f0fd38) at hmdctrackgspline.cc:112
#10 0xb65bb1e0 in HKickTrackFB::~HKickTrackFB () at TString.h:293
#11 0xb7a418e2 in TCollection::GarbageCollect () from /usr/local/opt/root/403-02/lib/libCore.so
#12 0xb7a5483d in TOrdCollection::Delete () from /usr/local/opt/root/403-02/lib/libCore.so
#13 0xb5792593 in HTaskSet::~HTaskSet () at TString.h:293
#14 0xb7a418e2 in TCollection::GarbageCollect () from /usr/local/opt/root/403-02/lib/libCore.so
#15 0xb7a5483d in TOrdCollection::Delete () from /usr/local/opt/root/403-02/lib/libCore.so
#16 0xb5792593 in HTaskSet::~HTaskSet () at TString.h:293
#17 0xb7a418e2 in TCollection::GarbageCollect () from /usr/local/opt/root/403-02/lib/libCore.so
#18 0xb7a524f3 in TObjArray::Delete () from /usr/local/opt/root/403-02/lib/libCore.so
#19 0xb600993a in ~Hades (this=0x9547200) at hades.cc:118
#20 0x0804c9db in analysisDST (inputFile=, nEvents=5, startEvt=0) at analysisDST_jan05_G1.cc:375
#21 0x0804cea0 in main (argc=3, argv=0xbfc66174) at stdlib.h:398

Next point of investigation was to check destructors of HKickTrackFB and HMdcTrackGSpline


-- MartinJurkovic - 04 Sep 2005
Topic revision: r2 - 2005-09-04, MartinJurkovic
Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki Send feedback | Imprint | Privacy Policy (in German)