Re: [ROOT] test root file integrity (more)

From: Rene Brun (Rene.Brun@cern.ch)
Date: Fri Jan 11 2002 - 13:03:45 MET


Hi Mathieu,

Thanks for sending one of your files. The file is truncated to 4096 bytes
and it should be 3.2 MBytes. The recovery mechanism crashes due to a very
peculiar situation where your sub-directories fit below the 4096 bytes
and the first key of the first sub-directory starting at 4096.
I will introduce more protections such that the TFile constructor will not
crash in case of corrupted/truncated files.

Rene Brun

Mathieu Ribordy wrote:
> 
> Hi,
> When I try to open a root file, I get the message:
> 
> CINT/ROOT C/C++ Interpreter version 5.15.21, Dec 8 2001
> Type ? for help. Commands must be C++ statements.
> Enclose multiple statements between { }.
> root [0] TFile
> f("/net/fatman4/data3/amamc/recoV4/Statistics/run02XX/0295/moni$
> Error in <TFile::ReadBuffer>: error reading all requested bytes from
> file
> /net/fatman4/data3/amamc/recoV4/Statistics/run02XX/0295/monitoring_2000_136_0295_041.root,
> got 0 of 883
> Error in <TFile::ReadBuffer>: error reading all requested bytes from
> file
> /net/fatman4/data3/amamc/recoV4/Statistics/run02XX/0295/monitoring_2000_136_0295_041.root,
> got 0 of 2181
> 
>  *** Break *** segmentation violation
> Root >
> 
> Is there a way to test the integrity of the root file first and then to
> avoid the segmentation fault ?
> thanks
> Mathieu Ribordy



This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:37 MET