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

Double-free in TROOT::EndOfProcessCleanups

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Blocker
    • Resolution: Fixed
    • 6.04/06
    • None
    • Cling
    • None
    • SLC6, ATLAS software environment

    Description

      ATLAS software that is trying to use LCG80 (with 6.04/06) is experiencing a double-free error at the end of the process. This makes LCG80 unusable at the moment. See https://its.cern.ch/jira/browse/ATEAM-240 (if you can) for details of this investigation.

      This problem is very reproducible with the ATLAS software framework, but developing a standalone reproduction seems to be harder. I have tried though, and think the problem we are experiencing I think is connected to a crash seen with the following script.

      noformat
      TString dummy("hello");
      f1 = TFile::Open("/afs/cern.ch/user/a/asgbase/patspace/xAODs/r6630/mc15_13TeV.410000.PowhegPythiaEvtGen_P2012_ttbar_hdamp172p5_nonallhad.recon.AOD.e3698_s2608_s2183_r6630_tid05352803_00/AOD.05352803._000242.pool.root.1");
      tree = (TTree*)f1->Get("CollectionTree");
      noformat

      Again, I apologize if you cannot access that test file - the test file is important, it is our xAOD format, and the problem seems to occur when ROOT tries to auto-parse the header files associated to the classes contained in this TTree.

      To reproduce, you setup ROOT and then do:
      noformat
      export ROOT_INCLUDE_PATH=/afs/cern.ch/atlas/software/builds/nightlies/2.3.X/GAUDI/rel_2/InstallArea/include:/afs/cern.ch/atlas/software/builds/nightlies/2.3.X/AthAnalysisBase/rel_2/InstallArea/root-include-path
      export LD_LIBRARY_PATH=/afs/cern.ch/atlas/software/builds/nightlies/2.3.X/AthAnalysisBase/rel_2/InstallArea/x86_64-slc6-gcc48-opt/lib:/afs/cern.ch/atlas/software/builds/nightlies/2.3.X/GAUDI/rel_2/InstallArea/x86_64-slc6-gcc48-opt/lib:/afs/cern.ch/atlas/offline/external/LCGCMT/LCGCMT_80/InstallArea/x86_64-slc6-gcc48-opt/lib:/cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/python/2.7.4-x86_64-slc6-gcc48/sw/lcg/external/Python/2.7.4/x86_64-slc6-gcc48-opt/lib:/cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/Gcc/gcc484_x86_64_slc6/slc6/gcc48/lib64:/cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/Gcc/gcc484_x86_64_slc6/slc6/gcc48/lib
      noformat

      Then run the script above and it will crash.

      That script will not crash if you switch to ROOT 6.02, and use the following ROOT_INCLUDE_PATH and LD_LIBRARY_PATH instead (these point to versions of the software that are identical to above, except build with lcg78root6, which uses 6.02/12):

      noformat
      export ROOT_INCLUDE_PATH=/afs/cern.ch/atlas/software/builds/nightlies/2.3.X/GAUDI/rel_3/InstallArea/include:/afs/cern.ch/atlas/software/builds/nightlies/2.3.X/AthAnalysisBase/rel_3/InstallArea/root-include-path

      export LD_LIBRARY_PATH=/afs/cern.ch/atlas/software/builds/nightlies/2.3.X/AthAnalysisBase/rel_3/InstallArea/x86_64-slc6-gcc48-opt/lib:/afs/cern.ch/atlas/software/builds/nightlies/2.3.X/GAUDI/rel_3/InstallArea/x86_64-slc6-gcc48-opt/lib:/afs/cern.ch/atlas/offline/external/LCGCMT/LCGCMT_78root6/InstallArea/x86_64-slc6-gcc48-opt/lib:/cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/python/2.7.4-x86_64-slc6-gcc48/sw/lcg/external/Python/2.7.4/x86_64-slc6-gcc48-opt/lib:/cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/Gcc/gcc484_x86_64_slc6/slc6/gcc48/lib64:/cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/Gcc/gcc484_x86_64_slc6/slc6/gcc48/lib
      noformat

      Please note that the above paths will only be around for the next 5 days, because they're on our nightly system.

      Attachments

        Activity

          People

            pcanal Philippe Canal
            will Will Buttinger
            Votes:
            0 Vote for this issue
            Watchers:
            12 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:
              Actual End: