Hi Mike, Difficult to make a diagnostic without having your code. It looks like an unitialized variable somewhere. It would also help if you could send the result of the debugger traceback when you get the seg fault, eg on Linux, run under gdb gdb root.exe root > tree->Process(....) here you get the crash gdb > info stack Rene Brun Mike Kordosky wrote: > > Hi, > > I am using the TTree::MakeSelector method to analyze some data that I have > in a TTree. It seems that when I initially have root compile the selector > code, I get a seg fault. The shared library does get created though, and > further root sessions don't produce any problems. Here is a sample > session: > > ******************************************* > * * > * W E L C O M E to R O O T * > * * > * Version 3.00/06 3 April 2001 * > * * > * You are welcome to visit our Web site * > * http://root.cern.ch * > * * > ******************************************* > > FreeType Engine v1.x used to render TrueType fonts. > > CINT/ROOT C/C++ Interpreter version 5.14.79, Feb 24 2001 > Type ? for help. Commands must be C++ statements. > Enclose multiple statements between { }. > root [0] gSystem->Load("libTestStand.so"); > root [1] TFile m3file("batch-1063.root"); > root [2] TTree* tree = (TTree*)m3file.Get("T"); > root [3] tree->Process("SimpleSelector.C+","fillList"); > Creating shared library > /home/kordosky/work/devel/maketree/./SimpleSelector_C.soClass > SimpleSelector: Streamer() not declared > Class SimpleSelector: ShowMembers() not declared > > *** Break *** segmentation violation > Root > tree->Process("SimpleSelector.C+","fillList"); > Unmodified script has already been compiled and loaded. > Starting SimpleSelector Analysis with Option: fillList > Before Histogram > Before HistRef > After HistRef > <TCanvas::MakeDefCanvas>: created default TCanvas with name c1 > root [5] .q > alpha2:/home/kordosky/work/devel/maketree# root > ******************************************* > * * > * W E L C O M E to R O O T * > * * > * Version 3.00/06 3 April 2001 * > * * > * You are welcome to visit our Web site * > * http://root.cern.ch * > * * > ******************************************* > > FreeType Engine v1.x used to render TrueType fonts. > > CINT/ROOT C/C++ Interpreter version 5.14.79, Feb 24 2001 > Type ? for help. Commands must be C++ statements. > Enclose multiple statements between { }. > root [0] gSystem->Load("libTestStand.so"); > root [1] TFile m3file("batch-1063.root"); > root [2] TTree* tree = (TTree*)m3file.Get("T"); > root [3] tree->Process("SimpleSelector.C+","fillList"); > Starting SimpleSelector Analysis with Option: fillList > Before Histogram > Before HistRef > After HistRef > <TCanvas::MakeDefCanvas>: created default TCanvas with name c1 > root [4] PostScript file: c1.ps has been created > > My tree entry does contain a (split) class called HistRef, which I load > via gSystem->Load(...) above. I include HistRef.h in the SimpleSelector.h > file. Perhaps this is causing some of the problems? I actually don't care > about this one segfault, since I think that during the second session I > am running at compiled speed and the seg fault only seems to happen once. > Anyone got any ideas? > > Thanks! > > Mike Kordosky
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:41 MET