swh:1:snp:af87cd67498ef4fe47c76ed3e7caffe5b61facaf

sort by:
Revision Author Date Message Commit Date
5144c58 "Update ROOT version files to v6.20/08." 18 August 2020, 14:13:10 UTC
2c39fb9 [relnotes] Update for v6.20/08. 18 August 2020, 12:18:17 UTC
aae63f7 [TCling] Exclude deleted functions from iteration. 14 August 2020, 07:45:14 UTC
482d499 Remove obsolete TGenCollectionProxy::UpdateValueClass. The implementation was not thread safe **and** has been obsolete ever since fType is a TClassRef and since c9460ae556c84c9a7febb7cef6865e8e04c2621a make the update much faster (single atomic update) and thread safe. 12 August 2020, 17:38:26 UTC
7c60af1 Use std::memory_order_relaxed for 'standalone' atomics 12 August 2020, 17:38:25 UTC
c320d4d Avoid extremely frequent setting of atomic to ... the same value. This was happening to TClass::fVersionUsed. Replacing the assignment with a test then assign greatly improved scaling of io on 'small objects' 12 August 2020, 17:38:25 UTC
7758e67 Reduce contention on some atomics in core/meta and io 12 August 2020, 17:38:24 UTC
7920741 [NFC] White space. 12 August 2020, 17:26:12 UTC
40677ca Improve TBasket/TBuffer memory allocation for reading. 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. 12 August 2020, 17:26:12 UTC
21e7db4 Build built-in LZMA with O3 optimization level 10 August 2020, 11:53:28 UTC
0e9e235 [DF] Fix inclusion of certain arrow headers in new arrow versions arrow/compute/test_util.h has been removed from recent versions, but arrow/testing/gtest_util.h contains what we need and is present both in v0.15 and v0.17. 07 August 2020, 08:43:22 UTC
c63cb66 [DOCS] Mention change of behavior of `df.GetColumnNames()` in relnotes 07 August 2020, 07:50:07 UTC
fbce42a [DF] Use unique file names in tests Otherwise tests run concurrently can write on each other's feet. 04 August 2020, 16:07:41 UTC
69a009c [DF] Work around TTree::GetLeaf bug in GetBranchOrLeafTypeName This should bring RDF back to a fully working state (for all cases we test) after the change in valid column names discussed in ROOT-10942. 04 August 2020, 16:06:19 UTC
fdd894d [DF] Add all spellings of a branch name to valid column names Before this patch, in cases in which t.GetBranch("a.b") and t.GetBranch("b") both returned a valid address, RDataFrame was adding only "a.b" to the list of valid TTree columns. With this patch, both "a.b" and "b" are recognized as valid column names. We need this change in behavior to avoid a _worse_ change in behavior, described in detail in ROOT-10942: since ROOT-10702 was fixed, TTree::GetBranch became more powerful and started returning non-null addresses for branch names with form "a.b" while it was returning a nullptr until v6.20/06. With RDataFrame's previous logic, this in turn meant that valid code that was using "a" as a column broke as RDataFrame was now adding the "a.b" spelling to the list of valid columns instead. This fixes the RDF-related part of ROOT-10942: "a" is recognized as a valid spelling again, and "a.b" is kept as a new valid spelling. 28 July 2020, 08:52:20 UTC
638ae53 [DF] Use FindBranch as a fallback way to check branch existence FindBranch deals with full branch names more nicely. This fixes RDF not being able to find the "i.x" branch in ROOT-10702. 28 July 2020, 08:52:20 UTC
f5c8e91 [TTreeReader] Use FindBranch as a fallback method to find branch FindBranch deals with full branch names more nicely. This fixes TTreeReader not being able to find the "i.x" branch in ROOT-10702. 28 July 2020, 08:52:20 UTC
813d728 Avoid auto-parsing for std::pair during I/O init. 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 23 July 2020, 15:28:16 UTC
aef8f4e In TClass::GetListOfBaseClasses, correct conditional. It looks like without ROOT pcm but with a ClassInfo/Decl available but not loaded then the base class would not be properly setup. 15 July 2020, 17:15:06 UTC
112744a Reduce TBasket high water mark use. Fix ROOT-10927. In commit 79f2e3b0e5, TBranch::GetFreshBasket was effectively switch from always reallocating the TBuffer (i.e. minimal memory use but maximal number of memory allocation) to always keeping the TBuffer (i.e. maximal memory use but minimal number of memory allocations). This causes a problem in a use CMS use case where: - files were kept open - TTree were kept in memory - has (at least) one branch with one unusually large basket (257Mb) This accumulated to increase the memory use from 1.8Gb to 2.9Gb. For now (quick fix), we use TBasket::Reset (tuned for writing) also for reading. (This leads to spurrious large reallocation in case of a consecutive series of large baskets). 14 July 2020, 19:45:39 UTC
3056da6 Avoid double delete by registering to TGeoManager reflected shape assemblies, owned by TGeoVolumeAssemby. (cherry picked from commit 437486008912b2da317097eaf7ea8f2ea1a822c4) 09 July 2020, 14:09:47 UTC
7ebb5bc Import doc version changer to 6.20 01 July 2020, 19:02:48 UTC
19ac127 [CMake][PyROOT] Add missing else case 01 July 2020, 07:19:59 UTC
2dbfee2 [Tutorials] Veto df103_NanoAODHiggsAnalysis on Mac 10.13 Because of these errors (see e.g. https://bit.ly/31y2jSa): ``` Plugin dlopen(libXrdSecgsi-4.so, 256): image not found sec.protocol libXrdSecgsi-4.so Secsss: 0x30 cryptography load failed; Protocol not supported ``` 30 June 2020, 08:12:58 UTC
19606d2 Reset matrix global pointer in TTF This pointer was not initialized properly 29 June 2020, 11:32:18 UTC
35575c0 Correctly cleanup data in TTF (ROOT-10882) Created image may be cleaned up many time, causing ROOT crash One also should initialize that pointer properly 29 June 2020, 11:32:18 UTC
61f6828 [CMake] Protect ourselves in case pyroot_experimental has an arbitrary value 26 June 2020, 12:27:26 UTC
739e5fa [CMake][ROOT-10873] Fix setting of environment in LCG views 26 June 2020, 12:27:26 UTC
370de10 Make IMT an optional dependency. 25 June 2020, 13:48:47 UTC
4df2190 [cxxmodules] Convert filename to a module name. This fixes the Module X not found rootcling diagnostic when rootcling -m X.pcm is specified. 25 June 2020, 13:48:47 UTC
daefe2f [cxxmodules] Load the dependent modules for both rootcling and rootcling_stage1. 25 June 2020, 13:48:47 UTC
ce5a445 [cxxmodules] Preload the dependent modules if specified in rootcling. This should allow us to build non-standard modules such as boost. This patch should enable building the cmssw third-party modules for external dependencies. 25 June 2020, 13:48:47 UTC
c4ac3d0 In MakeProject properly handle ptr in template args. Without this std::map<int,std::vector<double>* > got corrupted into std::map<int,std::vector<double,*> >. This fixes ROOT-10796 24 June 2020, 19:17:00 UTC
40e8fd6 [NFC][io] Fix typo in comment and add new line after if 24 June 2020, 16:14:58 UTC
7e7394f Fix ROOT-9240 by preventing TMapFile::WhichMapFile from initializing TROOT. 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). 24 June 2020, 15:52:42 UTC
ab2a3d6 Add missing read lock in THashTable::FindObject(const TObject *obj). Fix ROOT-10839 11 June 2020, 19:58:20 UTC
76673bb [PyROOT][ROOT-10833] Use new API instead of deprecated one To prevent deprecation warning. 11 June 2020, 14:42:23 UTC
e6a1839 TTree::CopyAddress: update array allocation for all leaves. Fix ROOT-10837 (and technically it is a completion of the fix for ROOT-9393). See allow commit f8897bb49c2fc81e875a7fd70dec9f1f714e6398 and 6ad1a98455bec01ccfce6ea9ddde62154bedf1a4. Seen with CMS NanoAOD files: https://root-forum.cern.ch/t/merge-nanoaod-root-files/39707/13 When the files have several array branches using the same "leaf count" branch and the maximum array size increase from file to file, only the memory allocated for the "first" array is extended. This results in memory error for the other arrays. 10 June 2020, 16:25:46 UTC
5ae8e35 TTree::SetBranchAddress and GetBranch release notes 10 June 2020, 12:35:20 UTC
50dbe3a Use TBranch::GetFullName in TBranchProxy (GetFriendBranchName). This is necessary due to the change of GetBranch from depth-first to breast-first and increase the accuracy of the finding. 10 June 2020, 12:32:58 UTC
c1f1d60 Switch TTree::GetBranch from depth first to breadth first. This allow to find top level branch hidden behind lower level branches (that were insert/added first) With: struct Int { int x; }; struct FloatInt { float f; int x; }; and int x = 1; FloatInt s{2.1, 3}; TTree t("t", "t"); t.Branch("i", &i); t.Branch("x", &x); with the depth first (old version) algorithm t.GetBranch("x") was returning the branch "i.x" and the only way to retrieve the top level branch "x" was to use FindBranch or FindObject on the ListOfBranches. with the breadth firstd (new version) algorithm t.GetBranch("x") return the "x" top level branches (and thanks to the recent switch to using GetFullName in GetBranch, calling GetBranch with "i.x" will return the "i.x" branch as expected. 10 June 2020, 12:32:58 UTC
30488b0 For TTree::GetBranch uses GetFullName in the search 10 June 2020, 12:32:58 UTC
7b39f93 Switch branch to MakeClass when associated to a numerical type. If a TBranchElement's address is set directly to a numerical type (or array) automatically switched the branch to the Decomposed Object (MakeClass) mode. In particular, after this commit, the following will always work ``` chain->SetBranchAdress(fullnameofbranch, &address_of_numerical_type); ``` Prior to this commit, if the requested branch is a sub-branch of a split object, the user needs to **also** turn on MakeClass mode (also called Decomposed Object mode) explicit, now it is done implicitly. 10 June 2020, 12:32:58 UTC
0e5b1a2 TChain: record and carry forward MakeClass state of branches. If branches are individual set in MakeClass (Decomposed Object) mode, record this information in TChainElement and apply it to the corresponding branches in each of the TTree. 10 June 2020, 12:32:58 UTC
fc28eaa TChain: always check the branch address. Even in the case the address is set before any TTree is loaded. With this commit, in addition to checking the address type in the case: ``` chain->LoadTree(0); chain->SetBranchAdress(branch_name, &address); ``` will also check them in the case: ``` chain->SetBranchAdress(branch_name, &address); chain->LoadTree(0); ``` (yep, it would silently fail before). 10 June 2020, 12:32:58 UTC
95ef519 Don't override user provided sub-branch address. Prior to this commit doing: ``` // Not setting the top level branch address. chain->SetBranchAdress(sub_branch_name, &address); chain->GetEntry(0); ``` Resulted in the address set to be forgotten. Note that a work-around was: ``` // Not setting the top level branch address. chain->GetEntry(0); chain->SetBranchAdress(sub_branch_name, &address); ``` But also the address needed to (in most cases) also be set again after each new tree was loaded. Note that, the following: ``` chain->SetBranchAdress(sub_branch_name, &address); chain->SetBranchAdress(top_level_branch_name, &other_address); chain->GetEntry(0); ``` will result (as one would expect) with the first SetBranchAddress being ignored/over-ridden. 10 June 2020, 12:32:58 UTC
7696242 Extent the use of TBranchElement::kAddressSet. Now also set it for top level branch and direct call to SetAddress and reset it in case of error. 10 June 2020, 12:32:58 UTC
c5cdd56 [NFC] Propagate info whether SetAddress is implicit 10 June 2020, 12:32:58 UTC
0fa131a Propagate branches' MakeClass mode in TTree::CopyAddresses 10 June 2020, 12:32:58 UTC
0b7dfff Use GetFullName in CopyAddresses 10 June 2020, 12:32:58 UTC
c82daa7 Factor multiple calls to InheritsFrom 10 June 2020, 12:32:58 UTC
7fef7b0 TClusterIterator: deal correctly with TTree with 0 or 1 entry (and no basket flush) 10 June 2020, 12:32:58 UTC
f1b8830 TTree::GetBranch uses GetFullName in the search 10 June 2020, 12:32:58 UTC
5214d75 Add TBranch and TLeaf GetFullName routine 10 June 2020, 12:32:58 UTC
106a772 R__HAS_DEFAULT_LZ4 is set without value so we must use defined op. 10 June 2020, 12:32:58 UTC
42f8f48 TKey: remove unnecessary thread local 10 June 2020, 12:32:58 UTC
12739e3 "Update ROOT version files to v6.20/07." 10 June 2020, 06:16:52 UTC
6781331 "Update ROOT version files to v6.20/06." 10 June 2020, 06:10:11 UTC
9948c18 [relnotes] Update for v6.20/06. 10 June 2020, 06:10:11 UTC
f9d03b3 [clingutils] Add demangled name as alternate class name (ROOT-10804): clang might need to find a definition, that "we" might have. But we need to find it based on a type name from clang, from a fwd decl; or (as in ROOT-10804) based on a typename-from-typeid operation. So register that as an alias! The normalized-name-as-known-to-ROOT and typeid-name can be different, for instance for inline namespaces: stripped by ROOT, kept by typeid. ROOT-10804 has a complex case where a lookup of a template argument failed because it involves an inline namespace, and LHCb uses typeid demangling. LHCb's case needed a nested name from a type (`LHCb::Event::v1::Track`) that failed to load because `v1` is an inline namespace, thus failing instantiation of `KeyedContainer<LHCb::Event::v1::Track,Containers::KeyedObjectManager<Containers::hashmap> >` and making it invalid. The transaction unloading then fails to completely remove this instantiation (an unrelated bug), such that the remainders of the invalid decl are picked up by a subsequent template instantiation which then asserts because of the incomplete (invalid) declaration. We use the mangle/demangle trick from rootcling. Now that multiple locations need it, just store it with the AnnotatedRecordDecl. It will be needed for most classes; the overhead should be bearable. (cherry picked from commit d9e819b82632cf02b3aaa251f5922b457b41624e) (cherry picked from commit bca848048272fed685828adc6efacc1fe642d405) 08 June 2020, 16:04:36 UTC
0ec7f65 backport stressGraphics fix (#5827) 08 June 2020, 12:24:29 UTC
f045581 [DF] Fix contiguousness check, take #2 07 June 2020, 11:29:35 UTC
78cc87c [DF] Fix diagnostic of sparse/contiguous storage in TTreeReaderArray 05 June 2020, 07:15:12 UTC
637c914 [RF] Fix pickling of RooTreeDataStore. [ROOT-10810] When RooTreeDataStore is streamed without a TFile (happens when pickling), there's no parent directory. It was assumed, however, that such a parent always exists. Here, this assumption is removed, and the default streaming behaviour is restored if the parent is not a TDirectory. (cherry picked from commit ff14b62014507f7bd944ef57ca52f4cad486a17f) 04 June 2020, 19:04:54 UTC
80f1451 [CMake][Exp PyROOT] Set PYTHON_EXECUTABLE before looking for Development and NumPy As found out after investigating this failure: https://lcgapp-services.cern.ch/root-jenkins/job/root-pullrequests-build/84131/console PythonX_EXECUTABLE, if set when find_package(PythonX) is called one first time, is unset if find_package(PythonX) fails when called the second time (i.e. whether Developmnet or NumPy are not found). To avoid that, as a consequence, PYTHON_EXECUTABLE is not set at all, we set it (along with other variables) right after the first call to find_package(PythonX). 03 June 2020, 07:30:17 UTC
46e8785 Fix build with external libpng 02 June 2020, 10:40:03 UTC
4af61e9 Fix Python variables in root-config output 29 May 2020, 16:39:07 UTC
52cbd47 [cling] Flag an error-Transaction as kRolledBack (ROOT-10798): Even for the ErrorOut case the Transaction should be flagged as beyond kCompleted, to prevent it from being asserted on as "we have transaction without errors that was not committed" in ~IncrementalParser(). (cherry picked from commit 43ee232163d3cbc8d9b8a6d83501a82469009759) 29 May 2020, 13:30:29 UTC
6346f09 [DF] Fix type inference of TClonesArrays branches `TBranch::GetMother` might return the branch itself. In those cases, the logic we used to extract the name of the type stored in the branch returned the wrong type. This fixes part of ROOT-10792, specifically `Snapshot(..., {"tclonesarraybranch"})`. 28 May 2020, 17:32:59 UTC
3a77ca4 [DF] Fix treatment of TClonesArrays read as RVecs in Snapshot When a Snapshot of a TClonesArray branch that has been read as an RVec is performed (e.g. with `Snapshot<RVec<T>>(..., {"tclonesarraybranch"})`) we used to mis-diagnose that case and write the branch out as if it was a C-array, resulting in only the first leaf being written to disk. With this patch, we instead print a useful error message suggesting to use `Snapshot<TClonesArray>` instead, and then try to write out the RVec<T> as a std::vector<T>. The downside is that users might not have a dictionary for std::vector<T> and the fallback will fail. However, we do not have a proper TClonesArray object to fill the branch with, so this might be the best we can do in this case. This fixes part of ROOT-10792. 28 May 2020, 17:32:59 UTC
36c1eac Make DeepAutoLoadImpl and ShallowAutoLoadImpl static 27 May 2020, 10:44:17 UTC
4c2e366 Fall back for DeepAutoLoading based on Decl information. (Presummably the decl comes from a module as the auto parsing is disabled). 27 May 2020, 10:44:17 UTC
fdf8489 Disable AutoParsing during the deep part of AutoLoading 27 May 2020, 10:44:17 UTC
a231ea2 Load dependent libraries as part of AutoLoading. Since the proper creation of the TClass will require the dictionary for all its component let load all the dependent library too. Note that even with explicit linking, the dictionary may not be loaded as part of the 'main' library when the dictionary is a library separate from the classes' code (see ATLAS setup for example) This solves ROOT-10663. 27 May 2020, 10:44:17 UTC
ea8c29b v6.20: Add Thibault Souquet for his work in the ROOT 7 Browser (#5699) * Add Thibault Souquet for his work in the ROOT 7 Browser * Update CREDITS 26 May 2020, 14:46:34 UTC
ba3744a Add johannes in CREDITS 25 May 2020, 15:29:35 UTC
e79be59 Also capture SFINAE error counts (ROOT-10754, ROOT-10777): When doing lookup on templates, instantiation can fail. This can be triggered during template instantiation somewhere in clang, autoloading, cling-lookup - and SFINAE errors that occur in cling-lookup must not bubble up to clang, or else clang will think that there was a problem (where there was none - just e.g. ROOT trying to autoload a bogus template). In this concrete case, a template specialized with a lambda was not found by clang, was tried to be autoloaded, TMetaUtils produced a broken normalized type name, lookup on the broken type name failed with a SFINAE error - and that ended up being swallowed by a clang SFINAETrap by the topmost lookup. Instead, keep SFINAE errors to ourselves. This is an improved version of 40673e583fceda8b362a0902c6aba371ddd0cfd8 which lowers the SFINAE-reset to Lookup, as AutoParse can still see partial template specialization scopes. It fixes ROOT-10777. (cherry picked from commit 4dcdbcb9f7a5cdc774da9e1dcb67b388cd685039) 25 May 2020, 07:40:12 UTC
8a59caf Revert "Also capture SFINAE error counts (ROOT-10754):" This reverts commit 40673e583fceda8b362a0902c6aba371ddd0cfd8. Autoparsing can trigger parsing of partial specializations, and as such is not a SFINAE context. Lookup is, OTOH. (cherry picked from commit db574c38ebc934bfe075e7f1a68e414aca7cd6ab) 25 May 2020, 07:40:12 UTC
6e2ac30 [cling] Make use of shared_ptr operators instead of get() (NFC). (cherry picked from commit add00009abbf854b6838778c947d6d2bbd4943ff) 25 May 2020, 07:40:12 UTC
9cb45e7 [core] move TVirtualArray.h and TVirtualObject.h to core libs These includes may be used in dictionaries and therefore should be available already in core libs 22 May 2020, 05:48:14 UTC
6d0db1c Actually use a name unique to the tutorials. mp101_singleCore.root was (of course) also use by mp101_fillNtuples.C 21 May 2020, 15:27:43 UTC
d5f2afe [RF][Docs] Fix documentation of RooDataHist. [ROOT-10784] The set() functions of RDH all had copy-pasted documentation that was completely wrong. 20 May 2020, 17:59:54 UTC
8210a77 [RF] Add missing include of stdexcept Starting with gcc10 stdexcept is not anymore implicitly included by other STL headers 20 May 2020, 09:27:05 UTC
0933681 NFC: white space 18 May 2020, 15:22:19 UTC
748c461 v6.20: Fix potential startup error messages on Windows Fix the following error messages displayed when starting ROOT compiled with a different version of Visual Studio than the one installed on the system: ``` In file included from input_line_3:38: In file included from C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\\include\cassert:9: In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\assert.h:12: C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\corecrt.h:142:12: error: redefinition of '_CrtEnableIf<true, _Ty>' struct _CrtEnableIf<true, _Ty> ^~~~~~~~~~~~~~~~~~~~~~~ C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\corecrt.h:142:12: note: previous definition is here struct _CrtEnableIf<true, _Ty> ^ In file included from input_line_3:38: In file included from C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\\include\cassert:9: In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\assert.h:12: C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\corecrt.h:517:16: error: redefinition of '__crt_locale_data_public' typedef struct __crt_locale_data_public ^ C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.23.28105\include\crtdefs.h:10:10: note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\corecrt.h' included multiple times, additional include site here ^ C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\assert.h:12:10: note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\corecrt.h' included multiple times, additional include site here ^ In file included from input_line_3:38: In file included from C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\\include\cassert:9: In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\assert.h:12: C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\corecrt.h:524:16: error: redefinition of '__crt_locale_pointers' typedef struct __crt_locale_pointers ^ C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.23.28105\include\crtdefs.h:10:10: note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\corecrt.h' included multiple times, additional include site here ^ C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\assert.h:12:10: note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\corecrt.h' included multiple times, additional include site here ^ In file included from input_line_3:38: In file included from C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\\include\cassert:9: In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\assert.h:12: C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\corecrt.h:532:16: error: redefinition of '_Mbstatet' typedef struct _Mbstatet ^ C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.23.28105\include\crtdefs.h:10:10: note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\corecrt.h' included multiple times, additional include site here ^ C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\assert.h:12:10: note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\corecrt.h' included multiple times, additional include site here ^ ``` 18 May 2020, 15:01:13 UTC
102f580 v6.20: Filter out non existing library name (there is only a dll) This fixes an issue with ACLiC trying to link against `msvcp140.lib` which doesn't exist (there is only `msvcp140.dll`) 18 May 2020, 14:58:25 UTC
81c8d29 Avoid streaming a copy of the TPaveStats parent during the TH1 cloning process. This solves ROOT-9535. During the cloning process the TPaveStats (as part of fFunctions) is cloned and its member fParent point to the TH1 being cloned. Since that TH1 was not part of the I/O transaction this leads the cloned TPaveStats parent to point to yet another copy of the TH1. In the case of ROOT-9535, that copy held stale pointer to object that were removed and deleted in a subsequent call to Reset. The exact order. Create a TH1 h1 containing a TPaveStats s1 and a TPaletteAxis p1. Then Clone h1 into h2 which now contains TPaveStats s2 and a TPalettesAxis p2. Since s1.fParent was also cloned s2.fParent points to another histogram h3. h3.fFunctions contains a pointer to s2 and to p2 since they were streamed during the same I/O operation (the Clone via TBuffer of fFunctions). When h2 is Reset, it deletes p2 and remove it from h2.fFunctions, however (since it is not even supposed to exist) h3 is not informed and keep a (stale) pointer to p2. The Reset, however, keeps the TPaveStats as is. Then during the cloning of h2, p2 is traversed and thus h3 is traversed and thus the (stale) pointer to p2 is accessed. 17 May 2020, 12:49:40 UTC
f4bacb0 [DF] Fix use after delete of RLoopManager in RCustomColumnBase Before this patch, RCustomColumnBase's destructor could access RLoopManager after deletion in some cases, e.g. when jitting code after the computation graph was already out of scope or when the RLoopManager was kept alive only by another node's shared_ptr to it. I think we never saw a crash due to this bug because the use is _right after_ deletion, and there is never an allocation between deletion and use. Valgrind still sees it though. Thanks to the previous commit, all the logic that entangled RLoopManager and RCustomColumns can actually be removed, and in particular RCustomColumnBase's destructor does not need to access RLoopManager anymore, fixing the use after delete. A minimal reproducer for the use after delete: auto f = ROOT::RDataFrame(1).Filter([] { return true; }); Before RFilter is destructed, it deletes its fPrevNode (shared_ptr to the previous node), which triggers destruction of RLoopManager. Later, RFilterBase is destructed, which triggers destruction of its registered custom columns (in this case, the default "rdfentry_" or "rdfslot_" columns) and ~RCustomColumnBase tries to access RLoopManager. 15 May 2020, 10:19:55 UTC
866243d [DF] Reset RCustomColumn::fLastCheckedEntry at the beginning of each task ...instead of doing so once, at the beginning of the event loop. This allows a large amount of simplifications in code and lifetime dependencies (see next commit). 15 May 2020, 10:19:55 UTC
f427fce Fix potential crash at startup on Windows When starting root.exe on Windows with a version of Visual Studio different than the one used to build ROOT, it mighty crash with the following error: Assertion failed: !isNull() && "Cannot retrieve a NULL type pointer", file C:\build\ws\BUILDTYPE\Debug\LABEL\windows10\V\6-20\root\interpreter\llvm\src\tools\clang\include\clang/AST/Type.h, line 630 This patch fixes the issue. 15 May 2020, 06:21:37 UTC
ddbe525 Also capture SFINAE error counts (ROOT-10754): When doing lookup on templates, instantiation can fail. This can be triggered during templarte instantiation somewhere in clang, autoloading, cling-lookup - and SFINAE errors that occurr in cling-lookup must not bubble up to clang, or else clang will think that there was a problem (where there was none - just e.g. ROOT trying to autoload a bogus template). In this concrete case, a template specialized with a lambda was not found by clang, was tried to be autoloaded, TMetaUtils produced a broken normalized type name, lookup on the broken type name failed with a SFINAE error - and that ended up being swallowed by a clang SFINAETrap by the topmost lookup. Instead, keep SFINAE errors to ourselves. 14 May 2020, 21:28:38 UTC
f6f1ea0 [cmake] add comment what error is fixed 13 May 2020, 08:11:48 UTC
2d509c7 [cmake] set correct list of include dirs for dictionary One has to exclude "-I" prefix which was required for direct command for dicitionarz generation. When compile dictionary, it has to be removed 13 May 2020, 08:11:48 UTC
20107b7 Fix compilation of cuda with C++14 when normal ROOT is compile with C++17 which has std::string_view (#5604) Fix it by modifying the pre-processor macros defined in RCOnfigure.h when compiling Cuda. A better fix would be to remove the TString dependency in the Cuda compiled code. TString is used when doing I/O of the DeepNet layers to XML. In principle this code could be moved out of Cuda 12 May 2020, 21:41:53 UTC
b757ebe Avoid having to modify TStreamerSTL when streaming it. This fix a "corruption" of the state of TStreamerSTL when using multi-thread. Fix ROOT-10648. See related 777f6b750e657e5c70bdf07095214d59c320e985 and 274c7302ebf95d81255db6d8a02afccb387d3c9e 11 May 2020, 15:19:28 UTC
17c9cf9 [TreeProcMT] Add support for chain of trees with different names Internal logic has been adapted to support the case in which TTreeProcessorMT is acting on a TChain and the trees in the TChain do not all have the same name. Importantly, the fTreeName data-member changed name to fTreeNames and is now a vector of strings rather than a single string. This fixes ROOT-10178. 11 May 2020, 13:27:54 UTC
c916bee [RS] Fix leak in HypoTestResult. HypoTestResult was not cleaning up its fFitInfo. By converting this member to a unique_ptr, this was fixed. (cherry picked from commit 0787e8548eccc7f9dfef9dfbff9f393944279199) 07 May 2020, 13:20:39 UTC
444baca [RS] Add read test for HypoTestInvResult. Reading RooStats::HypoTestInverterResult uncovered memory leaks in RooRealVar and HypoTestResult. This ensures that it can still be read properly. (cherry picked from commit 95eb6d791eafeed8d9961b3269deb9d621bd84af) 07 May 2020, 13:20:39 UTC
6a50f6c [RF] Strip down includes of RooRealVar. (cherry picked from commit d7f51db8c1aa26659b2367f258a5bb5ef86121c1) 07 May 2020, 13:20:39 UTC
5061955 [RF] Fix memory leaks when reading RooRealVar. A RooRealVar can share properties with copies of itself. Previously, these were implemented with static lists of pointers in `RooSharedPropertiesList`, but ownership was unclear, and some objects leaked when variables were read from files. Now, these properties are shared using shared_ptr. To re-establish the sharing of such objects when being read from a file, the previously existing static list of pointers was converted into a static map of weak pointers. If a shared_ptr can be obtained from the weak_ptr, the instances start sharing. Outlining several functions allowed to bring the includes down significantly. Since RooRealVar is used in a lot of places, that can have a big effect on recompilations. (cherry picked from commit ccbadf397f721f4d54ccd2fc6753dc7200fe704b) 07 May 2020, 13:20:39 UTC
back to top