Hi, I wanted to find out if anyone knows the consequences of the following error when reading a TTree from a file: Error in <TBranchElement::GetBasket>: File: someFile.root at byte:0, branch:myBranch.myElement, entry:3304 This error is produced at line 600 of TBranch.cxx in Root version 3.03/03. I used the debugger to find that the error comes from a problem with reading in a record header. The failure to read the record header causes the TBasket used to have zero for the record size (nbytes) and seekkey, but produces no other errors. I am guessing that the error occurs because of a corruption to the actual file on disk. Is this a valid assumption, and if not, how would one be sure? What happens subsequently is that ROOT keeps on running (getting a few of these errors in a row, but only a few and then they stop). Because most of that TTree "entry" or "event" still seems to read in OK, the number of bytes returned for reading in looks reasonable, and I have no way other than this error message to know that something went wrong. But. as ROOT continues from this point in the TTree file onwards, _something_ has definitely gone wrong. I don't _see_ anything obviously wrong in the data that is being read in by from a casual glance. However, the size of my ROOT executable starts a dramatic upwards climb until it crashes from exhausting memory after a short while. (memory usage appears completely stable before this error). So, I'm wondering if there's a way I can "catch" problems like this and stop my processes from bogging down the computer until the ROOT process crashes. And I'm also wondering if there's a way to determine if the problem is definitely with a corruption to the file (without trying to re-create the file). Thanks, -Gene Van Buren
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:48 MET