Skip to content
Snippets Groups Projects
  1. Mar 03, 2021
  2. Dec 22, 2020
  3. Dec 01, 2020
  4. Nov 26, 2020
  5. Nov 12, 2020
  6. Nov 09, 2020
  7. Nov 02, 2020
    • Philippe Canal's avatar
      In TStreamerInfo::GenerateInfoForPair use a non-zero size enums. · 815538d1
      Philippe Canal authored
      This fix #6726
      
      As reported by CMSSW tests (for example: cms-sw/cmsdist#6314 (comment)) where the data appear odd/corrupted, there is an issue in TStreamerInfo::GenerateInfoForPair (which is almost always used for std::pair in the tip of v6.22 and master).
      
      The problem is when calculating the offset of the second data member, TStreamerInfo::GenerateInfoForPair uses (unwittingly, of course :) ), the value zero for the size of the enums.
      815538d1
  8. Oct 26, 2020
  9. Oct 23, 2020
  10. Oct 21, 2020
  11. Oct 15, 2020
  12. Oct 13, 2020
    • Axel Naumann's avatar
      [metacling,io] Do not create SI elems for union members: · 87842d2b
      Axel Naumann authored
      Now that TClingDataMemberInfo descends into unnamed unions, their members
      must be "hidden" from ROOT IO. This fixes warnings such as
      
      Warning in <TStreamerInfo::Build>: TString::Rep_t: TString::LongStr_t has no streamer or dictionary, data member "fLong" will not be saved
      87842d2b
  13. Aug 12, 2020
  14. Jul 23, 2020
    • Philippe Canal's avatar
      Avoid auto-parsing for std::pair during I/O init. · 007382a7
      Philippe Canal authored
      Don't provoke auto-parsing during name normalization for the std::pair (but let it happen for its parameters if need be).
      
      In TGenCollectionProxy Don't provoke autoparsing for an std::pair.
      
      In TGenCollectionProxy handle the fact that we may now not find the std::pair.
      
      Addresses (at least part of) ROOT-10932
      007382a7
  15. Jun 24, 2020
  16. Jun 10, 2020
  17. May 18, 2020
    • Axel Naumann's avatar
      [io] Protect out-of-bounds access in R__WriteDestructorBody: · 97c62d46
      Axel Naumann authored
      Fixes assert in roottest/root/meta/MakeProject/runcms310.C
      ```
      /builddir/build/BUILD/gcc-8.3.1-20190223/obj-x86_64-redhat-linux/x86_64-redhat-linux/libstdc++-v3/include/bits/basic_string.h:1067: std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::reference std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::operator[](std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::reference = char&; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]: Assertion '__pos <= size()' failed.
          at /mnt/build/wsincrmaster/LABEL/ROOT-fedora29/SPEC/python3/root/io/io/src/TStreamerInfo.cxx:3531
          subClasses=0x7fffffff8db0, top=true)
          at /mnt/build/wsincrmaster/LABEL/ROOT-fedora29/SPEC/python3/root/io/io/src/TStreamerInfo.cxx:3772
          subClasses=0x7fffffff8db0, extrainfos=0x7fffffff9210)
          at /mnt/build/wsincrmaster/LABEL/ROOT-fedora29/SPEC/python3/root/io/io/src/TStreamerInfo.cxx:3976
          at /mnt/build/wsincrmaster/LABEL/ROOT-fedora29/SPEC/python3/root/io/io/src/TFile.cxx:2843
      ```
      
      where
      
      ```
      (gdb) p inside
      $1 = std::vector of length 3, capacity 4 = {"std::vector", "std::pair<edm::BranchKey,edm::BranchDescription>", ""}
      ```
      97c62d46
  18. May 06, 2020
    • Martin Ritter's avatar
      Allow to set the name in reproducible TFile · e0bd4abe
      Martin Ritter authored
      Rationale
      ---------
      
      We create a number of small root files to serve as conditions data. The
      algorithm tells the framework to save the data to be valid for a given interval of
      time.
      
      To de-duplicate files we use the md5 checksum: same checksum, same
      content, so no new file needed. Technically we create the file as a
      temporary file, calculate the checksum and use a directory structure
      similar to git objects: if no file with the checksum as name exists,
      rename, otherwise just use the existing name.
      
      For this to work we need the md5 checksum independent of the name of the
      TFile. And since we rename the file anyway it really doesn't matter what
      TFile thinks its name is.
      
      Implementation
      --------------
      
      This tries to be the minimal change to the current feature of
      reproducible files (thanks again): We piggyback on the same flag but if
      the flag also has a value instead of jut being present we use it as the
      name to put in the file.
      e0bd4abe
Loading