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