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

sort by:
Revision Author Date Message Commit Date
81efaa1 Update ROOT version files to v6.14/08. 22 November 2018, 07:47:19 UTC
8cfe60a Update release notes for v6.14/08. 22 November 2018, 07:27:15 UTC
27eaeaa Fix TTreeCache issue related to learning from ROOT-9773. Specifically this fixes the one described at: https://sft.its.cern.ch/jira/browse/ROOT-9773?focusedCommentId=87824&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-87824 where the issue was that adding a single branch did not close the learning and 'worth' provoke a learning prefill. We solved this by distinguishing at the interface level adding branch manual and adding branch as part of the learning. We can now avoid the LearningPrefill during manual adds. 20 November 2018, 21:38:35 UTC
d3da0be [TTree] Remove unused variables from tests. 20 November 2018, 10:14:06 UTC
82c1f08 [TTree] Add test for ROOT-9668 20 November 2018, 10:13:50 UTC
e9fdff6 [TTree][ROOT-9668] Improve parallelised FlushBaskets adding a branch to a tree after at least one FlushBaskets call was carried out led to a crash. This commits fixes this bug. 20 November 2018, 10:12:41 UTC
f72fb18 Fix ROOT-9801, by correctly copying the members for lazy initialization in TFormula::Copy. Add also a test for reproducing ROOT-9801 20 November 2018, 08:37:20 UTC
b7e472c [CMake][ROOT-9637] Adopt c++14 flag in root-config unless we are not on osx and gcc the gcc major is 4. 19 November 2018, 10:25:19 UTC
2fa2ff5 No need to install kernel.json.in 16 November 2018, 14:15:44 UTC
b647d42 Rely on SYSCONFDIR just in case install path is custom 16 November 2018, 14:15:44 UTC
28371a5 Define variables with path and name of kernel.json file 16 November 2018, 14:15:44 UTC
589ca32 [ROOT-9685] Install generated kernel.json in etc 16 November 2018, 14:15:44 UTC
8914606 [ROOT-9685] Run the Jupyter ROOT C++ kernel with ROOT's Python version We need to make sure the ROOT C++ kernel of Jupyter runs with the same Python version that ROOT was built with. Since running the kernel with a particular Python installation cannot be enforced by the user by setting the $PATH variable (Jupyter ignores that variable and picks Python from the system), we need to enforce it from the kernel file. We can't define a full path to the right Python binary in the kernel.json file because that path could be different in the machine where ROOT is built and the machine where the C++ kernel runs. The best we can do is include the major and minor version in the kernel.json file, so that we make sure the kernel is not executed with an incompatible version, which would likely lead to a crash. 16 November 2018, 14:15:44 UTC
17eef97 [cxxmodules] Add a RAII because we can trigger deserialization. This patch fixes a few recent runtime_cxxmodules failures. 15 November 2018, 16:15:54 UTC
75e711f [Dictgen] ROOT-9635 ROOT-9615: filter out unwanted rootcling args. (cherry picked from commit 26f54569b46d3d2daae838cf55195d436be7ac80) 15 November 2018, 16:09:14 UTC
54cf5d9 In BuildOld, don't make all unique_ptr as having -> in comment. unique_ptr can be nullptr too sometimes *and* anyway TStreamerInfo::Build does not make the same restriction. The mismatch lead to baffling error message like: Warning in <TStreamerInfo::BuildOld>: Cannot convert A::h from type: B to type: B, skip element This solves one of the problems seen in https://sft.its.cern.ch/jira/browse/ROOT-9702. 15 November 2018, 12:03:25 UTC
a009118 Improve TTreeCache behavior is first GetEntry is outside the learning range. We now actually do a Prefill on the requested entry (rather than learning just one branch) 15 November 2018, 12:03:25 UTC
c80000f When doing LearnPrefill don't go beyond the requested range 15 November 2018, 12:03:25 UTC
d0c3ac6 Do no load in TTreeCache disabled branches 15 November 2018, 12:03:25 UTC
6143ac0 [RooFit] Replace RooArgSet and RooDataSet mempools with single templated mempool. This fixes ROOT-9571 and other crashes when plot reaches the end of main. (cherry picked from commit 5d5e3f3ace0134f17fb9723796809f2aec6f362a) (cherry picked from commit 24333c990adbb7128524b53f457578c671241e1e) (cherry picked from commit d7a7295f56c1344563af71fc2f3ad3c1c7cc18c7) (cherry picked from commit 5d778aa570ccb2989dd37d4b10b78da9a1aef842) (cherry picked from commit 715a2162bf7e61eb32b4bc2b7a87be98ad6555b8) 13 November 2018, 15:43:11 UTC
8e96679 [DF] Fix compiler warning on slc6/gcc48 12 November 2018, 09:33:18 UTC
f19654f Release Notes 12 November 2018, 09:33:18 UTC
c31a828 [DF] Add test for Define+nested parallelism 12 November 2018, 09:33:18 UTC
6207828 [IMT] Improve TThreadExecutor code and document better the work isolation providing a data frame and a HEP framework example. 12 November 2018, 09:33:18 UTC
8891487 [IMT] Isolate work steered by ThreadedExecutor in a task arena We enclose the parallel_for and parallel_reduce invocation in a task_arena::isolate because we want to prevent work stealing. 12 November 2018, 09:33:18 UTC
551d1fd [IMT] Refactor implementations of TThreadExecutor::ParallelReduce methods re-expressing those in terms of a single internal template helper, therewith avoiding duplication of code. 12 November 2018, 09:33:18 UTC
516f915 [BuildSystem] Require at least TBB2018, set builtin to TBB2019 12 November 2018, 09:33:18 UTC
7dab4f5 Collapse if statements 06 November 2018, 23:59:39 UTC
4b22481 Fix ROOT-9762 (TBranchElement offset calculation) When a rule is associated to the top level node of split collection, we must not add the branch offset, since the rule is about the content of the collection 06 November 2018, 23:59:39 UTC
14862b5 Fix offset calculation (error in db24ec75844). This addresses part of ROOT-9762 06 November 2018, 23:59:39 UTC
dd56ad5 In TBranchElement::Print use the correct StreamerInfo in case of schema evolution 06 November 2018, 23:59:39 UTC
4f1e05c Properly record kMissing in branch's action sequence. I.e. insure we do not add or substract from the special offset value kMissing (which result in 'valid' offset in the 10,000 range leading to memory over-write or out-of-bounds reads) 06 November 2018, 23:59:39 UTC
0dfba5e Update ROOT version files to v6.14/07. 05 November 2018, 09:33:40 UTC
3e89706 Update ROOT version files to v6.14/06. 05 November 2018, 09:30:03 UTC
3d5a528 [RelNotes] Prepare 6.14/06. 05 November 2018, 09:28:49 UTC
05c5818 [cmake] disable Mac GL deprecation warning, really. Ouch. (cherry picked from commit 950c150ee1d66d79dfb5f1744248d281e89f675e) 02 November 2018, 07:11:59 UTC
3888fda [DF] Fix RDataSource doxy 01 November 2018, 10:20:43 UTC
bd4519b v6 14 Fix runtime_modules compilation failure VecOps was renamed to ROOTVecOps at some point. 01 November 2018, 09:10:32 UTC
1618933 [cmake] Silence macOS10.14 GL deprecation warnings. (cherry picked from commit 11330fd1a14675a8cc06d7c441d4ecb8906613ca) 01 November 2018, 08:43:14 UTC
2347be9 [krb] Remove "register" warning. (cherry picked from commit a2eb6ac40fb8d499ef290cdbe329126234f65c50) 01 November 2018, 08:43:14 UTC
9992e1b [TreeReader] Add test for multiple readers attached to a leaf 31 October 2018, 14:56:56 UTC
528ee53 [TreeReader] Always set dictionary if available in CreateProxy ...and always set leaf information too, if needed. This fixes ROOT-9743. 31 October 2018, 14:56:56 UTC
ddd8b76 Resolve memory over-write due to execution of a I/O rule on wrong object. This prevent the inappropriate execution on a rule intent for an inner object on the outer object('s memory space) In a case where the top level branch is: 1 edm::Wrapper<std::vector<pat::CompositeCandidate, std::allocator<pat::CompositeCandidate> > > which contains 2 16, obj, vector<pat::CompositeCandidate> simple base pat::PATObject<reco::CompositeCandidate> 3 360, overlapItems_, vector<edm::PtrVector<reco::Candidate> > simple base edm::PtrVectorBase 4 48, cachedItems_, atomic<vector<const void*>*> ***TRANSIENT-WITH-RULE** The TStreamerInfo Action Sequence for (4) was being executed the obj branch/level The bug was that GatherArtificialElements would drill through (3) eventhough it was not split and it did so because it did not recognize there was a branch for it because it added (errorneously) the name of the base class in the branch prefix. 26 October 2018, 11:43:58 UTC
57c53fb Avoid setting fCollProxy multiple times. GetCollectionProxy during the setting of fCollProxy calls TBranchElement::GetInfoImp that in some cases sets fCollProxy and ends up recording it (sometimes) in the action sequence. When GetCollectionProxy sets it too (i.e. change it) there is now a disconnect between the branch and the action sequences that lead to the action sequence to used an unset collection proxy: Fatal in <TGenCollectionProxy>: Size> Logic error - no proxy object set. aborting 24 October 2018, 16:39:24 UTC
3cc5375 Propagating LibXml2's location to the Davix build. In order to make sure that Davix picks up the same LibXml2 library for its build that ROOT was configured to build against, added some additional configuration arguments to the DAVIX target. 24 October 2018, 07:07:00 UTC
06793aa [ROOT-5236] Memory leaks in HistFactory (#2810) Fix ROOT-5236 Memory leaks in HistFactory. (cherry picked from commit 09f108247d67739b9a57a26f827c30ba696f6f9b) 18 October 2018, 12:29:15 UTC
95d8156 [DictGen] Fix ROOT-9331: rootcling returns 1 if linkdef parsing caused errors this is achieved with an upgrade of the LinkdefReader::Parse merthod which now returns false if the diagnostic consumer saw at least one error during the lexing phase. 17 October 2018, 12:37:12 UTC
786d2ec [TTreeProcMT] add missing file 16 October 2018, 08:37:26 UTC
e4aadb7 [TTreProcessorMT][ROOT-9563] Manual backport of tests and fix the commits are: - 165d27 [TTreeProcessorMT][ROOT-9563] Support trees in subdirectories - 5823f2 [TTreeProcessorMT] Test trees and chains in subdirs - aee4e2 [TTreeProcessorMT] Test for input chains associated to no file This manual cherry-pick is due to the fact that between 6.14 and today a heavy refactoring of the TTreeProcessorMT class took place. As a result, regular cherry-picks do not work properly. 15 October 2018, 14:03:01 UTC
58101a3 TTreeCache::FillBuffer dont return early if read entry not set. 15 October 2018, 11:44:31 UTC
accd80d [TreePlayer] Fix `TTreeReaderArray::GetSize` This is a second part of the fix for ROOT-9570. 12 October 2018, 06:31:18 UTC
dc12794 [TreePlayer] Also check for correct size of array in test 12 October 2018, 06:31:11 UTC
554f301 [TreePlayer][NFC] Remove unused template parameter from test function 12 October 2018, 06:31:03 UTC
941e067 [TTreeReader][NFC] Make clang-format happy 12 October 2018, 06:30:02 UTC
042050f [TTreeReader] Add test for reading vector<bool> and arrays of bool with TTreeReaderArray 12 October 2018, 06:29:52 UTC
d57d717 [TTreeReader] Fix ROOT-9570: now vector<bool> branches are readable TTreeReaderArray now we keep alive the memory the pointer points to upon calling At. 12 October 2018, 06:29:37 UTC
dbbea41 TTreeCache::FillBuffer return when entry is out of range. This avoids errors like: Error in <TTreeCache::FillBuffer>: Inconsistency: fCurrentClusterStart=0 fEntryCurrent=53 fNextClusterStart=100 but fEntryCurrent should not be in between the two when the entry requested is above the max (here 100) but below the next cluster boundary (here 106). 12 October 2018, 01:59:38 UTC
ab9c62a TTreeCache::LearnPrefill push/popd new var introduced by ba9559bcd9. This fixed the problem described in http://root-forum.cern.ch/t/ttreecache-fillbuffer-error-with-root-6-14-04/30914/1 12 October 2018, 01:59:38 UTC
eae194c Avoid inadvertently using TTreeCache for another TTree 12 October 2018, 01:59:38 UTC
5c4561b TTreeCache::FillBuffer add branch name to Info msg 12 October 2018, 01:59:38 UTC
13019ef TTreeCache::FillBuffer correct Info msg typo 12 October 2018, 01:59:38 UTC
b2204cc Fix cling::Interpreter::compileFunction getting confused by trailing transactions. This fixes https://sft.its.cern.ch/jira/browse/ROOT-9672 by having cling::Interpreter::DeclareCFunction return the transaction containing the compiled code. With the previous code, cling::Interpreter::compileFunction will get confused by transaction created during the callbacks executed during the cling::IncrementalParser::commitTransaction of the main transaction. Reproducer: With a main composed of 'only': int main(int argc, char ** argv) { char const * class_string = (argc == 2) ? argv[1] : "std::vector<int>"; auto const result [[gnu::unused]] = TClass::GetClass(class_string); return 0; } which is a representation of real use case (in a more complex setup) in ART. We were getting: Error in <TClingCallFunc::make_wrapper>: Failed to compile ==== SOURCE BEGIN ==== #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wformat-security" __attribute__((used)) extern "C" void __cf_0(void* obj, int nargs, void** args, void* ret) { if (ret) { (*(TStreamerInfo**)ret) = new TStreamerInfo(); return; } else { new TStreamerInfo(); return; } } #pragma clang diagnostic pop ==== SOURCE END ==== Error in <TClingCallFunc::ExecT>: Called with no wrapper, not implemented! Error in <TVirtualStreamerInfo::Factory>: The plugin handler for TVirtualStreamerInfo was found but failed to create the factory object! The reason is that during TClingCallFunc::make_wrapper, the call to cling::Interpreter::compileFunction ends with: if (const llvm::GlobalValue* GV = getLastTransaction()->getModule()->getNamedValue(name)) However in the 'broken' case, the getLastTransaction does not return the transaction for the code being compiled by DeclareCFunction but instead the one used/created at: #0 cling::IncrementalParser::endTransaction (this=0x4a2980, T=0x8c0fb0) at /local2/pcanal/cint_working/rootcling/v6-14-00-patches/interpreter/cling/lib/Interpreter/IncrementalParser.cpp:345 #1 0x00007fffeebc7899 in cling::Interpreter::PushTransactionRAII::pop (this=0x7fffffffcb00) at /local2/pcanal/cint_working/rootcling/v6-14-00-patches/interpreter/cling/lib/Interpreter/Interpreter.cpp:111 #2 0x00007fffeebc785e in cling::Interpreter::PushTransactionRAII::~PushTransactionRAII (this=0x7fffffffcb00, __in_chrg=<optimized out>) at /local2/pcanal/cint_working/rootcling/v6-14-00-patches/interpreter/cling/lib/Interpreter/Interpreter.cpp:106 #3 0x00007fffeebeb659 in cling::LookupHelper::findScope (this=0x4a9dd0, className=..., diagOnOff=cling::LookupHelper::NoDiagnostics, resultType=0x7fffffffcd08, instantiateTemplate=false) at /local2/pcanal/cint_working/rootcling/v6-14-00-patches/interpreter/cling/lib/Interpreter/LookupHelper.cpp:466 #4 0x00007fffeeabe0df in TCling::CheckClassInfo (this=0x4a0550, name=<optimized out>, autoload=<optimized out>, isClassOrNamespaceOnly=<optimized out>) at /local2/pcanal/cint_working/rootcling/v6-14-00-patches/core/metacling/src/TCling.cxx:3630 #5 0x00007ffff7c3040d in TClass::Init (this=this@entry=0xdafd20, name=name@entry=0x7ffff7cb7638 "TGlobal", cversion=cversion@entry=2, typeinfo=typeinfo@entry=0x7ffff7d8b6d8 <typeinfo for TGlobal>, isa=isa@entry=0x477430, dfil=dfil@entry=0x7ffff7cb8cab "TGlobal.h", ifil=<optimized out>, dl=<optimized out>, il=<optimized out>, givenInfo=<optimized out>, silent=<optimized out>) at /local2/pcanal/cint_working/rootcling/v6-14-00-patches/core/meta/src/TClass.cxx:1431 #6 0x00007ffff7c3a1b8 in TClass::TClass (this=0xdafd20, name=0x7ffff7cb7638 "TGlobal", cversion=<optimized out>, info=..., isa=0x477430, dfil=0x7ffff7cb8cab "TGlobal.h", ifil=0x7ffff7cccf88 "/local2/pcanal/cint_working/rootcling/v6-14-00-patches/core/meta/src/TGlobal.cxx", dl=27, il=25, silent=false) at /local2/pcanal/cint_working/rootcling/v6-14-00-patches/core/meta/src/TClass.cxx:1273 #7 0x00007ffff7c3a72a in ROOT::CreateClass (cname=0x7ffff7cb7638 "TGlobal", id=id@entry=2, info=..., isa=isa@entry=0x477430, dfil=dfil@entry=0x7ffff7cb8cab "TGlobal.h", ifil=ifil@entry=0x7ffff7cccf88 "/local2/pcanal/cint_working/rootcling/v6-14-00-patches/core/meta/src/TGlobal.cxx", dl=27, il=25) at /local2/pcanal/cint_working/rootcling/v6-14-00-patches/core/meta/src/TClass.cxx:5607 #8 0x00007ffff7c4b552 in ROOT::Internal::TDefaultInitBehavior::CreateClass (il=25, dl=27, ifil=0x7ffff7cccf88 "/local2/pcanal/cint_working/rootcling/v6-14-00-patches/core/meta/src/TGlobal.cxx", dfil=0x7ffff7cb8cab "TGlobal.h", isa=0x477430, info=..., id=2, cname=<optimized out>, this=0x7ffff7da7508 <ROOT::Internal::DefineBehavior(void*, void*)::theDefault>) at /home/pcanal/root_builds/v6-14-00-patches/opt/include/Rtypes.h:176 #9 ROOT::TGenericClassInfo::GetClass (this=0x7ffff7dab660 <ROOT::GenerateInitInstanceLocal(TGlobal const*)::instance>) at /local2/pcanal/cint_working/rootcling/v6-14-00-patches/core/meta/src/TGenericClassInfo.cxx:250 #10 0x00007ffff7b1a2d8 in TGlobal::Class () at /home/pcanal/root_builds/v6-14-00-patches/opt/core/base/G__Core.cxx:17156 #11 0x00007ffff7ac01de in TGlobal::IsA (this=0xee3bc0) at /home/pcanal/root_builds/v6-14-00-patches/opt/include/TGlobal.h:48 #12 TGlobal::CheckTObjectHashConsistency (this=0xee3bc0) at /home/pcanal/root_builds/v6-14-00-patches/opt/include/TGlobal.h:48 #13 0x00007ffff7be9dcd in TObject::CheckedHash (this=0xee3bc0) at /home/pcanal/root_builds/v6-14-00-patches/opt/include/TObject.h:314 #14 THashTable::GetCheckedHashValue (this=0xe65a20, obj=0xee3bc0) at /home/pcanal/root_builds/v6-14-00-patches/opt/include/THashTable.h:94 #15 THashTable::Add (this=0xe65a20, obj=0xee3bc0) at /local2/pcanal/cint_working/rootcling/v6-14-00-patches/core/cont/src/THashTable.cxx:96 #16 0x00007ffff7be6bf1 in THashList::AddLast (this=this@entry=0x5be690, obj=obj@entry=0xee3bc0) at /local2/pcanal/cint_working/rootcling/v6-14-00-patches/core/cont/src/THashList.cxx:100 #17 0x00007ffff7c4e0d1 in TListOfDataMembers::AddLast (this=0x5be690, obj=0xee3bc0) at /local2/pcanal/cint_working/rootcling/v6-14-00-patches/core/meta/src/TListOfDataMembers.cxx:103 #18 0x00007ffff7ab8785 in TList::Add (obj=0xee3bc0, this=0x5be690) at /home/pcanal/root_builds/v6-14-00-patches/opt/include/TList.h:87 #19 TROOT::GetListOfGlobals (this=0x7ffff7da7a60 <ROOT::Internal::GetROOT1()::alloc>, load=load@entry=false) at /local2/pcanal/cint_working/rootcling/v6-14-00-patches/core/base/src/TROOT.cxx:1767 #20 0x00007fffeeab1058 in TCling::HandleNewDecl (this=0x4a0550, DV=0xedf238, isDeserialized=isDeserialized@entry=true, modifiedTClasses=...) at /local2/pcanal/cint_working/rootcling/v6-14-00-patches/core/metacling/src/TCling.cxx:555 #21 0x00007fffeeabb785 in TCling::UpdateListsOnCommitted (this=0x4a0550, T=...) at /local2/pcanal/cint_working/rootcling/v6-14-00-patches/core/metacling/src/TCling.cxx:6115 #22 0x00007fffeebd0103 in cling::MultiplexInterpreterCallbacks::TransactionCommitted (this=0x57fe20, T=...) at /local2/pcanal/cint_working/rootcling/v6-14-00-patches/interpreter/cling/lib/Interpreter/MultiplexInterpreterCallbacks.h:76 #23 0x00007fffeed05d71 in cling::IncrementalParser::commitTransaction (this=0x4a2980, PRT=..., ClearDiagClient=true) at /local2/pcanal/cint_working/rootcling/v6-14-00-patches/interpreter/cling/lib/Interpreter/IncrementalParser.cpp:532 #24 0x00007fffeed06399 in cling::IncrementalParser::Compile (this=0x4a2980, input=..., Opts=...) at /local2/pcanal/cint_working/rootcling/v6-14-00-patches/interpreter/cling/lib/Interpreter/IncrementalParser.cpp:663 #25 0x00007fffeebcbc4e in cling::Interpreter::DeclareInternal (this=0x4a0f30, input=..., CO=..., T=0x7fffffffd680) at /local2/pcanal/cint_working/rootcling/v6-14-00-patches/interpreter/cling/lib/Interpreter/Interpreter.cpp:1195 #26 0x00007fffeebca8e8 in cling::Interpreter::declare (this=0x4a0f30, input=..., T=0x7fffffffd680) at /local2/pcanal/cint_working/rootcling/v6-14-00-patches/interpreter/cling/lib/Interpreter/Interpreter.cpp:823 #27 0x00007fffeebcb560 in cling::Interpreter::DeclareCFunction (this=0x4a0f30, name=..., code=..., withAccessControl=true) at /local2/pcanal/cint_working/rootcling/v6-14-00-patches/interpreter/cling/lib/Interpreter/Interpreter.cpp:1096 #28 0x00007fffeebcb862 in cling::Interpreter::compileFunction (this=0x4a0f30, name=..., code=..., ifUnique=false, withAccessControl=true) at /local2/pcanal/cint_working/rootcling/v6-14-00-patches/interpreter/cling/lib/Interpreter/Interpreter.cpp:1140 #29 0x00007fffeeafb83c in TClingCallFunc::compile_wrapper (withAccessControl=true, wrapper=..., wrapper_name=..., this=0xcf3c10) at /local2/pcanal/cint_working/rootcling/v6-14-00-patches/core/metacling/src/TClingCallFunc.cxx:270 #30 TClingCallFunc::make_wrapper (this=this@entry=0xcf3c10) at /local2/pcanal/cint_working/rootcling/v6-14-00-patches/core/metacling/src/TClingCallFunc.cxx:1096 #31 0x00007fffeeafbcb8 in TClingCallFunc::IFacePtr (this=this@entry=0xcf3c10) at /local2/pcanal/cint_working/rootcling/v6-14-00-patches/core/metacling/src/TClingCallFunc.cxx:2233 #32 0x00007fffeeafbe83 in TClingCallFunc::ExecT<long> (address=0x0, this=0xcf3c10) at /local2/pcanal/cint_working/rootcling/v6-14-00-patches/core/metacling/src/TClingCallFunc.cxx:2045 #33 TClingCallFunc::ExecInt (this=0xcf3c10, address=0x0) at /local2/pcanal/cint_working/rootcling/v6-14-00-patches/core/metacling/src/TClingCallFunc.cxx:2065 #34 0x00007ffff7c56e8d in TMethodCall::Execute (this=0xd97710, object=<optimized out>, retLong=@0x7fffffffd958: 0) at /local2/pcanal/cint_working/rootcling/v6-14-00-patches/core/meta/src/TMethodCall.cxx:457 #35 0x0000000000401009 in TMethodCall::Execute(long&) () #36 0x00000000004010ea in long TPluginHandler::ExecPluginImpl<>() () #37 0x000000000040106d in long TPluginHandler::ExecPlugin<>(int) () #38 0x0000000000400e21 in mytest() () #39 0x0000000000400e92 in main () 11 October 2018, 22:21:17 UTC
3023187 Add TGlobal to the list of known hash-consistent class. This reduces the number of transaction compilation done in early initialization stages. 11 October 2018, 22:21:17 UTC
2be140a [RelNotes] Mention MacOS 10.14. 08 October 2018, 16:15:51 UTC
348d350 [ACLiC] The source string is not null terminated! (cherry picked from commit b0bb7bdaaf40b5696d3641392fc2f47979d34b8f) 08 October 2018, 16:13:48 UTC
1ad5440 [ACLiC] Handle -isysroot. (cherry picked from commit c75c736f30d6b90a3eec004dd43fe4cd328ff125) 08 October 2018, 16:13:48 UTC
45b817f [ACLiC] Add " " between incl path elements even if not found. (cherry picked from commit b9f9e5c96097da3077a1ec3c57b3f5f4a785e14c) 08 October 2018, 16:13:48 UTC
2e25082 [rootcling] Forward "-isysroot DIR" arguments to cling. (cherry picked from commit 31210be1907d07b0f9a1fd9fb9c0643f3f210711) 08 October 2018, 16:13:48 UTC
0c5e54d [cmake] Inject CMAKE_OSX_SYSROOT into sub-CMake of googletest. (cherry picked from commit 48aca85417755795bc650cec6ba4009f71d0531d) 08 October 2018, 16:13:48 UTC
579f0b4 [cmake] Inject -isysroot ${CMAKE_OSX_SYSROOT} to unuran. (cherry picked from commit 7a09a233e98057ef095a0913a22068ab1e42eaa3) 08 October 2018, 16:13:48 UTC
cf2898b [cling] Force the OSX SDK to be the one at build time: Fixes builds with command line tools and macos 10.14. (cherry picked from commit 17c189045764b4444683b01524430f614eeff49a) 08 October 2018, 16:13:48 UTC
fd69b20 [cmake] Pass CMAKE_OSX_SYSROOT to LZMA, AfterImage, pcre. (cherry picked from commit 53715380b52843eb17a261e0ba90b75bbb0c7b86) 08 October 2018, 16:13:48 UTC
7c49799 [cmake] Specify CMAKE_OSX_SYSROOT to freetype: Because parts of freetype do not obey CFLAGS (apinames), we need to instead pass it through CC. (cherry picked from commit be35fd8f81f6e6451349f4f7f324dbe382ebb03a) 08 October 2018, 16:13:48 UTC
1100087 [cmake] Inject -isysroot ${CMAKE_OSX_SYSROOT}. (cherry picked from commit d5e40bdd5be6f864305ed0d31c4f270b196b0c03) 08 October 2018, 16:13:48 UTC
82bc7ae [TreePlayer] Remove leftover debug output 08 October 2018, 13:34:44 UTC
bd7aa1e Fix inconsistent behavior in TClusterIterator when there are clusters but fAutoFlush is still negative. With a file has several cluster range but has fAutoFlush set to a negative value: eg. t->Print("clusters"); ****************************************************************************** *Tree :t : t * *Entries : 1000 : Total = 424803 bytes File Size = 33982 * * : : Tree compression factor = 12.78 * ****************************************************************************** Cluster Range # Entry Start Last Entry Size 0 0 49 10 …. 18 900 949 10 19 950 999 -2000000 TClusterIterator was not estimate correctly the cluster size of the last range. This resulted in some circumstances to message like: Error in <TTreeCache::FillBuffer>: Inconsistency: fCurrentClusterStart=900 fEntryCurrent=950 fNextClusterStart=956 but fCurrentEntry should not be in between the two Error in <TTreeCache::FillBuffer>: Inconsistency: fCurrentClusterStart=950 fEntryCurrent=950 fNextClusterStart=953 but fCurrentEntry should not be in between the two Error in <TTreeCache::FillBuffer>: Inconsistency: fCurrentClusterStart=950 fEntryCurrent=950 fNextClusterStart=953 but fCurrentEntry should not be in between the two Error in <TTreeCache::FillBuffer>: Inconsistency: fCurrentClusterStart=950 fEntryCurrent=950 fNextClusterStart=953 but fCurrentEntry should not be in between the two A work-around is to increase the TTreeCacheSize to be large enough that it would contains all the entries of the last range. See https://root-forum.cern.ch/t/ttreecache-fillbuffer-error-with-root-6-14-04/30914 the same problem was also reported by CMS. 04 October 2018, 13:47:12 UTC
37800ea [VecOps] Rely on collection value printing for RVec, dropping the custom one 04 October 2018, 10:06:02 UTC
d2a7ae6 Fix R__LOAD_LIBRARY(LIBRARY) on Windows 04 October 2018, 08:39:08 UTC
4cdb9ef [DF][NFC] Add more comments to histo/profile models code and tests 04 October 2018, 07:38:34 UTC
a38acee [DF][NFC] Make clang-format happy 04 October 2018, 07:38:24 UTC
52b7eb0 [DF] Test ROOT-9692: 2d profiles with custom binning 04 October 2018, 07:38:07 UTC
e2dc26f [DF] Test custom axes of mono dimensional profile models 04 October 2018, 07:37:57 UTC
3b902ee [DF] ROOT-9692 properly handle custom binning of 2d profiles 04 October 2018, 07:05:57 UTC
2896eb4 [DF] Properly treat custom x axes in TProfileModel 04 October 2018, 07:01:08 UTC
1a197b4 [VecOps] Fix ROOT-9669: value printing of RVec<T> where T does not have an operator<< this has been resolved relying on value printing itself for the individual items. 04 October 2018, 06:57:02 UTC
7fff696 [TreePlayer] Fix warning 04 October 2018, 06:56:29 UTC
3f2b84b [TreeReader] Add unit test for ROOT-9312 04 October 2018, 06:56:23 UTC
62a7f18 [TTreeReader] Fix ROOT-9312: cannot reach leaf under certain circumstances If a TTree contained 1. branch "v" with a leaf "a", created with t.Branch("v", &a, "a/I") 2. a branch "w" containing a split struct that has a datamember "v" with a datamember "a" constructing TTreeReaderValue<int>(r, "v.a") attached the reader to "w.v.a" instead of "v.a". In this scenario there wad no way to access "v.a", because constructing TTreeReaderValue<int>(r, "v") attached to "w.v" (and anyway, if it attached to the top level branch "v", it would have yielded the following error message: Error in <TTreeReaderValueBase::GetBranchDataType()>: The branch v was created using a leaf list and cannot be represented as a C++ type. Please access one of its siblings using a TTreeReaderArray: Error in <TTreeReaderValueBase::GetBranchDataType()>: v.a This behaviour was due to the fact that TTree::GetBranch identified branch 2 and this had priority wrt the search of branch elements the names of which contained a "dot". This change reverts the priority order. 04 October 2018, 06:56:17 UTC
b8e8aca [Doc] Clarify doc of TTree::Branch 04 October 2018, 06:56:10 UTC
a16743e Fix ROOT-9701, IO read rules seemingly no longer executed. The rule were actually still executed on the proper object and in the right order. However when we had - a top level object with a rule for one of its transient member - that top level object also having a data member that is an STL collection. then the fOnfileObject (type TVirtualArray) was inadvertently resized by the top node of the STL object (i.e 'type 4' branch) to the size of the collection. Before the improvement to the rule scheduling the ordering of operations was: 1 - a - resize the top level object's fOnfileObject to 1 2 - b - read the input for the transient member into the fOnfileObject 3 - c - execute the rule using the input/fOnfileObject and updating the transient member 4 - d - resize the top level object's fOnfileObject to size of sub-collection The last stage provoke a reallocation of the element of fOnfileObject (thus losing the input but only 'after' it has been used. With the new rule scheduling the order becomes 1 - a - resize the top level object's fOnfileObject to 1 2 - b - read the input for the transient member into the fOnfileObject 3 - d - resize the top level object's fOnfileObject to size of sub-collection 4 - c - execute the rule using the input/fOnfileObject and updating the transient member and now the consequence of the inadvertent resize becomes visible. i.e. for each entry where the sub-collection 'grows' the transient member value will be invalid. [Note: in the example provided with ROOT-9701 the sub-collection 'grows' by one at each entry] 03 October 2018, 22:33:06 UTC
4cfdbbe Don't use VirtualQuery to check if the memory is valid Calling VirtualQuery() is very expansive. For example, the testUnfold5a.C tutorial (interpreted) times out after 3600 seconds, and runs in about 60 seconds without calling VirtualQuery(). So just bypass it and return true for the time being 03 October 2018, 15:36:54 UTC
7fb80b3 From Sergey: Try to fix compilation error 03 October 2018, 13:51:32 UTC
5e00e00 mysql: special handling of MariaDB when redefining my_bool (cherry picked from commit 8ef9878add1ad950aca81c53bb83910c8058dc3f) 02 October 2018, 11:48:34 UTC
742a4a1 mysql: while my_bool used in statement, provide typedef for v8 (cherry picked from commit fd2bf356491f4b10dd151f6d2a44c9ae4bcc44f6) 02 October 2018, 11:48:28 UTC
6dc0779 mysql: use bool instead of my_bool type Fixes https://sft.its.cern.ch/jira/projects/ROOT/issues/ROOT-9624 Description: https://bugs.mysql.com/bug.php?id=85131 (cherry picked from commit a7f05afce40b6ab1d8a50f831f292dbaba754b02) 02 October 2018, 11:48:22 UTC
260d80a Update release notes 01 October 2018, 19:26:10 UTC
d147a89 Fix ROOT-9694, GetStreamerInfoList infinite recursion. Commit b6523df224 introduces the infinite recursion whenever there was a problem reading the StreamerInfo record and introduces a useless attempt to read from file in the case of a class derived from TFile that overrid GetStreamerInfoList. To allow for increase run-time performance and increase thread scalability the override ability of TFile::GetStreamerInfoList is replaced by an override of TFile::GetStreamerInfoListImp with updated return type and arguments. If a class override TFile::GetStreamerInfoList you will now see a compilation error like: ``` /opt/build/root_builds/rootcling.cmake/include/TSQLFile.h:225:19: error: declaration of 'GetStreamerInfoList' overrides a 'final' function virtual TList *GetStreamerInfoList(); ^ /opt/build/root_builds/rootcling.cmake/include/TFile.h:231:24: note: overridden virtual function is here virtual TList *GetStreamerInfoList() final; // Note: to override behavior, please override GetStreamerInfoListImpl ^ ``` Instead you need to override the protected method: ``` InfoListRet GetStreamerInfoListImpl(bool lookupSICache); ``` which can be implemented as ``` InfoListRet DerivedClass::GetStreamerInfoListImpl(bool /*lookupSICache*/) { ROOT::Internal::RConcurrentHashColl::HashValue hash; TList *infolist = nullptr; // // Body of the former Derived::GetStreamerInfoList with the // return statement replaced with something like: // The second element indicates success or failure of the load. // (i.e. {nullptr, 0, hash} indicates the list has already been processed // {nullptr, 1, hash} indicates the list failed to be loaded return {infolist, 0, hash}; } ``` See TFile::GetStreamerInfoListImpl implementation for an example on how to implement the caching. 01 October 2018, 19:26:10 UTC
f315be1 Check read dimension only for versions > 11. Before fNdim was a transient data member. This fixes ROOT-9693 and ROOT-9703 01 October 2018, 11:27:56 UTC
c9c68ab Fix array initialization 29 September 2018, 18:42:57 UTC
859252a Fix ROOT-9662 race condition in TStreamerInfo loading. When noting that a TStreamerInfo set has already been processed, we must do it in 3 separates steps: - check it was seen before - read and process the set - record that the set as been seen. The previous situation: - check and record that the set as been seen - read and process the set led to a race condition if a second thread was checking the same set before the second step was completed (in which case the second thread was believing that the set was process and looking for the result of the process (one of the StreamerInfo) but could not find it. We extend RConcurrentHashColl to have 2 new operations - standalone Hash calculation - standalone Find of hash - standalone Insert of hash. and we use it to split the check and the recording as described previously. (this is an addendum to 95bf468438) 29 September 2018, 18:42:57 UTC
back to top