ROOT 6.16/00 Fixes, 21.2 branch (2019.05.15.)
This is to fix the two unit tests that started failing when the update to LCG_95 / ROOT 6.16/00 (!22727 (merged)) was merged in.
- http://atlas-computing.web.cern.ch/atlas-computing/links/distDirectory/gitwww/21_2WebArea/nicos_web_area212_AnalysisBase_x86_64slc6gcc62opt64BS6G62AthenaOpt/NICOS_TestLog_2019-05-15T0332/Control_xAODRootAccess___xAODRootAccessConf__xAODRootAccessTest__m.html
- http://atlas-computing.web.cern.ch/atlas-computing/links/distDirectory/gitwww/21_2WebArea/nicos_web_area212_AnalysisBase_x86_64slc6gcc62opt64BS6G62AthenaOpt/NICOS_TestLog_2019-05-15T0332/Event_xAOD_xAODTriggerCnv___xAODTriggerCnvConf__xAODTriggerCnvTest__m.html
After some quick discussions in ROOT-10119 with @axel, I came to the realisation that ROOT apparently changed how it handled some of its objects "internally". In these tests objects with the same "name" ("CollectionTree" and "MetaData") are created at the same time, though they should live in different directories/files. Still, it seems that a TChain
called "CollectionTree" can interfere with a TTree
called "CollectionTree" that is opened from the same file that the TChain
is operating on.
In both of these cases I now stopped this from happening. Making sure that the TChain
objects would be fully destructed before the same TTree
that they were handling behind the scenes, would get opened directly through a TFile
. My educated guess is that ROOT 6.16/00 actually introduced some error into its object handling that these tests are triggering. Will be following up with the ROOT developers on ROOT-10119 about that.
Though that doesn't explain why I had to move the construction of xAOD::TEvent
before the construction of TChain
in the trigger test. I did have to do that, otherwise I got a crash pointing at the line constructing the xAOD::TEvent
object, but then calling the TTree
destructor.