2006-10-18 02:40, original submission:
Hi,
I have some relatively simple trees that I constructed with an analysis program based upon 5.12.00. I find that I get an error when drawing from them with a simple selection. The error occurs in 5.12.00, 5.12.00e, 5.13.02 and 5.13.04 but is not repeatable in root 5.10.00 and 5.10.00e (e.g., these versions work OK).
I've place the things needed to reproduce my problem in:
http://www.hep.ucl.ac.uk/~kordosky/...
What follows is a description of the problem in more detail.
I've made a little test program (in the web directory above, along with datafiles):
void draw_test(){
TChain* c = new TChain("pan","pan");
c->Add("pan_N000077*_cat0.spill.sntp.R1_18_2.0.root");
c->GetListOfFiles()->Print();
c->Draw("reco_enu>>h(30,0,30)","is_fid==1 && goodbeam==1 && beamcnf==1 && hornI<-181 && hornI>-184");
}
which prints:
root [0]
Processing draw_test.C...
OBJ: TChainElement pan /unix/www/users/kordosky/public_html/for_root/pan_N00007760_cat0.spill.sntp.R1_18_2.0.root
OBJ: TChainElement pan /unix/www/users/kordosky/public_html/for_root/pan_N00007764_cat0.spill.sntp.R1_18_2.0.root
OBJ: TChainElement pan /unix/www/users/kordosky/public_html/for_root/pan_N00007786_cat0.spill.sntp.R1_18_2.0.root
OBJ: TChainElement pan /unix/www/users/kordosky/public_html/for_root/pan_N00007787_cat0.spill.sntp.R1_18_2.0.root
Warning in <TClass::TClass>: no dictionary for class NuParent is available
<TCanvas::MakeDefCanvas>: created default TCanvas with name c1
Error in <TBranch::GetBasket>: File: /unix/www/users/kordosky/public_html/for_root/pan_N00007787_cat0.spill.sntp.R1_18_2.0.root at byte:26110684, branch:hornI, entry:3989, badread=0
The test program works without error in 5.10. When exploring interactively I've also noticed that the error doesn't occur (in 5.13.04, but presumably other non-working versions too) if I only attach pan_N00007787, or even if I attach pan_N0000778* (two files). The error also doesn't occur if I attach pan_N00007787 first... e.g., the order seems to matter.
This is the simplest hint of much more troublesome problem. I am trying to filter several hundred of these trees (couple 10s of G) while applying a selection. The program is in the web directory above and named filter_pan.h (.C). This program outputs the GetBasket errors (but not from the files above though they are in the larger list of files to be filtered!!!) and also outputs an error "R__unzip: error in inflate (zlib)" and eventually crashes root. The web directory above contains some notes (filter_pan_trouble.txt) from my debugging session in gdb. Maybe they are helpful to get started, sorry they are not entirely coherent and note that they show the state of the program after the eventual segv (e.g., I didn't trap on the GetBasket error).
In summary, I have an error when doing a simple Draw selection. It seems to depend on the order of the files and is not repeatable when only running over one file (even if it seems to have an error when in a larger list). The errors don't occur in %.10 but do occur in 5.12 and 5.13 (sorry, haven't checked 5.11).
Finally, the files above are data from the MINOS Near Detector so please have some care with where they are stored.
|