ROOT Version v5-30-00 Patch Release Notes

A new production version ROOT v5-30-06 has been released January 10, 2012.

The AFS version of v5-30-06 for many different platforms and compilers can be found at:

/afs/cern.ch/sw/lcg/app/releases/ROOT/5.30.06/

The complete source tree for all systems (39 MB) is available here:

ftp://root.cern/root/root_v5.30.06.source.tar.gz

Alternatively get the source from Git using:

git clone http://root.cern/git/root.git root-v5-30; cd root-v5-30; git checkout -b v5-30-06

After obtaining the source read the file README/INSTALL (broken) (in short just do: cd root; ./configure; make).

To get the source of the head of the v5-30-00-patches branch do:

git clone -b v5-30-00-patches http://root.cern/git/root.git root-v5-30

Changes in the head of the v5-30-00-patches branch

  • Cint
    • Import patch #42805 fixing the problem #83909 which leading to failure of the auto-dictionary generator when dealing with class template inside a namespace.
  • Core
    • Import patch #42757 fixing memory leak due to multiple allocations of gLibraryVersion.
    • Add missing implementation for TGenericClassInfo::GetDirectoryAutoAdd.
  • IO
    • Repaired chirp plugin.
    • Prevent negative consequences of call SetAutoFlush with a default value (44279, bug #94669).
    • In TTreeSQL prevent a spurrious duplicate column error (Fixes Savannah issues #98126.
  • TTree
    • Make sure that in the tertiary operator implementation we always load the branch that are needed (even in the case cond ? y : -y where cond is false). This fixes #90826.
  • Proof
    • Reorder pq2 libraries for Ubuntu 11.10 (r42660).
    • Import patch #42578 fixing in getProof.C some issues mostly related to PROOF-Lite.
    • Import class to analyse the performance tree (see description) (broken)
    • Adapt patch #42671 fixing a problem with TProof::Load reported in the PROOF forum, caused by the fact that the additional files were not copied in the master sandbox but left in the cache.
    • Import patch #41745 fixing TFileCollection::Merge.
    • Import patch #42904 in TProofOutputFile changing the default mode for merging histograms in TFileMerger, to reduce the memory footprint.
    • Import patch #42921 to add also to TXUnixSocket the possibility to disable reconnections via the variable TXSocket.Reconnect (0 disable reconnections; default is 1) .
    • Import patch #43245 fixing an issue with forcing local copies of files before merging (bit not always honored).
    • Import patch #44048 removing the automatic creation of TDrawFeedback by TProofChain.
  • Graf3D
    • Import rev 42084 from trunk: Fix crash on exit when stamped element map is not empty.
  • PyROOT
    • Patch for #91505: allow null-characters in strings passed through the binding.

Changes in version v5-30-06 (January 10, 2012)

  • TTree
    • Resolve #89645 which could lead to segmentation fault when writing a sparse branch (in a large TTree) with a very long branch name.
  • Proof
    • Adapt patches #42142 and #42451 to stressProof adding a return code consistent with standard test facilities and the option '-noprogress' to switch off the progress information which may create problems in wrapper applications intercepting the output (e.g. ctest)
  • Geometry
    • Port patch #40117 that fixes an issue with usage of reflection matrices in assemblies and affected the GEANT4 interface.

Changes in version v5-30-05 (November 24, 2011)

  • Proof
    • Import patches #41958 and #41999 to improve checks, definition and cleaning of the working dir in tutorials/proof/getProof.C
  • Build System
    • Enable configuration of internal CINT array sizes (r42194 r42211, #88752).

Changes in version v5-30-04 (November 8, 2011)

  • TTree
    • Fix hadd when merger TFiles with more than one key for a TTree when doing a slow TTree merge. This fixes #88224
    • Fix the asynchronous prefetcher in case of TChain
  • Xrootd
    • Add support for building with external xrootd 3.1.0 or newer.
    • Backport of bug #87880.
  • Core
    • Textinput: display the prompt when calling Getline() (r41662).
  • Proof
    • Import patches #41785 and #41786 fixing an issue with packetizers preventing proper entry range processing and the file ordering in datasets.
    • Import patch #41788 fixing an issue with AddInputData when objects are TTree or derived.
    • Import patch #41801 fixing an issue in the packetizers potentially crashing PROOF-Lite at exit when using file-resident outputs.

Changes in version v5-30-03 (October 20, 2011)

  • Core
    • Textinput: fix cursor move to next line for non-Windows (r41042).
  • TTree
    • In TTree::GetLeaf (and thus indirectly in TTree::Scan, TTree::Draw), properly handle the case where the branch name has a slash in its name (but the leaf does not). This fixes #86946
    • Fix an issue leading to reading too many elements of a split collection when one the data member needs to be cached for an i/o customization rule.
  • Graf2D
    • Backport fix to be compatible with libpng 1.5.
  • Net
    • Critical bug fix "return string->GetString()" and some optimization for TGridJDL.
  • Proof

Changes in version v5-30-02 (September 22, 2011)

  • Core
    • Import patch #40820. Make sure in BuildRealData, to consider all the data member of a transient class (class version 0) as transient. This fixes the issue #86352 in Savannah.
    • Textinput: fix handling of ESC / Meta (r40778).
    • Import patch #40141 fixing support for 'proto ://' in TUrl.
  • Proof
    • Import patch #40659 fixing a possible seg violation when exiting ROOT.
    • Import patch #40660 restoring operability of the dynamic startup (broken by patch 36553).
    • Import patch #40115 with a few fixes in proofbench, including the possibility to run from any directory.
    • Import patches #40912 and #40923 adding the possibility to skip the checks for the data directories during session startup, as they may significantly slowdown the startup process is the medium is busy.
  • I/O
    • Update the customization rule parser to allow rule for unsigned int data members.
    • Fix the handling of emulated class containing variable size array of objects.
    • Update MakeProject to properly handle classes containing variable size array of objects.
    • Prevents a memory leak in the handling of associative containers stored in a TTree, fixes issue #85910
  • RooStats
    • Fix a bug in the computation the one-side Profile Likelihood test statistics (bug #86013) which was introduced in 5.30.01 when using the RooMinimizer for the computation of the test statistic. Fix also the case when no nuisance parameters are present. 
    • Fix in ModelConfig the re-definition of parameter sets.
    • Speedup computation of p-values (Integral) in SamplingDistribution by caching the empirical cdf.
    • Fix the rest of the pdf components cache in ToyMCSampler when setting a new pdf
    • Fix some minor issues in plotting SamplingDistribution's obtained from the HypoTestInverter
  • Hist
    • Fix a bug in the TEfficiency destructor (see this post on Root Forum) 
  • FitPanel
    • Fix a bug in using an already existing fit function (bug #86251
  • HIstFactory

Changes in version v5-30-01 (August 18, 2011)

  • Build System
    • Reorder lzma.h search in ./configure, fixes issue #83938.
    • CMake fixes (r40282, r40283).
    • On OSX check in ./configure if a library is compatible with the architecture.
  • Core
    • Textinput: fix handling of keyboard modifiers (r40118).
    • Import patch #40272 adding Hash(), IsSortable() and CompareTo() so that TParameter can be used in hash and/or sorted lists (e.g. gDirectory).
    • Properly support tilde (~) in TSystem::ExpandPathName() even when they are not the first character
    • Make sure we write at the end of the file in which we redirect stdout/stderr (avoid overwriting)
    • Import patch #40534 to silence spurious warnings when removing objects from TObjectTable.
    • Allow home directory to be specified via HOME shell var in case there is no correct passwd file entry, fixes issue 83268
  • CINT
    • Repair the handling of failing to load a shared library #85226.
  • I/O
    • Re-active the command line option -O and -T in hadd
    • Repair the merging of a single file in hadd (was not copying the TTree data.)
    • Add missing dictionary for ROOT::ECompressionAlgorithm
    • Fix a crash at the end of the process when a broken ROOT File (zombie) has been opened (fixes #84035.)
  • TTree
    • Import fix #40077 to prevent the use of non-existent memory when reading in an object that is part of an STL collection and which used to contains an embedded object (and this data member has been removed)(bug #83793).
    • Lift ancien restriction (imposed by VC++6) preventing the proper use of unsigned long long by TTreeFormula.
  • Proof
    • Import new version 0.9.6 of afdsmgrd (patch #40573) with improvements/fixes needed by ALICE.
    • Import patch #40017 making the query exit status available for monitoring and in the output list.
    • Import patch #40068 fixing an issue affecting GetSessionLogs in PROOF-Lite when invoked from the dialog box.
    • Import patch #40138 fixing "workers=n" in PROOF-Lite.
    • Import patch #40170 fixing an issue with directory assertion in xproofd.
    • Import patch #40186 fixing an issue preventing immediate cleaning of histograms after merging with TH1::Add (histogram were still destroyed at the end of the query). The patch adds also master memory usage in TStatus.
    • Import patches #40243 and #40247  fixing a possible segv when leaving proofbench.
    • Import patch #40359  fixing an issue showing up in PROOF-Lite when merging via files.
  • Rpdutils
    • Import patch #40120  fixing a compilation issue on OSX Lion.
  • Netx/Xrootd
    • Import patches #40435 and #40436   to fix the issues preventing proper notification of XrdClient authentication errors.
  • RooFit
    • Issue NLL error in RooRealSumPdf::expectedEvents() if return value is negative
    • Allow non-integer event counts in the extended likelihood term
    • Make automatic class import in RooWorkspace work properly with binary ROOT releases
    • In RooMinuit allocate MINUIT space for all initially constant parameters
    • in RooMinuit add option to control maximum evaluation count for each MINUIT operation
    • Streamline code in RooAbsArg to speed up import of complex pdfs in RooWorkspace
  • RooStats
    • Apply a fix in HypoTestInverter to run a single point
    • Fix the streaming of the HypoTestInverterResult which was resulting in some crashes
    • Fix a bug in merging the HypoTestInverterResult objects  
    • Switch on the flag AlwaysReuseNLL for the Likelihood test statistics
    • Fix a bug in FrequentistCalculator when computing the MLE for the nuisances when constant parameters are present.
    • Fix bug #84542 in HypoTestInverter
    • Fix a bug in interpolating limits in HypoTestInverterResult happening when the last point was higher than next-to-last.
    • Use the RooMinimizer when computing the profile likelihood test statistics  
  • HistFactory
    • Global observables associated parameters that are set constant in the XML are removed. The Global observable name associated with a HistoSys was nom_XXX and is now nom_alpha_XXX, this could lead to problems in combinations in which one channel had only a HistoSys and another channel had an OverallSys associated to the same systematic name XXX.
  • TTreeViewer
    • Remove a call to TString::InitialCapacity, who was producing warning messages of the form:
      Warning in &ltTString::InitialCapacity>: obsolete as of v5-30-00 and will be removed from v5-32-00.
  • MathCore
    • Apply fix for compiling on Fedora 16 i686 ( bug #84867)

Changes in v5-30-00 (June 28, 2011)

  • Build System
    • Changes to CMake: improve detection of external packages (r39804).
    • Use Apple clang v3 by default when available (r39805).
  • I/O
    • Add xz package, which builds liblzma as builtin, so it is always available.
    • Extend valgrind suppression file.
    • Fix memory leak in test/Event.
    • Fix memory leak in the new TFile prefetcher.
    • Add explicit fatal error message in TFileMerger and hadd when the size of the output file goes over the maximum limit (TTree::Set/GetMaxTreeSize). See Savannah #83405
  • TTree
    • Properly recognize a TClonesArray data member even if the requested type was a typedef (to TClonesArray) that is in a namespace (for example edm::Event::ContainerType).(39786)
  • Core
    • TextInput: improved treatment of read-ahead buffer (r39790)
    • TextInput: no unnecessary redraws (r39862)
    • TextInput: home / end key on debian (bug #83478, r39863)
    • TextInput: fix bug in clear-to-end-of-line visible on Windows ssh-ing to Linux (r39884)
    • TextInput: fix possible crash in paren-matching (r39910)
    • TextInput: fix infinite loop handling SIGABRT (e.g. .qqqqqqqq) (r39941)
  • Xrootd
    • Import the stable version 3.0.4
  • Proof
    • Import patch r39835 fixing open issues with honoring the request for processing a fixed number of events and the correct handling of 'ForceLocal' requests when for local files; also fixes an issue with the handling of 'Stop' in PROOF-Lite.
    • Fix coverity warnings in TProofServ and TProofNodes (patch r39878)
    • Import patch r39967 introducing the protocol "pod://" to automatically address the entry point of the available PoD installation, and protocol "lite://" for PROOF-Lite sessions (in the place of "lite"; behavior of "" unchanged).
  • TMVA
    • Fix stress test issue with ICC11 / 64bit.(39890)

Changes in v5-30-00-rc2 (June 15, 2011)

  • Build System
    • Changes to CMake: TextInput, Windows dictionaries (r39554, r39582).
  • Core
    • Fix error when linking statically on OSX.
    • On non-Windows, root.exe is now killed when root is killed (r39540).
    • TextInput: improved history management (r39537, r39539, r39570, r39711).
    • TextInput: reset the terminal to a sane state after even more signals (r39538, r39541)
    • TextInput: on Windows, get dedicated handle to CONIN$, CONOUT$ to prevent redirection from stealing it (r39543).
    • TextInput: on Windows, redraw the prompt if ROOT moved the cursor (r39604).
    • TextInput: proper event loop for full line mode (r39560).
    • TextInput: continue reading if ESC was entered, fixes ESC-f etc (r39709).
    • TextInput: handle ROOT running in background (r39591).
    • TextInput: reset input modifier for each new input, e.g. "Ctrl is pressed"; make it unsigned (r39597, r39703).
    • On Windows, don't expand urls like root://user@any.where.com:1234//~user/...(r39624).
  • I/O
    • Allow to explicit veto or force the splitting of a class to insure that its custom streamer is always used ((39694) fixing Savannah #83119
    • Reduce memory footprint of the TFilePrefetch mechanism.
    • Introduce TBuffer::AutoExpand
    • Make the memcpy in TBuffer::Expand optional. Avoid this memcpy from TBasket::Reset.
    • Improve error handling in MakeProject, (r39692) fixing Savannah #83188
  • TTree
    • Reduce the memory used by a TTree by sharing the scratch buffer used to hold the compressed data.
    • Do no assume that there is a least one '.root' in the filename passed to TChain::Add.(r39588)
    • Improve error recover in TTreeCloner in case of missing TTree or unwriteable file (39720) fixing Savannah #83140
    • Make sure the TTreeCloner properly carry forward the value of the kDoNotUseBufferMap bit in the branch (Addendum to (38801)
  • Proof
    • Import patch r39579 avoid a segmentation fault when reading file where the AutoFlush mechanism has been disabled and the TTreeCache is requested nonetheless.
    • Import patch r39580 fixing an issue with connections via a SSH tunnel.
    • Import patch r39585 fixing an issue preventing the correct handling of a 'Stop' request.
  • Graf3d
    • Generalize transition-point search in RhoZ projection, fixing a rare infinite loop in projections of TEveStraightLineSet class.
    • Add GUI for auto-saving of images in the "Extras" tab of GL-viewer GUI.
  • CINT
    • Avoid possible buffer underrun for empty (e.g. '@'-cancelled) commands (r39705).
  • THtml
    • Adapt to new (now standard) location of the headers of TMVA and the RooFit family (r39713).