Root files from 3.02.07 are not read by root 3.10.02

Hello,

I am having a problem reading files from new root 3.10.02. It crashes when trying to read files created under root 3.02.07.

When trying to open a tree in TBrowser an error message is

Error in TBuffer::ReadObject: object tag too large, I/O buffer corrupted

Warniing in TExMap::Remove: key 1114792302 not found at 444

Both of them installed under Linux but with different compilers.

With respect,
Anton

It could be that you are hitting one of teh few special cases when reading
old versions that were fixed a few months ago in version 4.00.
Could you try reading your old file with version 4.00/04 ?

Rene

Hello

I installed root 4.00/04, but it still doesn’t read my files.
Here is an error output.


  •                                     *
    
  •    W E L C O M E  to  R O O T       *
    
  •                                     *
    
  • Version 4.00/04 24 May 2004 *
  •                                     *
    
  • You are welcome to visit our Web site *
  •      [root.cern.ch](http://root.cern.ch)            *
    
  •                                     *
    

FreeType Engine v2.1.3 used to render TrueType fonts.
Compiled for linux with thread support.

CINT/ROOT C/C++ Interpreter version 5.15.133, Apr 18 2004
Type ? for help. Commands must be C++ statements.
Enclose multiple statements between { }.
root [0] br= new TBrowser()
(class TBrowser*)0x8aaf870
root [1] Error in TBuffer::ReadObject: object tag too large, I/O buffer corrup
ted
Error in TBuffer::ReadObject: object tag too large, I/O buffer corrupted
Error in TBuffer::ReadObject: object tag too large, I/O buffer corrupted
Warning in TExMap::Remove: key 1114792302 not found at 444
Warning in TBuffer::CheckObject: reference to object of unavailable class TObj
ect, offset=1114792302 pointer will be 0
Warning in TExMap::Remove: key 4640000 not found at 328
Warning in TBuffer::CheckObject: reference to object of unavailable class TObj
ect, offset=4640000 pointer will be 0

I added my file in attachment if it helps.
File contains a tree.

With respect
Anton
20.05.2004.root (103 KB)

Root 4.00/06 does not read this file too.

Anton

Your file has not been created with the released version 3.02/07. It does not contain the StreamerInfo record. When I do:
root [0] TFile f(“20.05.2004.root”)
root [1] f.Map()
20040520/235922 At:64 N=134 TFile
20040520/235922 At:198 N=104839 TTree CX = 7.54
20040520/235922 At:105037 N=120 KeysList
20040520/235922 At:105157 N=78 FreeSegments
20040520/235922 At:105235 N=1 END

The StreamerInfo record is absolutly essential for schema evolution.

I took your file and processed it with 3.02/07. I copied the Tree into another file.
The file now contains the StreamerInfo record:

root [0] TFile f(“30207.root”)
root [1] f.Map()
20040615/123410 At:64 N=84 TFile
20040615/123416 At:148 N=104877 TTree CX = 7.54
20040615/123421 At:105025 N=3178 StreamerInfo CX = 3.48
20040615/123421 At:108203 N=95 KeysList
20040615/123421 At:108298 N=53 FreeSegments
20040615/123421 At:108351 N=1 END
root [2] tree
(class TTree*)0x8f754d0

As you can see there are no problems to read the tree.

Rene
30207.root (106 KB)