TFile R__unzip error

HI,

I am making a TFile and then trying to open it back up with some ROOT
scripts for analysis but it seems that I have made some change recently
to the code that writes the TFIle. I have checked through my CVS
commits and for the life of me cannot see anything that would have
affected this code. I was wondering if anyone could give me some
advice about what the following error means when reading the TFile.


R__unzip: error during decompression
Error in <TBasket>: fNbytes = 181, fKeylen = 76, fObjlen = 31920, noutot = 0, nout=0, nin=105, nbuf=31920
Error in <TBranch>: File: 00d0_D_1.root at byte:72199280, branch:(null), entry:150985772

 *** Break *** segmentation violation
 Generating stack trace...

Thanks in advance for any helpful comments/suggestions.


Loren A. Linden Levy
481 Loomis, Department of Physics
University of Illinois at Urbana-Champaign
1110 W. Green St., Urbana, IL 61801-3080
Tel: 217-244-7995 (NPL) / +049 040 8998 4789 (DESY)
Fax: 217-333-1215 (NPL) / +049 040 8998 4034 (DESY)
Cell: 217-369-6580 (U.S.) / +049 (0)151 5496 1831 (Germany)
Email: lindenle@uiuc.edu
url: w3.physics.uiuc.edu/~lindenle/



This email has been cryptographically signed.
Search for “lindenle” at pgp.mit.edu
to obtain my public key which can be used
to verify the authenticity of this message.



Could you follow the procedure indicated at:
root.cern.ch/root/roottalk/RoottalkRules.html

Rene

Rene,

I apologize for the lack of information in the original email.

  1. The code that I write the TFile with is linked against version 5.02.00 of root and the error and seg fault happen with the same version. Since posting last night I have run two checks. First I moved to a different machine with version 5.08.00b of root and the R__unzip error still occurs bu root is able to recover and finish processing the file(it seems that the problem exists for about 100 entries). I also tried again on the original machine with root version 5.10.00 and experienced the same that the error still occurred but root did not crash.

  2. Is the subject line ok? The only info I have is that there is an R__unzip error when reading a TFile.

3.Testing with 5.12.00is impossible in my analysis environment but i will build it on my laptop and test this as well. I will also try linking the code that writes the TFile against a newer version of root and see if that helps.

  1. I searched the forum before posting but did not find anything useful or similar to this problem.

  2. Backtrace from gdb using version 5.02.00.

R__unzip: error during decompression
Error in <TBasket>: fNbytes = 181, fKeylen = 76, fObjlen = 31
920, noutot = 0, nout=0, nin=105, nbuf=31920
Error in <TBranch>: File: 00d0_D_1.root at byte:72199280, branch:(nul
l), entry:150894676

Program received signal SIGSEGV, Segmentation fault.
0x411e2aef in TBranch::GetEntry ()
   from /afs/desy.de/user/l/lindenle/src/local/root/5.02.00/lib/root/libTree.so
(gdb) bt
#0  0x411e2aef in TBranch::GetEntry ()
   from /afs/desy.de/user/l/lindenle/src/local/root/5.02.00/lib/root/libTree.so
#1  0x41219144 in TTree::GetEntry ()
   from /afs/desy.de/user/l/lindenle/src/local/root/5.02.00/lib/root/libTree.so
#2  0x4123be1d in G__G__Tree_124_8_5__FP8G__valuePCcP8G__parami ()
   from /afs/desy.de/user/l/lindenle/src/local/root/5.02.00/lib/root/libTree.so
#3  0x4097637e in G__exec_asm ()
   from /afs/desy.de/user/l/lindenle/src/local/root/5.02.00/lib/root/libCint.so
#4  0x408fd238 in G__exec_loop ()
   from /afs/desy.de/user/l/lindenle/src/local/root/5.02.00/lib/root/libCint.so
#5  0x408fd748 in G__exec_for ()
   from /afs/desy.de/user/l/lindenle/src/local/root/5.02.00/lib/root/libCint.so
#6  0x409004db in G__exec_statement ()
   from /afs/desy.de/user/l/lindenle/src/local/root/5.02.00/lib/root/libCint.so
#7  0x4088a81c in G__exec_tempfile_core ()
   from /afs/desy.de/user/l/lindenle/src/local/root/5.02.00/lib/root/libCint.so
#8  0x4088a9ed in G__exec_tempfile_fp ()
   from /afs/desy.de/user/l/lindenle/src/local/root/5.02.00/lib/root/libCint.so
#9  0x409099a7 in G__process_cmd ()
   from /afs/desy.de/user/l/lindenle/src/local/root/5.02.00/lib/root/libCint.so
#10 0x40248848 in TCint::ProcessLine ()
   from /afs/desy.de/user/l/lindenle/src/local/root/5.02.00/lib/root/libCore.so
#11 0x40198dbe in TApplication::ProcessLine ()
   from /afs/desy.de/user/l/lindenle/src/local/root/5.02.00/lib/root/libCore.so
#12 0x4153bc9e in TRint::HandleTermInput ()
   from /afs/desy.de/user/l/lindenle/src/local/root/5.02.00/lib/root/libRint.so
#13 0x4153ab71 in TTermInputHandler::Notify ()
   from /afs/desy.de/user/l/lindenle/src/local/root/5.02.00/lib/root/libRint.so
#14 0x4153c0dc in TTermInputHandler::ReadNotify ()
   from /afs/desy.de/user/l/lindenle/src/local/root/5.02.00/lib/root/libRint.so
#15 0x402b54d2 in TUnixSystem::CheckDescriptors ()
   from /afs/desy.de/user/l/lindenle/src/local/root/5.02.00/lib/root/libCore.so
#16 0x402b4290 in TUnixSystem::DispatchOneEvent ()
   from /afs/desy.de/user/l/lindenle/src/local/root/5.02.00/lib/root/libCore.so
#17 0x40203973 in TSystem::InnerLoop ()
   from /afs/desy.de/user/l/lindenle/src/local/root/5.02.00/lib/root/libCore.so
#18 0x402038ef in TSystem::Run ()
   from /afs/desy.de/user/l/lindenle/src/local/root/5.02.00/lib/root/libCore.so
#19 0x4019980f in TApplication::Run ()
   from /afs/desy.de/user/l/lindenle/src/local/root/5.02.00/lib/root/libCore.so
#20 0x4153b623 in TRint::Run ()
   from /afs/desy.de/user/l/lindenle/src/local/root/5.02.00/lib/root/libRint.so
#21 0x8048f0d in main ()
#22 0x415c0313 in __libc_start_main (main=0x8048e84 <main>, argc=2, 
    argv=0xbffff284, init=0x8048cd4 <_init>, fini=0x8049048 <_fini>, 
    rtld_fini=0x4000ac90 <_dl_fini>, stack_end=0xbffff27c)
    at ../sysdeps/generic/libc-start.c:90
  1. The shortest script that reproduces the R__unzip error in all versions is:
Int_t test()
{
  TFile * f = new TFile("oodo_D_1.root")
  TTree * e   = f->Get("eventTree")
  for  (Int_t i=0;    i<e->GetEntries(); i++   )
  {
    cout << i <endl;
e->GetEntry(i);
  }
  return 1;
}

This script has trouble with the file starting at entry 494760. This only occurs on the latest versions of my TFile. The smallest example of this data file I have available is 250Mb and I can post it if needed.

It appears that linking against 5.10.00 and using it for the analysis as well has solved the problem. Sorry for wasting anyones time.

Alex

For the record, it is likely that this problem is the same as the one described in a couple of report in savannah:

This solves both:
savannah.cern.ch/bugs/?20740
and
savannah.cern.ch/bugs/?20820

In which case the problem is fixed in CVS and the same fixe will be part of the patch release v5-12-00f

A simple work-around is to disable the prefectch cache:c.SetCacheSize(0);
Cheers,
Philippe

Sorry,

What does c correspond to? The TFile? Is it strange that I am not having the problem in 5.10.00, since you mentioned that the fix is in 5.12.00f?

Alex

because the cache algorithm was changed in 5.12

Rene

The ‘c’ correspond to your TChain or TTree object (sorry for the copy/paste induced confusion).

Cheers,
Philippe

Hi,

Using the SetCacheSize(0) option does not help in 5.12.00e.

Alex

This is surprising! Could you send a running example so we can reproduce your issue?

Cheers,
Philippe

pcanal,

When I made sure that the whole chain was using 5.12.00e I was able to use SetCachSize(0). and the R__unzip errors went away. Thanks for the help.

Alex