Details
-
Bug
-
Status: Closed (View Workflow)
-
Medium
-
Resolution: Fixed
-
6.14/04
-
None
-
None
-
lxplus
Description
hi -
Trying to open a ROOT file that wan't properly closed with root 6.14.04
can lead to an infinite recursion in TFile::GetStreamerInfoListImpl.
(Tested with the LCG_94 version.)
An example of such a bad file is attached. Trying to open it
with TFile::Open leads to an infinite recursion between two sites:
#250 0x00007ffff0457c75 in TFile::GetStreamerInfoList (this=0x32a0800)
|
at /mnt/build/jenkins/workspace/lcg_release_tar/BUILDTYPE/Debug/COMPILER/gcc62binutils/LABEL/slc6/build/projects/ROOT-6.14.04/src/ROOT/6.14.04/io/io/src/TFile.cxx:1399
|
#251 0x00007ffff0457b4e in TFile::GetStreamerInfoListImpl (this=0x32a0800,
|
lookupSICache=false)
|
at /mnt/build/jenkins/workspace/lcg_release_tar/BUILDTYPE/Debug/COMPILER/gcc62binutils/LABEL/slc6/build/projects/ROOT-6.14.04/src/ROOT/6.14.04/io/io/src/TFile.cxx:1366
|
#252 0x00007ffff0457c75 in TFile::GetStreamerInfoList (this=0x32a0800)
|
at /mnt/build/jenkins/workspace/lcg_release_tar/BUILDTYPE/Debug/COMPILER/gcc62binutils/LABEL/slc6/build/projects/ROOT-6.14.04/src/ROOT/6.14.04/io/io/src/TFile.cxx:1399
|
While the file is evidently corrupt, ROOT should handle it by giving
an error rather then going into an infinite loop.