Re: root.exe clashes in clean up

Rene Brun (Rene.Brun@cern.ch)
Sun, 01 Nov 1998 17:46:40 +0100


Hi Yasuhiro,
Thanks for reporting this problem (not specific to the new version
2.00/13).
A protection was missing in the TDirectory destructor automatically
called by the TROOT destructor at the end of your Root session.
The problem happens when a TF1 object is created and no Root files are
connected.

Rene Brun

Yasuhiro SHIRASAKI wrote:
>
> Hi ROOT developers,
>
> I just installed ROOT 2.0/13 into our alpha running DU 4.0a,
> and started with it. But when I tried to quit ROOT, it caught
> sigsegv and made core dump.
>
> -------------------------------------------------------<operation>-
> % root.exe -E
> root [0] .x h1.C
> **********
> ** 1 **SET ERR 1
> **********
> FCN=735.278 FROM MIGRAD STATUS=CONVERGED 74 CALLS 75 TOTAL
> EDM=0.00015054 STRATEGY= 1 ERROR MATRIX ACCURATE
> EXT PARAMETER STEP FIRST
> NO. NAME VALUE ERROR SIZE DERIVATIVE
> 1 Constant 3.28951e+03 1.51914e+01 1.57712e-01 4.66360e-04
> 2 Mean 1.89592e+00 7.15048e-03 1.09508e-04 -1.24510e+00
> 3 Sigma 1.85237e+00 5.31858e-03 8.03824e-05 3.44927e+00
> root [1] .q
>
> *** Break *** segmentation violation
>
> -------------------------------------------------------<operation>-
>
> ------------------------------------------------------------<h1.C>-
> {
> #include <iostream.h>
> ifstream* data = new ifstream("filename.dat");
> TH1S* h1 = new TH1S("name", "title", 150, -10, 20);
> float x;
> for (;;) {
> *data >> x;
> if (data->eof())
> break;
> h1->Fill(x);
> }
> data->close();
> TCanvas* c1 = new TCanvas("CanvasName", "CanvasTitle");
> c1->Draw();
> h1->Draw();
> h1->Fit("gaus");
> c1->Update();
> }
> ------------------------------------------------------------<h1.C>-
>
> -------------------------------------------------<stack backtrace>-
> dbx version 3.11.10
> Type 'help' for help.
> Core file created by program "root.exe"
>
> signal IOT/Abort trap at >*[__kill, 0x3ff800e7a80] beq r19, 0x3ff800e7a98
> (dbx) where
> > 0 __kill(0x3ffc0080488, 0x3ffffe71798, 0x3ff80170bb4, 0x3ffc0080c50, 0x3ffc0082590) [0x3ff800e7a80]
> 1 (unknown)() [0x3ff8019780c]
> 2 __tis_raise(0x3ffc0082590, 0x140000350, 0x3ff8010fb4c, 0x3ffc0080c50, 0x3ff8015a1e4) [0x3ff8010fb48]
> 3 raise(0x3ff8010fb4c, 0x3ffc0080c50, 0x3ff8015a1e4, 0x3ffffe71798, 0x3ff80170bdc) [0x3ff8015a1e0]
> 4 abort(0x140002908, 0x4037c00020000000, 0x0, 0x0, 0xffffffff00000000) [0x3ff80170bd8]
> 5 Abort__11TUnixSystemXi(this = 0x140002908, = -1) ["UNIX_UnixSystem.cxx":1043, 0x3ffbf77ff20]
> 6 DispatchSignals__11TUnixSystemX8ESignals(this = 0x140002908, sig = kSigSegmentationViolation) ["UNIX_UnixSystem.cxx":532, 0x3ffbf77ea10]
> 7 SigHandler__X8ESignals(sig = kSigSegmentationViolation) ["UNIX_UnixSystem.cxx":197, 0x3ffbf77d8fc]
> 8 sighandler__Xi(sig = 11) ["UNIX_UnixSystem.cxx":1755, 0x3ffbf781880]
> 9 GetListOfFunctions__5TROOTXv(this = (nil)) ["TROOT.h~alt~deccxx_4351DC75":138, 0x3ffbfce68c0]
> 10 __dt__8TFormulaXv(this = 0x1407359c8, __control = 0) ["FUNC_Formula.cxx":159, 0x3ffbfce6ea4]
> 11 __dt__3TF1Xv(this = 0x1407359c8, __control = 5) ["FUNC_F1.cxx":327, 0x3ffbfcdfac4]
> 12 GarbageCollect__11TCollectionXP7TObject(obj = 0x1407359c8) ["CONT_Collection.cxx":349, 0x3ffbfd32304]
> 13 Delete__5TListXPCc(this = 0x140738688, = 0x3ffbfa18130) ["CONT_List.cxx":349, 0x3ffbfd33be4]
> 14 __dt__3TH1Xv(this = 0x140140488, __control = 0) ["H_H1.cxx":180, 0x3ffbfa2ec00]
> 15 __dt__4TH1SXv(this = 0x140140488, __control = 5) ["H_H1.cxx":6525, 0x3ffbfa4f360]
> 16 GarbageCollect__11TCollectionXP7TObject(obj = 0x140140488) ["CONT_Collection.cxx":349, 0x3ffbfd32304]
> 17 Delete__5TListXPCc(this = 0x140024508, = 0x3ffbfdb53f8) ["CONT_List.cxx":349, 0x3ffbfd33be4]
> 18 Delete__9THashListXPCc(this = 0x140024508, option = 0x3ffbfdb53f8) ["CONT_HashList.cxx":202, 0x3ffbfd3854c]
> 19 __dt__10TDirectoryXv(this = 0x140000350, __control = 0) ["BASE_Directory.cxx":154, 0x3ffbfde4708]
> 20 __dt__5TROOTXv(this = 0x140000350, __control = 1) ["BASE_Root.cxx":339, 0x3ffbfe03280]
> 21 __fini_sti__MAIN_rmain_cxx_d233fbb2_00000000() ["MAIN_rmain.cxx":38, 0x120003c78]
> 22 __fini_cleanup(0x12000409c, 0x3ffc0001df8, 0x3ffc0001b18, 0x7, 0x1) [0x120003b70]
> (dbx) quit
> -------------------------------------------------<stack backtrace>-
>
> Recent changes introduced new bug into clean up routine
> or somewhere?
>
> regards,
>
> --
> Yasuhiro SHIRASAKI : Experimental Particle Physics, JLC Team
> Graduate school of Science, TOHOKU University 980-8578 Japan.
> Phone: +81-22-217-6727 Fax: +81-22-217-6728