Skip to content

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.

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. 😕 I have to admit, this didn't strengthen my trust in ROOT's memory management.

Merge request reports