conf2toConfigurable: update the conversion of conf2 semantic helpers to be recursive
Fix an issue uncovered by !57465 (merged) and currently blocking that MR.
The ComponentAccumulator LegacySupport functions converting GaudiConfig2 components to old Configurables already take care of converting property value of type GaudiConfig2.semantics._ListHelper
to python built-in list
and GaudiConfig2.semantics._DictHelper
to dict
.
However, the CondInputLoader.Load
property uses the OrderedSet<std::vector<std::string> >
semantics which translate to a python list
of list
s in old config and to _ListHelper
holding a list of other _ListHelper
instances in conf2. This nested helper structure causes a crash seen in the pipeline !57465 (comment 6086303) because the current conversion only translates it to list
of _ListHelper
s rather than list
of list
s.
To fix this, ensure the convesion from conf2 "Helpers" is recursive.
Tagging CA config experts @tbold, @tadej, @wlampl. It's a mystery to me how we haven't run into this until now.