Bug #1416
ROOT file corruption
Status:
Rejected
Priority:
Normal
Assignee:
Category:
Data Structure
Target version:
Start date:
12 February 2014
Due date:
% Done:
0%
Estimated time:
Workflow:
New Issue
Description
File corruption and error. This may be related to running out of disk space, but it would be nice if MAUS could catch the error and bail. At the moment we make an unusable ROOT file which causes a big memory leak in my analysis (it is killing my analysis script)
Error in <TBranchElement::Fill>: Failed filling branch:_spill, nbytes=-1 Error in <TBranchElement::Fill>: Failed filling branch:data._spill, nbytes=-1 Error in <TTree::Fill>: Failed filling branch:Spill.data, nbytes=-1, entry=100 This error is symptomatic of a Tree created as a memory-resident Tree Instead of doing: TTree *T = new TTree(...) TFile *f = new TFile(...) you should do: TFile *f = new TFile(...) TTree *T = new TTree(...)
Updated by Rogers, Chris over 9 years ago
Two options I can see:
- We catch ROOT errors somehow and throw them as MAUS::Exception, which will catch all ROOT errors
- For this specific error, probably it's possible to detector TTree->GetDirectory(0) which means the tree is resident "in memory"; if so, we throw...