https://github.com/root-project/root

sort by:
Revision Author Date Message Commit Date
321895c [PyROOT] Py_TYPE is changed to an inline static function in Py3.11 As mentioned in the Python docs: https://docs.python.org/3.11/whatsnew/3.11.html Already available upstream in: https://github.com/wlav/CPyCppyy/commit/a8f41df0618f40ecc9a2a0b5a51fd12ddf2e6673 21 December 2023, 21:52:18 UTC
b4cb1b0 [PyROOT][8128] Fixes for Python3.9 Some of the changes from: https://bitbucket.org/wlav/cpycppyy/commits/78a6e67ff1c9944d31a953bea9744f78884343f1 21 December 2023, 21:52:18 UTC
fce2411 [PyROOT][7501] Fix initialization of C++ data members via attribute setting Based on: https://bitbucket.org/wlav/cpycppyy/commits/ad2fb338544d8baf034825a0bc2dfc46c182f925 https://bitbucket.org/wlav/cpycppyy/commits/6dd664b59641d68dca856bc39ea3f9def9c19d8a https://bitbucket.org/wlav/cpycppyy/commits/d39cb178c841e99935262204d487b76705c03e5b 21 December 2023, 21:52:18 UTC
fc47d0e [PyROOT] Clang-tidy suggestions From issue #7400 and: https://bitbucket.org/wlav/cppyy-backend/commits/4a2d9dfa1a6f8b7cf8e8033eadfffdd0dc9f79a5 https://bitbucket.org/wlav/cpycppyy/commits/8a2af080d20c093cbe21128f13c3ad72ea5f9599 21 December 2023, 21:52:18 UTC
7eb5eac [PyROOT][6470] Fix virtual call issue in deep hierarchy Fix how the inheritance hierarchy is constructed when there's more than one level of cross-inheritance, for example C++ class -> Py class 1 -> Py class 2. In the example, the C++ Dispatcher class of Py class 2 should inherit from the Dispatcher class of Py class 1, and not directly from the base C++ class. This was causing an undesired behaviour in the resolution of some virtual calls, as shown in the reproducer of 6470. This commit is an adaptation of the code that is in upstream cppyy, but it does not incorporate yet all the changes for multiple cross-inheritance (i.e. a Python class that inherits from more than one C++ class). Multiple cross-inheritance was anyway not supported in old PyROOT, and its current implementation in cppyy does not seem to support the inheritance from both a pure Python class and a C++ class at the same time (even via the use of cppyy.multi), and that case was supported in the old PyROOT. 21 December 2023, 21:52:18 UTC
6d693ab [PyROOT][6345] Fix for protected methods in cross inheritance This commit changes the way base-class protected methods are handled in the Dispatcher class in cross inheritance. Instead of exposing them with a "using" declaration in the Dispatcher class, they are redeclared and the call is forwarded to the base class. This prevents the issues described in 6345, when: - There is more than one protected overload of a method - There is a protected and a private overload of a method Adapted from cppyy's: https://bitbucket.org/wlav/cpycppyy/commits/1f158f4ad7cbe9951f43d24a217e60c009dd046c for the case of just one base class. 21 December 2023, 21:52:18 UTC
a052335 [PyROOT] Prevent cast error when calling PyTuple_SET_ITEM in 3.11 PyTuple_SET_ITEM ends up calling _PyObject_CAST(nullptr) which causes "error: invalid cast from type 'std::nullptr_t' to type 'const PyObject*' {aka 'const _object*'} 21 December 2023, 21:52:18 UTC
456a77f [TPython] PySys_SetArgv is deprecated in 3.11 We should use the new PyConfig API of the Python Initialization Configuration instead. See: https://docs.python.org/3.11/whatsnew/3.11.html#id7 21 December 2023, 21:52:18 UTC
37503a0 [PyROOT] code.h must not be included directly in 3.11 It has been moved to Include/cpython, and it is included by Python.h. See: https://docs.python.org/3.11/whatsnew/3.11.html 21 December 2023, 21:52:18 UTC
3ce8e53 fBits read: preserve kIsOnHeap, always set kNotDeleted. Rather than reading from the file the value of kIsOnHeap, preserve the value that was calculated at object creation time (i.e. in the current execution). For example, for an embedded object (inside an object created on the heap or stack), the bit always need to be off (i.e. it can never be explicitly deleted) 20 December 2023, 18:07:16 UTC
6a7a092 io: Do not turn on automatically MustClean for TDirectory 21 August 2023, 16:49:47 UTC
329d6a4 Delete the object held by gROOT after we reset the globals. For example this allows unique_ptr to be deleted first and thus inform TROOT if need be. Fix #13462 16 August 2023, 22:44:26 UTC
d1212cc TTree Bulk IO prevent leak of ready-to-reuse basket 09 December 2022, 18:26:33 UTC
9560c6c TBranch::GetEntriesSerialized avoid leaking TBaskets This applies fixes that were introduce to GetBulkEntries in 61c9927f1ab and 60ad1481a66 09 December 2022, 18:26:33 UTC
66d9e8a TTreeReaderArrayBase::CreateProxy Improve numerical type matching. This applies the change similar to 16f11e363c5 and 53a610fa2de that were done on TTreeReaderValue to the array case. In particular it properly handle the double/Double32_t, float/Float16_t, Long64_t, char/signed char 'spurrious' difference/rejection. 08 December 2022, 00:14:41 UTC
574595b Avoid TPad::fFrame double delete when read from file This fixes #11747 As seen in https://github.com/cms-sw/cmssw/issues/40091 the code in `TPad::Close`: ``` if (fPrimitives) fPrimitives->Clear(); if (fView) { if (!ROOT::Detail::HasBeenDeleted(fView)) delete fView; fView = nullptr; } if (fFrame) { if (!ROOT::Detail::HasBeenDeleted(fFrame)) delete fFrame; fFrame = nullptr; } ``` is failing in the case of reading a pad from a file in at least some circumstances. `TPad::Streamer` explicit set the bit `kCanDelete` on all objects in the list of primitives, thus including the view and the frame which have their `kCanDelete` bit explicitly reset elsewhere (in the code run during the initial creation of the frame and view). This means that avoiding the a double deletion (the first is now during the `fPrimitives->Clear()`) relies on the heuristic of `HasBeenDeleted` to work properly, at least in the case seen in cmssw above) it does not and lead to crash. 07 December 2022, 17:36:04 UTC
3d4b8ed Add Rint as a dependency of rootcling `TCling.cxx`’s `RegisterCxxModules` loads explicitly several modules including `Core`, `Rint` and `RIO`. When executing rootcling (for example for G__Net.cxx) *before* `G__Rint.cxx` was created and thus before `lib/Rint.pcm` was properly created, a default `lib/Rint.pcm` is auto-generated and registered as one of the dependencies. Later the real `lib/Rint.pcm` is created is creation date is later than other `pcm` than depends-on/uses it’s creation time. For example: ``` $ ls -lart lib/Net.pcm lib/MultiProc.pcm lib/Imt.pcm lib/MathCore.pcm lib/Rint.pcm -rw-r--r-- 1 pcanal pcanal 1158548 Nov 10 20:26 lib/Net.pcm -rw-r--r-- 1 pcanal pcanal 1278392 Nov 10 20:27 lib/MultiProc.pcm -rw-r--r-- 1 pcanal pcanal 2032752 Nov 10 20:27 lib/Imt.pcm -rw-r--r-- 1 pcanal pcanal 12911448 Nov 10 20:27 lib/MathCore.pcm -rw-r--r-- 1 pcanal pcanal 444724 Nov 10 20:35 lib/Rint.pcm ``` then later uses of those `pcm` leads to the (mis-worded) error message: ``` <<< cling interactive line includer >>>: fatal error: module file '/home/neel/Desktop/Root/build/lib/Rint.pcm' is out of date and needs to be rebuilt: could not read module signature <<< cling interactive line includer >>>: note: imported by module 'MathCore' in '/home/neel/Desktop/Root/build/lib/MathCore.pcm' Error: Module 'MathCore.pcm' failed to load. Error: Error loading the default rootcling header files. make[2]: *** [math/mathmore/CMakeFiles/G__MathMore.dir/build.make:130: math/mathmore/G__MathMore.cxx] Error 1 ``` See the related circumstances in https://root-forum.cern.ch/t/wsl-build-from-source-error-rint-pcm-is-out-of-date-cannot-read-module-signature/47564/39 The stack trace that was triggers the auto-generation of `Rint.pcm` at /home/pcanal/root_working/code/master/interpreter/llvm/src/tools/clang/lib/Sema/SemaModule.cpp:325 at /home/pcanal/root_working/code/master/interpreter/cling/lib/Interpreter/Interpreter.cpp:908 at /home/pcanal/root_working/code/master/interpreter/cling/lib/Interpreter/Interpreter.cpp:872 at /home/pcanal/root_working/code/master/core/metacling/src/TCling.cxx:1590 11 November 2022, 22:36:50 UTC
ea49eef [core] Guard gInterpreterMutex in TClingClassInfo::IsEnum Fixes https://github.com/root-project/root/issues/11515 This method leads to contention in some specific scenarios (see linked issue). Co-authored-by: Philippe Canal <pcanal@fnal.gov> 20 October 2022, 20:03:26 UTC
29f0497 Add support for Bulk I/O with SetClusterPrefetch This fixes #8962 The code pattern is similar to 0987896c2d8d49a0e5723ee2ac792eb33fa3ee34 Add infrastructure for sharing memory in a TBuffer. 11 October 2022, 20:17:30 UTC
5248676 Force storing of StreamerInfo for nested non-split but memberwise streamed collection. This fix #11436 04 October 2022, 15:49:21 UTC
2efaeef cling: Improve support for expression in template re-substitution. This addresses the issue described in #11259. In particular it handles the case where the template parameter is a value. i.e. in the inner template of ``` __and_<is_constructible<_Rb_tree_iterator<pair<const unsigned int,string> >,const _Rb_tree_iterator<pair<const unsigned int,string> >&>,is_constructible<bool,const bool&> > ``` 02 September 2022, 03:24:56 UTC
49585e8 Fix bug in TLatex::Copy method TAttLine::Copy was using wrong cast for target object. As a result, line attributes were overwriting some base TObject members 08 July 2022, 06:02:38 UTC
af6f243 CollectionProxy: pass pair hint to R__CreateValue 05 May 2022, 16:50:44 UTC
276171b Avoid reading pass the end of the StreamerInfo container. This was happening when, inadvertently, StreamerInfo were created multiple times and then immeditately deleted (for map<enumtype_without_dict, somethinelse>) 05 May 2022, 16:50:42 UTC
32a5121 TGenCollectionProxy init: fail if the value's StreamerInfo is not there. This happened in a user case where the container (map) for a pair of an enum, which had not dictionary and something else that did have a dictionary. 05 May 2022, 16:50:41 UTC
7d0f6e0 TBufferFile: create StreamerInfo only if needed. In the 'root_serialization' use case, we ended in TBufferFile::WriteClassBuffer with no StreamerInfo created yet for the TClass for `std::vector<float>` and thus go into the branch that creates the StreamerInfo ... However, at least in that case, the call to `BuildRealData` induced the creation of the StreamerInfo but the code in `TBufferFile::WriteClassBuffer` did not notice and thus create a second one and tried to register it in the same slot. (The actual negative side effect was only an error message and a memory leak). 05 May 2022, 16:50:39 UTC
6501959 Do the pair TClass StreamerInfo refresh only when needed 05 May 2022, 16:50:38 UTC
736de87 TClass: clear fLastReadInfo, fCurrentInfo when deleting TStreamerInfos 05 May 2022, 16:50:36 UTC
d869ede pair: Also treat unordered map 05 May 2022, 16:50:34 UTC
54ef1d8 Don't put class' enum in rootpcm global list of enums 05 May 2022, 16:50:33 UTC
789d855 TProtoClass::FillTClass: Create a ListEnumsWithLock when needed 05 May 2022, 16:50:31 UTC
cab3f8c When resetting a pair's StreamerInfo inform all collection proxies 05 May 2022, 16:50:29 UTC
b657514 TGenCollectionProxy: add missing nullptr protection 05 May 2022, 16:50:27 UTC
d6162fa Add missing TListOfEnums::FindObject. We already had TListOfEnumsWithLock but TListOfEnums::FindObject is used by rootcling 05 May 2022, 16:50:24 UTC
36391c3 io: Correct offset passed from SyntheticPair to StreamerInfo. This was a fatal typo in 96784051cc6 pair: properly update StreamerInfo. 05 May 2022, 16:49:30 UTC
de69665 rootcling: record Enum used by classes and collection. When encountering a data member of a class that is a enum or if it is use in a map or multimap, record the enum in the rootpcm. 05 May 2022, 16:49:29 UTC
3eec918 TStreamerInfo::Clear, also reset TStreamerElement's offset 05 May 2022, 16:49:27 UTC
39f8a26 When loading a TClass for map, also update the pair's TClass. This is done also for multimap. 05 May 2022, 16:49:25 UTC
1c5f9b7 rootpcm: Read enums before class to get the correct underlying type. 05 May 2022, 16:49:23 UTC
d5ed611 TClass for pair: avoid gathering information too early 21 March 2022, 16:42:14 UTC
8f377a0 Always set kIsForeign bit for std::pair's TClass 21 March 2022, 16:42:14 UTC
d1b4916 TClass: Add clarifying comment 21 March 2022, 16:42:14 UTC
522a54e Correcting impl of TClassEdit::IsStdPairBase(TStringView) 21 March 2022, 16:42:14 UTC
e3d6f2c Remove obsolete code comment 21 March 2022, 16:42:14 UTC
e5c8c3f pair: properly update StreamerInfo Make sure that an old StreamerInfo transfered from an emulated TClass into a compiled or synthetic TClass is properly reset (correct TStreamerElement offfset and correct size). 21 March 2022, 16:42:14 UTC
3687f9f BuildCheck: import old StreamerInfo. Because enums can change underlying type (especially since gathering the enum underlying info was inconsistent between TStreamerInfo::GenerateInfoForPair and TDataMember::Init, the schema layout for a std::pair *can* change .... 21 March 2022, 16:42:14 UTC
5ed5ca2 BuildCheck: std::pair is always unversioned 21 March 2022, 16:42:14 UTC
ac6963b TClass::IsForeign: always true for std::pair 21 March 2022, 16:42:14 UTC
79e45ca TClass: look for collection to generate pair's TClass from. If we don't have a dictionary for a std::pair and do not have (in the call to TClass::Init) the hints necessary to build it correctly (offset and size), then look for a related collection (STL associated container) that would induce the generation of the std::pair's TClass (it's collection proxy has the necessary information). 21 March 2022, 16:42:14 UTC
8b344e6 TClass: don't complain about dict for pair's base class 21 March 2022, 16:42:14 UTC
1ff22c2 tree: Always register FriendElement in external list. Always add the TFriendElement (owned by the main TTree) with the friend tree's fExternalFriends list so that it can be reset if the friend is deleted before the main TTree. Also implement TFriendElement::RecursiveRemove 19 March 2022, 01:31:23 UTC
bbe55b6 TFileMerger _actually_ delete directory only if we induced its creation/loading This is the actual heart of 30fd4c79425 which incorrect did the reverse of its intent. This fixes #8226 11 March 2022, 23:32:11 UTC
0fc4271 hadd: Remove inadvertent deletion (and subsequent re-reading) of TDirectory. This fixes issue #9939. The mechanism introduced in commits e97dc3678ae9da6628242afceca3142d6c319832 and 30fd4c79425c8be12be7af6fe1936317d1f5eec7 : TFileMerger delete directory only if we induced its creation/loading also had the unforunate consequence leading to the deletion of the TDirectory object when reading other objects, leading to the need to re-read the TDirectory objects as many time as object in the directory ... (This is triggered only for the 2nd and higher files). 11 March 2022, 23:32:11 UTC
c06d458 TBranchElement: no drilling through new members. This resolved the problem seen at: https://github.com/cms-sw/cmssw/issues/36908#issuecomment-1036397481 and fix #9899. The problem is the rules are applied to a data member nested inside an object nested inside an STL collection that is a new data member of the class reco::HaloClusterCandidateHCAL, since it is a new member compared to the layout on file, none of the objects; from the new member down to the object on which the rules need to be run) are actually streamed and the code gathering the information to run the rule got a bit lost ; it is likely (I am checking as we speak) that in previous release the rule was not even attempted to be run ... which might actually be the desired behavior in this specific case. The solution is to have GatherArtificialElements stop drilling through data members which are not stored in the existing TTree. 18 February 2022, 17:24:48 UTC
e272c4b TBranchElement::InitInfo improve doc 18 February 2022, 17:24:48 UTC
d1406f2 Update warning flag for bidi characters (#9532) -Wbidirectional= was RedHat's initial proposal that they also shipped in gcc-8.5.0-4.el8 for CentOS 8. During review, the name was changed to -Wbidi-chars= which will appear in GCC 12 and was backported to the next gcc-8.5.0-5.el8. See the mailing list thread at https://gcc.gnu.org/pipermail/gcc-patches/2021-November/thread.html#583031 for details. 15 February 2022, 11:46:19 UTC
dff4481 [netxng] Avoid XRootD warnings in generated source (#9582) It pulls in XRootD headers via TNetXNGFile.h, so the include directories must be added as SYSTEM. 15 February 2022, 11:46:19 UTC
4e00bf6 Fix compilation warning on MacOS (#9088) * Fix compilation warning on MacOS Fix the following compilation warning on MacOS: ``` builtins/xrootd/XROOTD-prefix/include/xrootd/XrdCl/XrdClOptional.hh:58:29: warning: unused parameter 'n' [-Wunused-parameter] ``` * Update net/netx/CMakeLists.txt Co-authored-by: Axel Naumann <Axel.Naumann@cern.ch> Co-authored-by: Axel Naumann <Axel.Naumann@cern.ch> 15 February 2022, 11:46:19 UTC
bc86920 TBranchElement: do not set fOnfileObject for collection parent (type 3 or 4). This assignment is both unnecessary and harmfull. It is unnecessary because the pushd and popd of the onfile object address for those cases is already handle by the usage of PushDataCache and PopDataCache action for the branches of type 3 and 4 (via their configuration). It is harmfull because the type of the used/seen in the sub-branches might be completely different from the type of the collection content. For example, this code was crashing some CMS jobs because the sub-branches that had a "OnfileObject" corresponded to a nested sub-object (of type reco::ParticleState) and then this was (unconditionally) associated with the head node of the collection, which contained reco::PFCandidate objects (One of PFCandidate base class contains a reco::ParticleState sub-object). The assignment is triggered when visiting one of the child branch (type 31 or 41) of the collection parent branch. This is a fix for the main branch commit 875e8fb91418f9e520e5d9b22fb1d32f4a42faf0 which is fix for the issue #7754. 03 February 2022, 00:11:42 UTC
f5bbed9 [NFC] Typo in comment 03 February 2022, 00:11:42 UTC
ec637a2 TClass::GetRealData support more than one level of nesting 03 February 2022, 00:11:42 UTC
52c054e TBranchElement::Print add fOnfileObject to 'debugAddress' 03 February 2022, 00:11:41 UTC
dd6bdb9 Add comment on semantic of fConfiguration->fElemId == -1 03 February 2022, 00:11:02 UTC
222a869 TBranchElement::InitializeOffsets: don't confuse top level collection for missing data member 03 February 2022, 00:11:02 UTC
6d4d4ca In SetOnfileObject also determine the 'last' branch based on name. The branch ID is not reliable as for the 'later' branch it has not yet been updated from the as-seen-when-writing value to the current value. 03 February 2022, 00:11:02 UTC
25ba298 Further devel for extend io customization support: whole obj rule in split obj. Use the full name to make branch name comparisons 03 February 2022, 00:11:02 UTC
44e4207 Extend io customization support: whole obj rule in split obj with repetion In the case where the containing object held several sub-object whose type is a class which has a 'whole object' rule, prior to this commit, the infrastructure would re-use only one of the incoming object as input to the rule executions. 03 February 2022, 00:11:02 UTC
d3a4056 Extend io customization support: whole obj rule in split obj. Extend the support for a rule that applies to several data members (and thus currently is applied as the 'object level') to the case of a split object embedded within a split subobject of an object (previous it worked only for the collection case). This fixes issue #8428, see also https://cdcvs.fnal.gov/redmine/issues/25893. 03 February 2022, 00:11:00 UTC
6443902 Emulated Collection Proxy always need the VectorLooper for the StreamerInfoActions This fixes #9136. Without this commit, SelectLooper would select the 'GenericLooper' in the case of an emulated proxy for STL collection with (in the name) a custom allocator. However the GenericLooper only usable for collection with a compiled collection proxy. In particular, GenericLooper is calling the 'Next' function which is not defined for vector ... and emulated collection. Using it lead to an assert complaining (right fully so) that an 'undefined' function is being called. 31 January 2022, 16:57:03 UTC
2a56960 TStreamerInfo::New needs to use the CollectionProxy::New This fixes issue #9543 In the issue #9543, the unusual situation is the combination of: * there is (intentionally) no dictionary for `std::map<int,std::vector<int>>` * consequently we use an "emulated collection proxy" for that collection * there is (unintentional due to external config) interpreter information/ClassInfo for `std::map<int,std::vector<int>>` The crux of the issue #9542 is: * TClass::fSizeof info prefers the information from the CollectionProxy * TStreamerInfo::fSize is set to the value of TClass::fSizeOf * TClass:New prefers the constructor from the interpreter * TStreamerInfo::New was using TClass::New for that case * On the failing platform, the `sizeof(std::map<int,std::vector<int>>)` is larger than the size of the emulated collection. Since the I/O and TStreamerInfo uses the TCollection proxy and all of TStreamerInfo needs to prefer the information from the collection proxy (including the 'sizeof'). To fix #9542 the solution is for * TStremearInfo::New to prefer/use TCollectionProxy::New over TClass::New (i.e. the interpreted constructor in this particular case). 19 January 2022, 16:04:58 UTC
f992efc RooAddPdf: Avoid UB in checkObservables A RooAddPdf may have more PDFs than coefficients, in which case "the coefficient of the last PDF is calculated automatically from the condition that the sum of all coefficients has to be 1". In this case, the last call to "_coefList.at(i)" is supposed to return a nullptr because the index is out of range, and dereferencing it is undefined behavior which Clang 13 optimizes away, leading to crashes. Fixes #9547 (cherry picked from commit 1f3f0fdc0544087042e6289376094bf06b2d259f) 14 January 2022, 15:34:27 UTC
77611bd [RF] Cleanup `RooRealVar::_sharedPropList` in RooRealVar destructor In df1a5a6, a memory leak when reading RooRealVars from ROOT files was fixed by introducing a `RooRealVar::_sharedPropList` map that holds `std::weak_ptr`s to all shared properties objects that were created by any RooRealVar. However, a mechanism to cleanup the weak pointers from the map when they were explired was still missing, which caused the `RooRealVar::_sharedPropList` map to grow forever and by a lot, especially in toy studies where many datasets are created (in the RooFit dataset constructors, RooAbsReals are cloned, which triggers the creation of the shared properties object). In this commit, the `RooRealVar::_sharedPropList` map is cleaned from expiring pointers in the RooRealVar destructor, which should fix a bunch of RooFit problems that seemed like memory leaks. To avoid the static initialization order fiasko, the `_sharedPropList` is now allocated on the heap and only deleted when the process exits using the `RooSentinel` mechanism that is already used for the RooFit memory pools. 15 November 2021, 14:27:15 UTC
2b3e72a [RF] Fix global static objects initialization problem. 15 November 2021, 14:27:15 UTC
7e59ef7 Prevent a TTree from calling its won RecursiveRemove. Call RecursiveRemove early in the TTree destructor (rather than last thing), to remove the tree from any list (like another TTree's list of clones) to avoid that the destructor's deletion of item (eg. the list of friends), provoke a call to this same TTree's RecursiveRemove which will try to call the RecursiveRemove on the item being deleted. An alternative would be to replace the pattern. `delete fFriends; fFriends = nullptr;` with `auto tmp = fFriends; fFriends = nullptr; delete tmp;` This fixes issue #9017 where we had a tear down crash because: ~TTree call delete fFriends which call RecursiveRemove which reach another TTree's list of clone where its find the (original) TTree and call its RecursiveRemove which tries (and fail) to call RecursiveRemove on fFriends 24 September 2021, 11:16:17 UTC
7dce0b9 In ~TTree, reset fDirectory to nullptr sooner. Delaying is no longer necessary since the introduction of TFriendElement::fOwnFile in commit 115203c12b3cb50638eaea91133bfe2aa2c9b85f 24 September 2021, 11:16:17 UTC
18c440c ROOT-R:fixed links to the users guide. 19 August 2021, 17:31:32 UTC
8a5ee8a ROOT-R: fixed segfault evaluating R code 19 August 2021, 17:31:32 UTC
c582b01 Silent a couple of potential CMake Warnings Silent the following warnings when enabling arrow (`-Darrow=ON`) on Ubuntu: ``` CMake Warning at cmake/modules/SearchInstalledSoftware.cmake:20 (_find_package): By not providing "Findre2.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "re2", but CMake did not find one. Could not find a package configuration file provided by "re2" with any of the following names: re2Config.cmake re2-config.cmake Add the installation prefix of "re2" to CMAKE_PREFIX_PATH or set "re2_DIR" to a directory containing one of the above files. If "re2" provides a separate development package or SDK, be sure it has been installed. Call Stack (most recent call first): /usr/lib/x86_64-linux-gnu/cmake/arrow/Findre2Alt.cmake:25 (find_package) cmake/modules/SearchInstalledSoftware.cmake:20 (_find_package) /usr/share/cmake-3.16/Modules/CMakeFindDependencyMacro.cmake:47 (find_package) /usr/lib/x86_64-linux-gnu/cmake/arrow/ArrowConfig.cmake:96 (find_dependency) cmake/modules/SearchInstalledSoftware.cmake:20 (_find_package) cmake/modules/FindArrow.cmake:206 (find_package) cmake/modules/FindArrow.cmake:313 (arrow_find_package_cmake_package_configuration) cmake/modules/FindArrow.cmake:350 (arrow_find_package) cmake/modules/SearchInstalledSoftware.cmake:20 (_find_package) cmake/modules/SearchInstalledSoftware.cmake:1088 (find_package) CMakeLists.txt:245 (include) ``` and ``` CMake Warning at cmake/modules/SearchInstalledSoftware.cmake:20 (_find_package): By not providing "Findc-ares.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "c-ares", but CMake did not find one. Could not find a package configuration file provided by "c-ares" with any of the following names: c-aresConfig.cmake c-ares-config.cmake Add the installation prefix of "c-ares" to CMAKE_PREFIX_PATH or set "c-ares_DIR" to a directory containing one of the above files. If "c-ares" provides a separate development package or SDK, be sure it has been installed. Call Stack (most recent call first): /usr/lib/x86_64-linux-gnu/cmake/arrow/Findc-aresAlt.cmake:25 (find_package) cmake/modules/SearchInstalledSoftware.cmake:20 (_find_package) /usr/share/cmake-3.16/Modules/CMakeFindDependencyMacro.cmake:47 (find_package) /usr/lib/x86_64-linux-gnu/cmake/arrow/ArrowConfig.cmake:96 (find_dependency) cmake/modules/SearchInstalledSoftware.cmake:20 (_find_package) cmake/modules/FindArrow.cmake:206 (find_package) cmake/modules/FindArrow.cmake:313 (arrow_find_package_cmake_package_configuration) cmake/modules/FindArrow.cmake:350 (arrow_find_package) cmake/modules/SearchInstalledSoftware.cmake:20 (_find_package) cmake/modules/SearchInstalledSoftware.cmake:1088 (find_package) CMakeLists.txt:245 (include) ``` 18 August 2021, 07:11:27 UTC
28add7c [RF] Fix `if` statement in HypoTestInverterResult::FindIndex() The `if` statement in `HypoTestInverterResult::FindIndex()` didn't consider the `xvalue == 1` case, resulting in no index being found. 16 July 2021, 10:14:59 UTC
abd79a9 gdml: add support for the official spelling of millimeter 07 July 2021, 20:06:31 UTC
30fcf1f [jupyter] configure also ServerApp to let use static in jupyter lab c.ServerApp is configuration for "jupyter lab" 25 June 2021, 13:58:52 UTC
b36714d [jupyter] adopt changes in utility.py to correctly load JSROOT Try with notebook and with lab local version and then remote version 25 June 2021, 13:58:52 UTC
a9db96c [JupyROOT][8459] Backport changes in utils.py for JupyterLab compatibility 25 June 2021, 13:58:52 UTC
6c5963d Remove stray debug print out. It was inadvertently introduced in 82fad768c9a In TBranchElement::Print use the correct StreamerInfo in case of schema evolution 22 June 2021, 21:11:46 UTC
4c329ef [RF] Fix missing initializer warnings in MemPoolForRooSets.h (2nd try) This PR should finally fix the build warnings in the master nightlies, after the unsuccessful fix attempt in commit 4ed5ea3976743d1206a8f8c7579adeb1818a9695. I have checked that the missing field initializer warnings go away with this change by compiling the following example snippet under gcc48: ```C++ // compile with g++ -Wmissing-field-initializers -std=c++11 -o test test.cc struct A{ A() : arr_{{}} {} std::array<int, 10> arr_ = {{}}; }; int main() { A a{}; std::cout << a.arr_[0] << std::endl; return 0; } ``` The warnings are reproduced, and can successfully be suppressed by replacing `{}` with `{{}}`. 22 June 2021, 08:11:27 UTC
64ff37e Disable tutorials/legacy/thread/threadsh1.C It causes randomic failures in our nightlies, and being in legacy code we are happy with disabling the tutorial altogether. 17 June 2021, 19:29:53 UTC
0dbf6ef [RF] Fix missing initializer warnings in MemPoolForRooSets.h 17 June 2021, 08:32:23 UTC
a15e883 [core] Missing include in string_view header 31 May 2021, 16:53:13 UTC
dd3f79d [VecOps] Remove deprecation warnings from RAdoptAllocator Several allocator methods are deprecated in C++17 in favor of their std::allocator_traits-based implementation. 12 May 2021, 12:59:48 UTC
c93d1fa Record properly the number of dim of a string array in its StreamerElement 07 May 2021, 20:26:51 UTC
2714ea9 Fix #8033: string array StreamerElement not recorded properly 07 May 2021, 20:26:51 UTC
0aa0c05 Properly handle v5 file with missing information. Fix #7912. In this report, the v5 file has a 'map<TString, RooExpensiveObjectCache::ExpensiveObject*>' however it is recorded as 'map<TString, ExpensiveObject*>'. However the map stored in the file is empty and thus no information was recorded about `ExpensiveObject`, consequently when the map's StreamerInfo request the TClass for the underlying pair, it is returned nullptr (since we no longer create the TClass for a pair where one or more of the component is unknown). The routine `FixCollectionV5` needed to be updated to handle this situation. 27 April 2021, 14:23:44 UTC
54d0000 [RF] Reduce memory consumption of MemPoolForRooSets The MemPoolForRooSets has two problems: 1. Scaling issues: increasing memory and CPU consumption with increasing number of arenas, becuase trying to allocate a new non-overlapping arena often fails. 2. Amplification of memory leaks in user code: If one of the elements in the arena leaks, the whole arena will leak. Since each arena has 6000 elements, this means a leak of a RooArgSet will be ampilfied by a factor 6000 in the worst case. This commit proposes a solution to the scaling/performance issues and the leak amplification. Explained for the example for RooArgSet, the idea is to use each arena 120 times because this is the size of RooArgSet in bytes. This can be done while still having unique adresses for each RooArgSet: 1. Keep a gap of 120 bytes between each RooArgSet 2. When an address was used before, add one byte and in can be used again So at the cost of allocating 2x more memory per arena, we can reuse each arena 120 times. Now, the good thing is that the interval of creating/deleting RooArgSets is usually higher than 6000. So when reusing an arena multiple times, they will eventually be filled only by leaking RooArgSets if there is a leak. Meaning the leak amplification effect should be gone. This was checked with the CMS Higgs combine toy fit example from the Higgs combine tutorial. Without this commit, there is a GB-level leak that can be clearly observed with `top`, but with this commit the leak becomes negligible again. (cherry picked from commit 73acf88a799547bfe7eacf37a4537a2968da57af) 22 April 2021, 19:12:32 UTC
861e41c [RF] Deallocate memory owned by empty MemPoolForRooSets Arenas If an arena in the MemPoolForRooSets is not referenced anymore, it should delete the memory it has allocated. (cherry picked from commit a3f4198f546e6e41323a8d0871aad74fcbb9b252) 22 April 2021, 19:12:32 UTC
e24f877 [RF] Fix memory leak in ToyMCSampler. Fix #7890. (cherry picked from commit e485b2898ae65b78cd4208ae2f5337b703228c8a) 22 April 2021, 19:12:32 UTC
08d985a [test] Update location of xrootd test files: The original directory was removed. (cherry picked from commit ca9ab88c7e38046dae309d039b7912e294a5435d) 14 April 2021, 17:13:17 UTC
81b536f [AArch64] Materialize FP constant in code for large code model (#7758) Backport of D99607, commit 6415f424bc. Original commit message: --- When using the large code model with FastISel (for example via clang -O0 which adds the optnone attribute), FP constants could still be materialized using adrp + ldr. Unconditionally enable the existing path for MachO to materialize the constant in code. [...] --- See the discussion in https://github.com/cms-sw/cmssw/issues/31123 for context on the observed crashes. (cherry picked from commit 9e104ac7900ca264066d57aac1655ac1d8daf5f0) 09 April 2021, 06:45:27 UTC
2f09433 [cling] Set full target for Apple M1 (#7793) The argument -Xclang -triple=... completely bypasses Clang's Driver logic and only sets the triple in CC1. This suffices for most code generation tasks, but the Driver cannot compute the correct ABI and sets the generic AArch64 "aapcs" instead of the specific "darwinpcs". In turn, this causes integer arguments with less than 32 bits not being sign-extended but being passed directly, which for example manifests as (short)-1 being read as 65535 on the callee side. The new argument --target=arm64-apple-darwin20.3.0 matches what Apple's and LLVM main's clang return for --print-target-triple. Fixes #7090 (cherry picked from commit f75a7c464b8b3f49b4ad1ae0e536d139235863d2) 07 April 2021, 07:15:22 UTC
8a9c9e5 Fix the action PushDataCache for TClonesArray. It was using the wrong signature leading to the configuration to be mis-read. Fixes #7754 31 March 2021, 21:28:37 UTC
d1d36a5 [io] Correct cycle order in file merging for non-mergeable obj. Fixes #7676 29 March 2021, 15:13:15 UTC
back to top