2006-10-23 11:51, comment #12:
Hopefully later today.
Cheers, Fons.
|
2006-10-23 11:15, comment #11:
Any idea when the patch release will be available?
|
2006-10-19 21:47, comment #10:
I meant the patch release v5/12.00f
|
2006-10-19 21:45, comment #9:
I fixed the problem in the head of the CVS repository.
This sames fixes will be part of the patch release v5-12-00h
A simple work-around is to disable the prefectch cache:
c.SetCacheSize(0);
Cheers,
Philippe
|
2006-10-19 15:32, comment #8:
Congratulations...
We normally stick to production versions of root for our production. So it would be great if we could get a bug-fix release 5.12/00f.
|
2006-10-19 15:21, comment #7:
Yes. I think I found the problem and I am testing a fix.
Cheers,
Philippe
|
2006-10-19 11:30, comment #6:
Thanks for the prompt action and information about the status. Are there any further news?
|
2006-10-17 22:59, comment #5:
I can reproduce the problem and I am investigating.
Cheers,
Philippe.
|
2006-10-17 12:07, comment #4:
I also made the files which produced the crash available at the location mentioned before.
Just replace all the c.Add() in the macro by:
c.Add("20060724_00096230_Y_HB89-1553+11-W0.40+000_E.root");
c.Add("20060724_00096231_Y_HB89-1553+11-W0.40+000_E.root");
|
2006-10-17 11:55, comment #3:
It seems that in rare cases it can even crash root... Here is the corresponding output:
R__unzip: error in inflate (zlib)
Error in <TBasket::ReadBasketBuffers>: fNbytes = 7525, fKeylen = 73, fObjlen = 54572, noutot = 0, nout=0, nin=7452, nbuf=54572
- Break *** segmentation violation
Generating stack trace...
0x00002ab9afcb5524 in TBuffer::operator>>(int&) + 0x4 from /opt/root_v5.12.00b-cvs/lib/libCore.so
0x00002ab9afcb1c0c in TBuffer::ReadArray(int*&) + 0x2c from /opt/root_v5.12.00b-cvs/lib/libCore.so
0x00002ab9b176bf21 in TBasket::ReadBasketBuffers(long long, int, TFile*) + 0x441 from /opt/root_v5.12.00b-cvs/lib/libTree.so
0x00002ab9b176ebc5 in TBranch::GetBasket(int) + 0x115 from /opt/root_v5.12.00b-cvs/lib/libTree.so
0x00002ab9b176f938 in TBranch::GetEntry(long long, int) + 0x198 from /opt/root_v5.12.00b-cvs/lib/libTree.so
0x00002ab9b177931e in TBranchElement::GetEntry(long long, int) + 0x19e from /opt/root_v5.12.00b-cvs/lib/libTree.so
0x00002ab9b17792d5 in TBranchElement::GetEntry(long long, int) + 0x155 from /opt/root_v5.12.00b-cvs/lib/libTree.so
0x00002ab9b17792d5 in TBranchElement::GetEntry(long long, int) + 0x155 from /opt/root_v5.12.00b-cvs/lib/libTree.so
0x00002ab9b17ab0a0 in TTree::GetEntry(long long, int) + 0x190 from /opt/root_v5.12.00b-cvs/lib/libTree.so
0x00002ab9b178a382 in TChain::GetEntry(long long, int) + 0x52 from /opt/root_v5.12.00b-cvs/lib/libTree.so
|
2006-10-16 18:31, comment #2:
Yes, of course. In
http://www.astro.uni-wuerzburg.de/~...
you can download these files and a macro I used to reproduce the error.
However I'm not sure if reproducing this problem is so easy. I tries to run the macro with our shared object (with the root dictionary) loaded and it crashed immediatly. (If necessary I can give you advise how to build the necessary dictionary)
I get the following output from the macro:
Processing test.C...
0
10000
20000
30000
40000
50000
60000
70000
80000
90000
100000
110000
120000
130000
140000
R__unzip: error in inflate (zlib)
Error in <TBasket::ReadBasketBuffers>: fNbytes = 16343, fKeylen = 93, fObjlen =30064, noutot = 0, nout=0, nin=16250, nbuf=30064
Warning in <TBasket::ReadBasketBuffers>: basket:MSignalCam.fPixels.fPhot has fNevBuf=13 but fEntryOffset=0, pos=125099594, len=30157, fNbytes=16343, fObjlen=30064, trying to repair
Error in <TBranchElement::GetBasket>: File: /magic/data/callisto/0009/00099057/20060827_00099063_Y_PSRB1951+32_E.root at byte:124087943, branch:MPedPhotFundamental.MParContainer, entry:22779, badread=1
150000
160000
R__unzip: error in inflate (zlib)
Error in <TBasket::ReadBasketBuffers>: fNbytes = 16179, fKeylen = 93, fObjlen =30064, noutot = 0, nout=0, nin=16086, nbuf=30064
Warning in <TBasket::ReadBasketBuffers>: basket:MSignalCam.fPixels.fPhot has fNevBuf=13 but fEntryOffset=0, pos=190115882, len=30157, fNbytes=16179, fObjlen=30064, trying to repair
Error in <TBranchElement::GetBasket>: File: /magic/data/callisto/0009/00099057/20060827_00099063_Y_PSRB1951+32_E.root at byte:196076208, branch:MPedPhotFundamental.fSectors.fUniqueID, entry:37211, badread=1
root [1]
We are still checking if we can find a single file reproducing the error, but so far without luck.
|
2006-10-16 17:24, comment #1:
Could you give me access to the minimun set of files needed to reproduce the problem?
Thanks,
Philippe
|
2006-10-15 16:14, original submission:
I get the following error messages reading some of our files (more details see below)
R__unzip: error in inflate (zlib)
Error in <TBasket::ReadBasketBuffer>: fNbytes=16343, fKeylen=93, fObjlen=30064, noutot=0, nout=0, nin=16250, nbuf=30064
Warning in <TBasket::ReadBasketBuffer>: basket:MSignalCam.fPixels.fPhot has fNevBuf=13 but fEntryOffset=0, pos=125099594, len=30157, fNbytes=16343, fObjlen=30064, trying to repair
/Error in <TBranchElement::GetBasket>: File: xxx.root at byte:124087943, branch:MPedPhotFundamental.MParContainer, entry:22779, badread=1
This error can easily be reproduced by:
TChain c("MyTree");
c.Add("file1.root");
c.Add("file2.root");
...
c.Add("xxx.root");
Int_t n=c.GetEntries();
for (int i=0; i<n; i++)
c.GetEntry(i);
Due to the error "trying to repair" my first idea was that the file xxx.root is corrupted somehow. But reading only this file (without others) in a TChain or changing the order (reading xxx.root first) makes the error disaapear. So I don't think that the file itself can be corrupt (btw: producing the files again reproduces the error, so it is nothing which has to do with the filesystem).
My next idea was, that it is a bug in a root version which might be fixed already, but neither using 5.12/00b, 5.12/00e or 5.13/04 changed nothing. (We have never experienced the problem with older root versions, namely 4.04/02g, but I cannot check it anymore because the program producing the files now needs some features of root 5.*)
I also checked if a streamer of one of our classes is somehow producing correupted files or corrupted input, but this is excluded, because all written objects have a streamer created by root (not by me).
Because the error can disaappear if the order of the files in the TChain is changed, and all streamers used to read the file I guess it is a problem in root I/O reading these files.
Some additional information:
MPedPhotCam.fPixels is a TClonesArray
MPedPhotCam.fPixels.fPhot is a Float_t
MPedPhotFundamental.MParContainer is a base-class derived from TObject which is almost identical to TNamed but hass classVersion=0 to suppress streaming of its data members.
Our system is currently running over TBs of data to check whether we can reproduce this error also with a single file (without the TChain), but I doubt.
|