Re: Signal Handler error

From: Harinder Singh Bawa <harinder.singh.bawa_at_gmail.com>
Date: Mon, 19 Sep 2011 18:23:06 +0200


Hi Philippes,

I understand your point but if I dont close the file, then? I am getting same error then also, When I get Entries of the histogram,

bool* retrieve(string filename, string key, TObject& objectToSendBack) {*  {
TFile file(filename.c_str(),"READ");
  int bytes = objectToSendBack.Read(key.c_str());   cout << " retrieved bytes=\t" << bytes << "\t of \t" << "\t filename= \t"<< filename << "\t with :key:: \t" << key << endl; // file.Close();
  bool success = (bytes > 0);
  return success;
}

*if(doShowFitToPythia) {*

    //get Pythia reco spectrum and fit it to show the function works.     gPad->SetLogy(kTRUE);
    // gPad->SetLogx(kTRUE);
    TH1F h_pythia;

    cout<<"Retreiving file\t"<<endl;
    retrieve(mcFile,"massMC",h_pythia);

   *cout<<"files entries\t"<< h_pythia.GetEntries()<<endl;*

}

On Mon, Sep 19, 2011 at 6:07 PM, Philippe Canal <pcanal_at_fnal.gov> wrote:

>  >  TFile file(filename.c_str(),"READ");
> >  int bytes = objectToSendBack.Read(key.c_str());
>
> Histogram are (by default) associated with the TFile they are read from
> and are deleted as soon as the TFile is close or deleted.
>
> See the ROOT's User Guide chapter on object ownership for more details.
>
> Cheers,
> Philippe.
>
>
> On 9/19/11 6:14 AM, Harinder Singh Bawa wrote:
>
> *Hello,
>
> Could someone points me what I am doing wrong???
>
> I am running Package under Root which is  a set of functions.
>
> *********The main code function is doShowFitToPythia which is retreiving
> histogram from file and then scaling to Lumi.
>
>  The problem is in retreiving function
>
> It is supposed to read filename, the key is histogram and it is supposed to
> fill to object named h_pythia [histogram]. But its not doing so.
>
> When I want to make sure , it reads "massMC" histogram and saved to
> h_pythia object,  I wanted to print the entries. But it crashes saying
> Signalhandler error shown after the function definitions:
>
>
> if(doShowFitToPythia) {*
>     //get Pythia reco spectrum and fit it to show the function works.
>     gPad->SetLogy(kTRUE);
>     //    gPad->SetLogx(kTRUE);
>     TH1F h_pythia;
>
>     cout<<"Retreiving file\t"<<endl;
>     retrieve(mcFile,"massMC",h_pythia);
>
>    *cout<<"files entries\t"<< h_pythia.GetEntries()<<endl;**********I did
> it because I am using h_pythia in next function* *Functions like
> scaleToLumi expect  a histogram, not a pointer to a histogram.
>
> *    cout<<"file retreived\t"<<endl;
>     scaleToLumi(h_pythia,lumi);
>
>     cout<<"histogram scaled to lumi\t"<<endl;
>     h_pythia = KeepBinsBetween(&h_pythia,massMin,massMax);
>
>     h_pythia.Draw();
>     print(cv);
> }
>
>
> bool* retrieve(string filename, string key, TObject& objectToSendBack) {*
>   TFile file(filename.c_str(),"READ");
>   int bytes = objectToSendBack.Read(key.c_str());
>   cout << "  retrieved bytes=\t" << bytes << "\t of  \t" << "\t filename=
> \t"<< filename << "\t with  :key:: \t" << key << endl;
>     file.Close();
>   bool success = (bytes > 0);
>   return success;
> }
>
> *void scaleToLumi(TH1F& hist, const double& desiredLumi, double
> currentAssumedLumi = 1.) {*
>
>  cout<<"hist entries=\t"<<h_pythia.GetEntries()<<endl;
>
>   cout<<"calculating area\t"<<endl;
>   double area = hist.Integral();
>
>   cout<<"Area of Histogram=\t"<<area<<endl;
>   assert (area != 0);
>   hist.Scale(desiredLumi / currentAssumedLumi);
>   return;
> }
>
>
>
> *
> ERROR:*******************************************************************
> [bawa_at_pt3nfs resonance_old]$ ./producePlotsForICHEP.bash
> part 1
> rm: cannot remove `setLimits_output.root': No such file or directory
>
> Processing setLimits.C...
> Error in <TROOT::SetStyle>: Unknown style:ATLAS
> Info in <TCanvas::Print>: ps file pics/all.ps has been created
> Command to : doShowFitToPythia
> nominalDataFile = signal/june2011_B-H1/dijetMass_data.root
> mcFile = signal/june2011_B-H1/dijetMass_mc_noK.root
> nominalSignalsFile = signal/june2011_B-H1/dijetMass_exq.root
> Setting luminosity to 163.4 pb^-1
> Setting massMin to 700 GeV
> Setting massMax to 6000 GeV
> Setting outputFilename to setLimits_output.root
> Retreiving file
>   retrieved bytes=      983      of              filename=
> signal/june2011_B-H1/dijetMass_mc_noK.root       with  :key::   massMC
> file retreived
>
>  *** Break *** segmentation violation
> file entries=
>
>
> ===========================================================
> There was a crash (#7 0xf7a0b5fd in SigHandler(ESignals) ()).
> This is the entire stack trace of all threads:
> ===========================================================
> #0  0xffffe410 in __kernel_vsyscall ()
> #1  0x00c37833 in __waitpid_nocancel () from /lib/libc.so.6
> #2  0x00bdc19b in do_system () from /lib/libc.so.6
> #3  0x00d40ead in system () from /lib/libpthread.so.0
> #4  0xf7a05ffd in TUnixSystem::Exec(char const*) ()
>    from
> /nfs/t3nfs/share/atlas/ATLASLocalRootBase/x86_64/root/5.28.00f-slc5-gcc4.3-i686/lib/libCore.so
> #5  0xf7a0bbe6 in TUnixSystem::StackTrace() ()
>    from
> /nfs/t3nfs/share/atlas/ATLASLocalRootBase/x86_64/root/5.28.00f-slc5-gcc4.3-i686/lib/libCore.so
> #6  0xf7a0b4e7 in TUnixSystem::DispatchSignals(ESignals) ()
>    from
> /nfs/t3nfs/share/atlas/ATLASLocalRootBase/x86_64/root/5.28.00f-slc5-gcc4.3-i686/lib/libCore.so
> #7  0xf7a0b5fd in SigHandler(ESignals) ()
>    from
> /nfs/t3nfs/share/atlas/ATLASLocalRootBase/x86_64/root/5.28.00f-slc5-gcc4.3-i686/lib/libCore.so
> #8  0xf7a02a32 in sighandler(int) ()
>    from
> /nfs/t3nfs/share/atlas/ATLASLocalRootBase/x86_64/root/5.28.00f-slc5-gcc4.3-i686/lib/libCore.so
> #9  <signal handler called>
> #10 0x09f25788 in ?? ()
> #11 0xf6a42ec2 in G__G__Hist_100_0_101(G__value*, char const*, G__param*,
> int)
>     ()
>    from
> /nfs/t3nfs/share/atlas/ATLASLocalRootBase/x86_64/root/5.28.00f-slc5-gcc4.3-i686/lib/libHist.so
> #12 0xf7276056 in Cint::G__ExceptionWrapper(int (*)(G__value*, char const*,
> G__param*, int), G__value*, char*, G__param*, int) ()
>    from
> /nfs/t3nfs/share/atlas/ATLASLocalRootBase/x86_64/root/5.28.00f-slc5-gcc4.3-i686/lib/libCint.so
> #13 0xf732fd8c in G__execute_call ()
>    from
> /nfs/t3nfs/share/atlas/ATLASLocalRootBase/x86_64/root/5.28.00f-slc5-gcc4.3-i686/lib/libCint.so
> #14 0xf7330b5f in G__call_cppfunc ()
>    from
> /nfs/t3nfs/share/atlas/ATLASLocalRootBase/x86_64/root/5.28.00f-slc5-gcc4.3-i686/lib/libCint.so
> #15 0xf730affc in G__interpret_func ()
>    from
> /nfs/t3nfs/share/atlas/ATLASLocalRootBase/x86_64/root/5.28.00f-slc5-gcc4.3-i686/lib/libCint.so
> #16 0xf72f7666 in G__getfunction ()
>    from
> /nfs/t3nfs/share/atlas/ATLASLocalRootBase/x86_64/root/5.28.00f-slc5-gcc4.3-i686/lib/libCint.so
> #17 0xf73f1546 in G__getstructmem(int, G__FastAllocString&, char*, int,
> char*, int*, G__var_array*, int) ()
>    from
> /nfs/t3nfs/share/atlas/ATLASLocalRootBase/x86_64/root/5.28.00f-slc5-gcc4.3-i686/lib/libCint.so
> #18 0xf73e71cd in G__getvariable ()
>    from
> /nfs/t3nfs/share/atlas/ATLASLocalRootBase/x86_64/root/5.28.00f-slc5-gcc4.3-i686/lib/libCint.so
> #19 0xf72c8ecf in G__getitem ()
>    from
> /nfs/t3nfs/share/atlas/ATLASLocalRootBase/x86_64/root/5.28.00f-slc5-gcc4.3-i686/lib/libCint.so
> #20 0xf72d5711 in G__getexpr ()
>    from
> /nfs/t3nfs/share/atlas/ATLASLocalRootBase/x86_64/root/5.28.00f-slc5-gcc4.3-i686/lib/libCint.so
> #21 0xf735ab76 in G__exec_statement ()
>    from
> /nfs/t3nfs/share/atlas/ATLASLocalRootBase/x86_64/root/5.28.00f-slc5-gcc4.3-i686/lib/libCint.so
> #22 0xf7361a3a in G__exec_statement ()
>    from
> /nfs/t3nfs/share/atlas/ATLASLocalRootBase/x86_64/root/5.28.00f-slc5-gcc4.3-i686/lib/libCint.so
> #23 0xf730a5f7 in G__interpret_func ()
>    from
> /nfs/t3nfs/share/atlas/ATLASLocalRootBase/x86_64/root/5.28.00f-slc5-gcc4.3-i686/lib/libCint.so
> #24 0xf72f773f in G__getfunction ()
>    from
> /nfs/t3nfs/share/atlas/ATLASLocalRootBase/x86_64/root/5.28.00f-slc5-gcc4.3-i686/lib/libCint.so
> #25 0xf72c8fd8 in G__getitem ()
>    from
> /nfs/t3nfs/share/atlas/ATLASLocalRootBase/x86_64/root/5.28.00f-slc5-gcc4.3-i686/lib/libCint.so
> #26 0xf72cd53c in G__getexpr ()
>    from
> /nfs/t3nfs/share/atlas/ATLASLocalRootBase/x86_64/root/5.28.00f-slc5-gcc4.3-i686/lib/libCint.so
> #27 0xf72dbaf5 in G__calc_internal ()
>    from
> /nfs/t3nfs/share/atlas/ATLASLocalRootBase/x86_64/root/5.28.00f-slc5-gcc4.3-i686/lib/libCint.so
> #28 0xf736fda7 in G__process_cmd ()
>    from
> /nfs/t3nfs/share/atlas/ATLASLocalRootBase/x86_64/root/5.28.00f-slc5-gcc4.3-i686/lib/libCint.so
> #29 0xf79c669c in TCint::ProcessLine(char const*,
> TInterpreter::EErrorCode*) ()
>    from
> /nfs/t3nfs/share/atlas/ATLASLocalRootBase/x86_64/root/5.28.00f-slc5-gcc4.3-i686/lib/libCore.so
> #30 0xf79c408f in TCint::ProcessLineSynch(char const*,
> TInterpreter::EErrorCode*) ()
>    from
> /nfs/t3nfs/share/atlas/ATLASLocalRootBase/x86_64/root/5.28.00f-slc5-gcc4.3-i686/lib/libCore.so
> #31 0xf7911c1f in TApplication::ExecuteFile(char const*, int*, bool) ()
>    from
> /nfs/t3nfs/share/atlas/ATLASLocalRootBase/x86_64/root/5.28.00f-slc5-gcc4.3-i686/lib/libCore.so
> #32 0xf7911efc in TApplication::ProcessFile(char const*, int*, bool) ()
>    from
> /nfs/t3nfs/share/atlas/ATLASLocalRootBase/x86_64/root/5.28.00f-slc5-gcc4.3-i686/lib/libCore.so
> #33 0xf790f5ff in TApplication::ProcessLine(char const*, bool, int*) ()
>    from
> /nfs/t3nfs/share/atlas/ATLASLocalRootBase/x86_64/root/5.28.00f-slc5-gcc4.3-i686/lib/libCore.so
> #34 0xf700ce51 in TRint::Run(bool) ()
>    from
> /nfs/t3nfs/share/atlas/ATLASLocalRootBase/x86_64/root/5.28.00f-slc5-gcc4.3-i686/lib/libRint.so
> #35 0x08048db5 in main ()
> ===========================================================
>
>
> The lines below might hint at the cause of the crash.
> If they do not help you then please submit a bug report at
> http://root.cern.ch/bugs. Please post the ENTIRE stack trace
> from above as an attachment in addition to anything else
> that might help us fixing this issue.
> ===========================================================
> #10 0x09f25788 in ?? ()
> ===========================================================
>
>
Received on Mon Sep 19 2011 - 18:23:28 CEST

This archive was generated by hypermail 2.2.0 : Mon Sep 19 2011 - 23:50:01 CEST