Uploaded image for project: 'ROOT'
  1. ROOT
  2. ROOT-9694

Infinite recursion in GetStreamerInfoList when opening corrupt file.

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Medium
    • Resolution: Fixed
    • 6.14/04
    • 6.16/00, 6.14/06
    • 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.

      Attachments

        Activity

          People

            pcanal Philippe Canal
            ssnyder Scott Snyder
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:
              Actual Start:
              Actual End: