PyConf generated configuration not reproducible due to B2OC line algorithm name assignments
When running
./build.x86_64_v3-centos7-gcc11-opt+g/run gaudirun.py -n -o /tmp/new3.opts ./Hlt/Hlt2Conf/tests/qmtest/sprucing.qms/test_spruce_all_lines_realtime.qmt
several times, each time to separate .opts files, the generated .opts files vary from run to run. For example:
89c89
< B2OCB2CHHHMerger#15.InputContainers = ["/Event/B2OCB2DHHHCombiner#26/OutputParticles"];
---
> B2OCB2CHHHMerger#15.InputContainers = ["/Event/B2OCB2DHHHCombiner#26/OutputParticles", "/Event/B2OCB2DHHHCombiner#27/OutputParticles"];
91c91
< B2OCB2CHHHMerger#16.InputContainers = ["/Event/B2OCB2DHHHCombiner#27/OutputParticles", "/Event/B2OCB2DHHHCombiner#28/OutputParticles"];
---
> B2OCB2CHHHMerger#16.InputContainers = ["/Event/B2OCB2DHHHCombiner#28/OutputParticles"];
1168c1168
< B2OCB2DHHCombiner#62.Input3 = "/Event/B2OCD02KSHHCombiner#2/OutputContainer";
---
> B2OCB2DHHCombiner#62.Input3 = "/Event/B2OCD02HHHHCombiner#1/OutputContainer";
1184c1184
< B2OCB2DHHCombiner#63.Input3 = "/Event/B2OCD02HHCombiner#1/OutputContainer";
---
> B2OCB2DHHCombiner#63.Input3 = "/Event/B2OCD02HHHHCombiner#1/OutputContainer";
1195c1195
< B2OCB2DHHCombiner#64.DecayDescriptor = "B0 -> K+ K- D0";
---
> B2OCB2DHHCombiner#64.DecayDescriptor = "B0 -> pi+ pi- D0";
1198,1199c1198,1199
< B2OCB2DHHCombiner#64.Input1 = "/Event/ParticleRangeFilter#15/Output";
< B2OCB2DHHCombiner#64.Input2 = "/Event/ParticleRangeFilter#15/Output";
---
> B2OCB2DHHCombiner#64.Input1 = "/Event/ParticleRangeFilter#13/Output";
> B2OCB2DHHCombiner#64.Input2 = "/Event/ParticleRangeFilter#13/Output";
1216c1216
< B2OCB2DHHCombiner#65.Input3 = "/Event/B2OCD02HHHHCombiner#1/OutputContainer";
---
> B2OCB2DHHCombiner#65.Input3 = "/Event/B2OCD02KSHHCombiner#2/OutputContainer";
1232c1232
< B2OCB2DHHCombiner#66.Input3 = "/Event/B2OCD02HHHHCombiner#1/OutputContainer";
---
> B2OCB2DHHCombiner#66.Input3 = "/Event/B2OCD02HHCombiner#1/OutputContainer";
1243c1243
< B2OCB2DHHCombiner#67.DecayDescriptor = "B0 -> pi+ pi- D0";
---
> B2OCB2DHHCombiner#67.DecayDescriptor = "B0 -> K+ K- D0";
1246,1247c1246,1247
< B2OCB2DHHCombiner#67.Input1 = "/Event/ParticleRangeFilter#13/Output";
< B2OCB2DHHCombiner#67.Input2 = "/Event/ParticleRangeFilter#13/Output";
---
> B2OCB2DHHCombiner#67.Input1 = "/Event/ParticleRangeFilter#15/Output";
> B2OCB2DHHCombiner#67.Input2 = "/Event/ParticleRangeFilter#15/Output";
1630c1630
< B2OCB2DHHHCombiner#25.DecayDescriptor = "[B0 -> pi+ pi+ pi- D_s-]cc";
---
> B2OCB2DHHHCombiner#25.DecayDescriptor = "[B0 -> K+ pi- pi+ D_s-]cc";
1633c1633
< B2OCB2DHHHCombiner#25.Input1 = "/Event/ParticleRangeFilter#28/Output";
---
> B2OCB2DHHHCombiner#25.Input1 = "/Event/ParticleRangeFilter#47/Output";
1648c1648
< B2OCB2DHHHCombiner#26.DecayDescriptor = "[B0 -> pi+ pi+ pi- D-]cc";
---
> B2OCB2DHHHCombiner#26.DecayDescriptor = "[B0 -> K+ pi- pi+ D-]cc";
Basically, the name assignment of algorithms is (still) not stable -- suspiciously the only ones affected are all algorithms in B2OC lines... (in addition, there is subsequent differences in eg. the generated DstData encoding table, but that is a result of the above differences).
So it looks like there is something B2OC specific which causes this problem
Note that non-reproducibility like this makes it hard to debug other problems.