Hello Rene, The application that generates the root file is an MFC application - I could not call m_Ntuple->Print(). So, I built a console application and ran that. Strangly enough, the root code performed as it was expected - I was able to add a m_Ntuple->Print() and got the following. When I went to read the ntuple in to root, everything worked fine. Very puzzling.. Ed the current keyboard layout is 437 **************************************************************************** ** *Tree :nt : Raw * *Entries : 55798842 : Total = 2013592842 bytes File Size = 697021417 * * : : Tree compression factor = 2.89 * **************************************************************************** ** *Br 0 :x : * *Entries : 55798842 : Total Size= 223720044 bytes File Size = 119308739 * *Baskets : 6987 : Basket Size= 32000 bytes Compression= 1.87 * *........................................................................... .* *Br 1 :y : * *Entries : 55798842 : Total Size= 223720044 bytes File Size = 120235511 * *Baskets : 6987 : Basket Size= 32000 bytes Compression= 1.86 * *........................................................................... .* *Br 2 :tof : * *Entries : 55798842 : Total Size= 223734094 bytes File Size = 144517194 * *Baskets : 6988 : Basket Size= 32000 bytes Compression= 1.55 * *........................................................................... .* *Br 3 :z : * *Entries : 55798842 : Total Size= 223720044 bytes File Size = 22759189 * *Baskets : 6987 : Basket Size= 32000 bytes Compression= 9.82 * *........................................................................... .* *Br 4 :v : * *Entries : 55798842 : Total Size= 223720044 bytes File Size = 11260843 * *Baskets : 6987 : Basket Size= 32000 bytes Compression= 19.85 * *........................................................................... .* *Br 5 :delta : * *Entries : 55798842 : Total Size= 223748082 bytes File Size = 57303282 * *Baskets : 6988 : Basket Size= 32000 bytes Compression= 3.90 * *........................................................................... .* *Br 6 :pulse : * *Entries : 55798842 : Total Size= 223748082 bytes File Size = 33798419 * *Baskets : 6988 : Basket Size= 32000 bytes Compression= 6.62 * *........................................................................... .* *Br 7 :vap : * *Entries : 55798842 : Total Size= 223734094 bytes File Size = 849142 * *Baskets : 6988 : Basket Size= 32000 bytes Compression= 263.31 * *........................................................................... .* *Br 8 :erate : * *Entries : 55798842 : Total Size= 223748082 bytes File Size = 186360721 * *Baskets : 6988 : Basket Size= 32000 bytes Compression= 1.20 * *........................................................................... .* Press any key to continue > -----Original Message----- > From: Rene Brun [mailto:brun@pcbrun.cern.ch] > Sent: Wednesday, November 13, 2002 11:59 AM > To: Ed Oltman > Cc: Roottalk@Pcroot. Cern. Ch > Subject: Re: [ROOT] trouble reading a large root file > > > Hi Ed, > > It looks like this file has been overwritten at some point. > To help understanding this problem, could you > -add the statement m_Ntuple->Print() at the end of the job > producing the ntuple, just before closing the file. > and send me the output. > > If this does not crash, add the following statement between > m_Ntuple->Print() and closing the file: > m_Ntuple_Draw("pulse"); > > Is it possible to have access to your input file (gzipped) > and your small program reading it and converting it to Root? > > Rene Brun > > On Wed, 13 Nov 2002, Ed Oltman wrote: > > > Hello, > > I am having trouble reading a "large" root file I generated > > with a stand-alone application (reads non-root data, produces > > a root file that consists of a couple of small histos and > > a TNtuple) I've used this stand-alone program thousands of > > times over the past year with no problem. > > > > This time, the data is much larger there are approximately > > 56 million entries in the TNtuple, each with 9 variables. > > I created the TFile with > > > > m_hFile = new TFile(pname,"RECREATE","ap data"); > > > > I created the TNtuple with > > > > m_Ntuple = new > TNtuple("nt","Raw","x:y:tof:z:v:delta:pulse:vap:erate"); > > > > The program that generates the ntuple terminates normally.. The output > > file is 696,229,888 Bytes - smaller than the 1900 MByte limit > of a TTree. > > > > When I open with root, I get the errors shown below. Any ideas what I > > need to do to fix or diagnose the problem? Thanks > > > > I use root v3.03/9a on win2k. > > > > > > Ed Oltman > > > > > > C:\root>root > > the current keyboard layout is 437 > > ******************************************* > > * * > > * W E L C O M E to R O O T * > > * * > > * Version 3.03/09 29 October 2002 * > > * * > > * You are welcome to visit our Web site * > > * http://root.cern.ch * > > * * > > ******************************************* > > > > Compiled for win32. > > > > CINT/ROOT C/C++ Interpreter version 5.15.61, Oct 6 2002 > > Type ? for help. Commands must be C++ statements. > > Enclose multiple statements between { }. > > root [0] TFile *f = new TFile("ap.root") > > Error in <TObjArray::At>: index 64 out of bounds (size: 13, this: > > 0x016aeb90) > > Warning in <TExMap::Remove>: key 131136 not found at 356 > > Warning in <TBuffer::CheckObject>: reference to object of > unavailable class > > TObject, pointer will be > > 0 > > Error in <TBuffer::CheckByteCount>: object of class > TStreamerInfo read too > > many bytes: 34 instead of > > 2 > > Warning in <TBuffer::CheckByteCount>: TStreamerInfo::Streamer() > not in sync > > with data on file, fix S > > treamer() > > Warning in <TExMap::Remove>: key 131072 not found at 292 > > Warning in <TBuffer::CheckObject>: reference to object of > unavailable class > > TObject, pointer will be > > 0 > > Error in <TBuffer::CheckByteCount>: object of class > TStreamerInfo read too > > many bytes: 34 instead of > > 2 > > Warning in <TBuffer::CheckByteCount>: TStreamerInfo::Streamer() > not in sync > > with data on file, fix S > > treamer() > > Error in <TBuffer::CheckByteCount>: object of class > TStreamerInfo read too > > many bytes: 30 instead of > > 2 > > Warning in <TBuffer::CheckByteCount>: TStreamerInfo::Streamer() > not in sync > > with data on file, fix S > > treamer() > > Warning in <TExMap::Remove>: key 50399232 not found at 141 > > Warning in <TBuffer::CheckObject>: reference to object of > unavailable class > > TObject, pointer will be > > 0 > > Error in <TBuffer::CheckByteCount>: object of class > TStreamerInfo read too > > many bytes: 28 instead of > > 2 > > Warning in <TBuffer::CheckByteCount>: TStreamerInfo::Streamer() > not in sync > > with data on file, fix S > > treamer() > > ERROR reading TStreamerInfo: fClassVersion=-2147483557 > > ERROR reading TStreamerInfo: fClassVersion=-2147483557 > > ERROR reading TStreamerInfo: fClassVersion=385881856 > > root [1]ERROR reading TStreamerInfo: fClassVersion=385881856 > > > > > > I tried > > > > f->Recover() and got the following: > > root [5] f->Recover() > > Info in <TFile::Recover>: recovered key TH1C:pHeader at address 192 > > Info in <TFile::Recover>: recovered key TList:StreamerInfo at address > > 39341120 > > Info in <TFile::Recover>: recovered key TNtuple:nt at address 77927255 > > Info in <TFile::Recover>: recovered key TNtuple:nt at address 116052219 > > Info in <TFile::Recover>: recovered key TH1F:pHits at address 696225755 > > Info in <TFile::Recover>: recovered key TH1F:pDoubles at > address 696225803 > > Info in <TFile::Recover>: recovered key TH1F:pFlag at address 696225861 > > Info in <TFile::Recover>: recovered key TFile:C:\root\ap.root at address > > 696225909 > > Info in <TFile::Recover>: recovered key TFile:C:\root\ap.root at address > > 696226249 > > (Int_t)9 > > > > but was still unable to do anything with the file.. > > > > I tried f->Dump(): > > > > root [11] f->Dump() > > ==>Dumping object at:989530, name=ap.root, class=TFile > > > > fSumBuffer 0 Sum of buffer sizes of objects > > written so far > > fSum2Buffer 0 Sum of squares of > buffer sizes of > > objects written so far > > fBytesWrite 0 Number of bytes > written to this > > file > > fBytesRead 6.4407e+007 Number of bytes read from this > > file > > fBEGIN 64 First used byte in file > > fEND 696226329 Last used byte in file > > fSeekFree 696226249 Location on disk of > free segments > > structure > > fSeekInfo 39341120 Location on disk of > StreamerInfo > > record > > fD 7 File descriptor > > fVersion 30309 File format version > > fCompress 1 Compression level from 0(not > > compressed) to 9 (max compres > > sion) > > fNbytesFree 76 Number of bytes for > free segments > > structure > > fNbytesInfo 159 Number of bytes for > StreamerInfo > > record > > fWritten 0 Number of objects > written so far > > fNProcessIDs 0 Number of TProcessID > written to > > this file > > fOption ->9895ec File options > > fOption.*fData READ > > fUnits 4 Number of bytes for > file pointers > > *fFree ->0 Free segments linked > list table > > *fClassIndex ->169ee68 !Index of > TStreamerInfo classes > > written to this file > > *fCache ->0 !Page cache used to > reduce number > > of small I/O's > > *fProcessIDs ->16adb20 !Array of pointers to > TProcessIDs > > fModified 1 true if directory has been > > modified > > fWritable 0 true if directory is writable > > fDatimeC ->989550 Date and time when > directory is > > created > > fDatimeC.fDatime 20021113/105303 > > fDatimeM ->989558 Date and time of last > modification > > fDatimeM.fDatime 20021113/111332 > > fNbytesKeys 340 Number of bytes for the keys > > fNbytesName 80 Number of bytes in TNamed at > > creation time > > fSeekDir 64 Location of directory on file > > fSeekParent 0 Location of parent > directory on > > file > > fSeekKeys 696225909 Location of Keys > record on file > > *fFile ->989530 pointer to current > file in memory > > *fMother ->0 pointer to mother of > the directory > > *fList ->167cab8 Pointer to objects > list in memory > > *fKeys ->167cb28 Pointer to keys list in memory > > fUUID ->989584 Unique identifier > > fUUID.fUUIDIndex 0 !index in the list of UUIDs in > > TProcessUUID > > fUUID.fTimeLow 1607350938 60 bit time, lower 32 bits > > fUUID.fTimeMid 63272 middle 16 time bits > > fUUID.fTimeHiAndVersion 4566 high 12 time bits + 4 > UUID version > > bits > > fUUID.fClockSeqHiAndReserved 171 high 6 clock bits + 2 bits > > reserved > > fUUID.fClockSeqLow 70 low 8 clock bits > > fUUID.fNode[6] 95 6 node id bytes > > fName ->98953c object identifier > > fName.*fData ap.root > > fTitle ->989544 object title > > fTitle.*fData ap data > > fUniqueID 0 object unique identifier > > fBits 50332705 bit field status word > > > > > > > >
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:17 MET