bugROOT - Bugs: bug #20740, zlib error reading root-files

 
 
Show feedback again

You are not allowed to post comments on this tracker with your current authentication level.

bug #20740: zlib error reading root-files

Submitted by:  None
Submitted on:  2006-10-15 16:14  
Votes:  500  
 
Originator Email: -unavailable-Bug / Feature: Bug report
Category: Input/OutputPriority: 5 - Normal
Severity: 4 - ImportantStatus: Fixed
Privacy: PublicAssigned to: Philippe Canal <pcanal>
Open/Closed: ClosedRelease: 5.13/04
Operating System: GNU/Linux

(Jump to the original submission Jump to the original submission)

2006-10-23 11:51, comment #12:

Hopefully later today.

Cheers, Fons.

Fons Rademakers <rdm>
Project Administrator
2006-10-23 11:15, comment #11:

Any idea when the patch release will be available?

Anonymous
2006-10-19 21:47, comment #10:

I meant the patch release v5/12.00f

Philippe Canal <pcanal>In charge of this item.
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

Philippe Canal <pcanal>In charge of this item.
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.

Anonymous
2006-10-19 15:21, comment #7:

Yes. I think I found the problem and I am testing a fix.

Cheers,
Philippe

Philippe Canal <pcanal>In charge of this item.
2006-10-19 11:30, comment #6:

Thanks for the prompt action and information about the status. Are there any further news?

Anonymous
2006-10-17 22:59, comment #5:

I can reproduce the problem and I am investigating.

Cheers,
Philippe.

Philippe Canal <pcanal>In charge of this item.
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");

Anonymous
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

Anonymous
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.

Anonymous
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

Philippe Canal <pcanal>In charge of this item.
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.

Anonymous

 

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by rdm (Posted a comment)
  • -unavailable- added by snruegam (Voted in favor of this item)
  • -unavailable- added by snruegam (Updated the item)
  • -unavailable- added by pcanal (Updated the item)
  • -unavailable- added by evendim (Voted in favor of this item)
  • -unavailable- added by evendim (Updated the item)
  • -unavailable- added by trekker (Voted in favor of this item)
  • -unavailable- added by trekker (Updated the item)
  • -unavailable- added by popperpaul (Voted in favor of this item)
  • -unavailable- added by popperpaul (Updated the item)
  • -unavailable- added by msmeyer (Voted in favor of this item)
  • -unavailable- added by msmeyer (Updated the item)
  • -unavailable- added by None (Originator Email)
  •  

    There are 500 votes so far. Votes easily highlight which items people would like to see resolved in priority, independantly of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

     

     

    Follow 11 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    2006-10-19 21:45pcanalStatusInvestigating=>Fixed
      Open/ClosedOpen=>Closed
    2006-10-17 22:59pcanalStatusNeed Info=>Investigating
    2006-10-17 11:43snruegamCarbon-Copy-=>Added snruegam
    2006-10-16 17:24pcanalStatusNone=>Need Info
      Assigned toNone=>pcanal
    2006-10-16 12:39evendimCarbon-Copy-=>Added evendim
    2006-10-16 12:28trekkerCarbon-Copy-=>Added trekker
    2006-10-16 10:08popperpaulCarbon-Copy-=>Added popperpaul
    2006-10-16 10:04msmeyerCarbon-Copy-=>Added msmeyer
    2006-10-15 16:14NoneCarbon-Copy-=>Added -unavailable-
    Show feedback again

    Back to the top


    Powered by Savane SVN (toward 3.1)

    This project has been migrated to a new system.
    You will be redirected in 5 seconds.
    Or click here to go now.
    Let me continue in Savannah