- Mar 03, 2021
-
-
Philippe Canal authored
This can be used to monitor the queue size in bytes rather than number of files
-
Philippe Canal authored
This can now be safely use to avoid overloading the queue.
-
- Dec 22, 2020
-
-
Philippe Canal authored
-
Philippe Canal authored
This avoids having to record (and later retrieve) the pointer in a per-TClass global container to remember how to delete the object. Currently we leverage this in TVirtualArray
-
Philippe Canal authored
-
- Dec 01, 2020
-
-
Philippe Canal authored
-
- Nov 26, 2020
-
-
Philippe Canal authored
-
Philippe Canal authored
-
Philippe Canal authored
-
Philippe Canal authored
-
Philippe Canal authored
Note: If a StreamerInfo is loaded from a file and is the same information as an existing one, it is assigned the same "unique id" and we need to double check before removing it from the global list.
-
Philippe Canal authored
The TClass generated by TStreamerInfo::GenerateInfoForPair is neither 'Interpreted' (cling likely does not, yet, have any information about that pair) nor loaded (the user did not request a dictionary for it) but need to have special treatment for those TClass. It is not clear whether this should be a new state. For now we introduce a new data member (`fIsSyntheticPair`) and don't increase the size of TClass instance by using a bit field.
-
Philippe Canal authored
-
- Nov 12, 2020
-
-
Vincenzo Eduardo Padulano authored
* Avoid calling TTree::ChangeFile if file is TMemFile * [docs] Update documentation in TTree::Fill and TTree::ChangeFile * Avoid triggering TTree::ChangeFile mechanism in RDF Snapshot Fixes ROOT-10896.
-
- Nov 09, 2020
-
-
Philippe Canal authored
-
Philippe Canal authored
-
Philippe Canal authored
-
Philippe Canal authored
Previously we issue a Fatal message about impossible code path.
-
Philippe Canal authored
The silent flag to skip over error message about transient data member. Also remove last traces of R__GenerateTClassForPair
-
- Nov 02, 2020
-
-
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.
-
- Oct 26, 2020
-
-
Sergey Linev authored
static specifier not required here
-
- Oct 23, 2020
-
-
Sergey Linev authored
By chance internal data member is the same as "subtype" argument
-
- Oct 21, 2020
-
-
Sergey Linev authored
While forward declaration changed, it need to be updated as well
-
- Oct 15, 2020
-
-
Philippe Canal authored
Except in the case where we know the type did exist at some point and thus is an enum (because it was not then we would have information about in the form of TStreamerInfo). The exception to the exception is the case of a custom Streamer that does not use TStreamerInfo underneath. In that case, we don't know about the class then we don't have access to the custom Streamer and thus can't read the object.
-
Philippe Canal authored
-
Philippe Canal authored
-
Philippe Canal authored
-
Philippe Canal authored
In particular use TEnum::GetEnum 'do-not-autoparse-nor-autoload' feature.
-
- Oct 13, 2020
-
-
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
-
- Aug 12, 2020
-
-
Philippe Canal authored
The implementation was not thread safe **and** has been obsolete ever since fType is a TClassRef and since c9460ae5 make the update much faster (single atomic update) and thread safe.
-
Philippe Canal authored
-
Philippe Canal authored
-
Philippe Canal authored
Rename TBasket::Reset to TBasket::WriteReset Add TBasket::ReadResetBuffer which will shrink the buffer is it is currently significantly larger than it is needed to any of the next (up to) 10 baskets.
-
- Jul 23, 2020
-
-
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
-
- Jun 24, 2020
-
-
Philippe Canal authored
Without this std::map<int,std::vector<double>* > got corrupted into std::map<int,std::vector<double,*> >. This fixes ROOT-10796
-
Philippe Canal authored
-
Philippe Canal authored
TMapFile::WhichMapFile is called via operator delete which is used during RegisterModule and letting TMapFile::WhichMapFile trigger the initialization of the TROOT object means that a) RegisterModule will have nested called to RegisterModule b) The interpreter will be created in the middle of the execution of RegisterModule. Both are potentially fatal (i.e. undefined behavior).
-
- Jun 10, 2020
-
-
Philippe Canal authored
-
- May 18, 2020
-
-
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>", ""} ```
-
- May 06, 2020
-
-
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.
-