My apologies if this issue has already been dealt with on this message board, but I've done several searches and haven't found it. My problem is that a TTree that I used to be able to read when I created it under ROOT 3.00/06 causes a segmentation violation when I re-create it and read it with ROOT 3.01/05. That is, in ROOT 3.00/06 I create the TTree file and I'm able to later read it in root; in ROOT 3.01/05 I create the TTree file but when I try to read it later I get the error. I'm running on Redhat Linux 6.2, and I re-compile the ROOT source using gcc 2.95.2. My code suite can be found at <ftp://www.nevis.columbia.edu/pub/atlas/seligman/LArHits-0.4.tar.gz>; the documentation is at <http://www.nevis.columbia.edu/~atlas/lar/LArHits-0.4.html>. It is a Geant4 application that writes event hits to a TTree; the hits themselves are stored in a TClonesArray. The program that actually generates the error is analysis.C. I went through the exercise of using the debugger on ROOT. I discovered that the segmentation violation occurs when I do: TFile* inputFile = new TFile("LArHits.root"); TTree* t = (TTree*) inputFile->Get("LArHits"); t->GetEntry(0); Tracing the error, it occurs in routine TBranchElement::ReadLeaves(TBuffer &b) at the statement: fInfo->ReadBuffer(b,fObject,fID); ...and the specific problem is that fInfo is 0. Is this enough information to figure out what's wrong? If anyone asks, I'd be glad to send a copy of the files LArHits.root and LArHits.so, created under ROOT 3.00, 3.01, or both. -- Bill Seligman | mailto://seligman@nevis.columbia.edu Nevis Labs | http://www.nevis.columbia.edu/~seligman/ PO Box 137 | Irvington NY 10533 | Phone: (914) 591-2823
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:50 MET