Moore crash at certain input file when running tests on branch b2oc_loki2thor_abertoli. The option file and log file are attached below. The input file is root://eoslhcb.cern.ch//eos/lhcb/grid/prod/lhcb/MC/Upgrade/LDST/00075219/0000/00075219_00000368_1.ldst in this case.
Thread 8 (Thread 0x7f7b7bfff700 (LWP 1236) "python"):#0 0x00007f7bd20434b9 in waitpid () from /lib64/libc.so.6#1 0x00007f7bd1fc0f62 in do_system () from /lib64/libc.so.6#2 0x00007f7bd1fc1311 in system () from /lib64/libc.so.6#3 0x00007f7bcd30c00c in TUnixSystem::StackTrace() () from /cvmfs/lhcb.cern.ch/lib/lcg/releases/ROOT/v6.24.00-a725e/x86_64-centos7-gcc10-opt/lib/libCore.so#4 0x00007f7bcd74ecd2 in (anonymous namespace)::TExceptionHandlerImp::HandleException(int) () from /cvmfs/lhcb.cern.ch/lib/lcg/releases/ROOT/v6.24.00-a725e/x86_64-centos7-gcc10-opt/lib/libcppyy_backend3_8.so#5 0x00007f7bcd309491 in TUnixSystem::DispatchSignals(ESignals) () from /cvmfs/lhcb.cern.ch/lib/lcg/releases/ROOT/v6.24.00-a725e/x86_64-centos7-gcc10-opt/lib/libCore.so#6 <signal handler called>#7 0x00007f7b9ad91bce in auto NBodyParticleCombiner<LHCb::Particle, LHCb::Particle, LHCb::Particle>::get_indices<2ul>(Gaudi::NamedRange_<std::vector<LHCb::Particle const*, std::allocator<LHCb::Particle const*> >, __gnu_cxx::__normal_iterator<LHCb::Particle const* const*, std::vector<LHCb::Particle const*, std::allocator<LHCb::Particle const*> > > > const&, Gaudi::NamedRange_<std::vector<LHCb::Particle const*, std::allocator<LHCb::Particle const*> >, __gnu_cxx::__normal_iterator<LHCb::Particle const* const*, std::vector<LHCb::Particle const*, std::allocator<LHCb::Particle const*> > > > const&, Gaudi::NamedRange_<std::vector<LHCb::Particle const*, std::allocator<LHCb::Particle const*> >, __gnu_cxx::__normal_iterator<LHCb::Particle const* const*, std::vector<LHCb::Particle const*, std::allocator<LHCb::Particle const*> > > > const&, Decays::Decay const&) const () from /workspace/build/Phys/InstallArea/x86_64_v2-centos7-gcc10-opt/lib/libParticleCombiners.so#8 0x00007f7b9ad9a547 in std::tuple<bool, KeyedContainer<LHCb::Particle, Containers::KeyedObjectManager<Containers::hashmap> >, KeyedContainer<LHCb::Vertex, Containers::KeyedObjectManager<Containers::hashmap> > > NBodyParticleCombiner<LHCb::Particle, LHCb::Particle, LHCb::Particle>::combine<0ul, 1ul>(Gaudi::NamedRange_<std::vector<LHCb::Particle const*, std::allocator<LHCb::Particle const*> >, __gnu_cxx::__normal_iterator<LHCb::Particle const* const*, std::vector<LHCb::Particle const*, std::allocator<LHCb::Particle const*> > > > const&, Gaudi::NamedRange_<std::vector<LHCb::Particle const*, std::allocator<LHCb::Particle const*> >, __gnu_cxx::__normal_iterator<LHCb::Particle const* const*, std::vector<LHCb::Particle const*, std::allocator<LHCb::Particle const*> > > > const&, Gaudi::NamedRange_<std::vector<LHCb::Particle const*, std::allocator<LHCb::Particle const*> >, __gnu_cxx::__normal_iterator<LHCb::Particle const* const*, std::vector<LHCb::Particle const*, std::allocator<LHCb::Particle const*> > > > const&, IGeometryInfo const&, std::integer_sequence<unsigned long, 0ul, 1ul>) const () from /workspace/build/Phys/InstallArea/x86_64_v2-centos7-gcc10-opt/lib/libParticleCombiners.so#9 0x00007f7b9ad9caa5 in _ZZN5Gaudi10Functional7details22MultiTransformerFilterIFSt5tupleIJ14KeyedContainerIN4LHCb8ParticleEN10Containers18KeyedObjectManagerINS7_7hashmapEEEES4_INS5_6VertexESA_EEERKNS_11NamedRange_ISt6vectorIPKS6_SaISI_EEN9__gnu_cxx17__normal_iteratorIPKSI_SK_EEEESS_SS_RK15DetectorElementENS0_6Traits4use_IJNS5_7DetDesc21useConditionHandleForIJST_EEENSX_11BaseClass_tINSZ_23ConditionAccessorHolderI14GaudiAlgorithmEEEEEEELb1EE7executeEvENKUlDpRT_E_clIJ21DataObjectWriteHandleISB_SB_ES1E_ISD_SD_EEEEDaS1B_ () from /workspace/build/Phys/InstallArea/x86_64_v2-centos7-gcc10-opt/lib/libParticleCombiners.so#10 0x00007f7b9ad9cca8 in Gaudi::Functional::details::MultiTransformerFilter<std::tuple<KeyedContainer<LHCb::Particle, Containers::KeyedObjectManager<Containers::hashmap> >, KeyedContainer<LHCb::Vertex, Containers::KeyedObjectManager<Containers::hashmap> > > (Gaudi::NamedRange_<std::vector<LHCb::Particle const*, std::allocator<LHCb::Particle const*> >, __gnu_cxx::__normal_iterator<LHCb::Particle const* const*, std::vector<LHCb::Particle const*, std::allocator<LHCb::Particle const*> > > > const&, Gaudi::NamedRange_<std::vector<LHCb::Particle const*, std::allocator<LHCb::Particle const*> >, __gnu_cxx::__normal_iterator<LHCb::Particle const* const*, std::vector<LHCb::Particle const*, std::allocator<LHCb::Particle const*> > > > const&, Gaudi::NamedRange_<std::vector<LHCb::Particle const*, std::allocator<LHCb::Particle const*> >, __gnu_cxx::__normal_iterator<LHCb::Particle const* const*, std::vector<LHCb::Particle const*, std::allocator<LHCb::Particle const*> > > > const&, DetectorElement const&), Gaudi::Functional::Traits::use_<LHCb::DetDesc::useConditionHandleFor<DetectorElement>, Gaudi::Functional::Traits::BaseClass_t<LHCb::DetDesc::ConditionAccessorHolder<GaudiAlgorithm> > >, true>::execute() () from /workspace/build/Phys/InstallArea/x86_64_v2-centos7-gcc10-opt/lib/libParticleCombiners.so#11 0x00007f7bb3d3dcb0 in Gaudi::Algorithm::sysExecute(EventContext const&) () from /workspace/build/Gaudi/InstallArea/x86_64_v2-centos7-gcc10-opt/lib/libGaudiKernel.so#12 0x00007f7bb12a4690 in GaudiAlgorithm::sysExecute(EventContext const&) () from /workspace/build/Gaudi/InstallArea/x86_64_v2-centos7-gcc10-opt/lib/libGaudiAlgLib.so#13 0x00007f7bad6044cf in AlgWrapper::execute(EventContext&, gsl::span<AlgState, 18446744073709551615ul>) const () from /workspace/build/LHCb/InstallArea/x86_64_v2-centos7-gcc10-opt/lib/libHLTScheduler.so#14 0x00007f7bad5f6d1b in HLTControlFlowMgr::push(EventContext&&)::{lambda(EventContext&)#1}::operator()(EventContext&) const () from /workspace/build/LHCb/InstallArea/x86_64_v2-centos7-gcc10-opt/lib/libHLTScheduler.so#15 0x00007f7bad5f72b1 in tbb::internal::function_task<(anonymous namespace)::EventTask<HLTControlFlowMgr::push(EventContext&&)::{lambda(EventContext&)#1}> >::execute() () from /workspace/build/LHCb/InstallArea/x86_64_v2-centos7-gcc10-opt/lib/libHLTScheduler.so#16 0x00007f7bb5567915 in tbb::internal::custom_scheduler<tbb::internal::IntelSchedulerTraits>::process_bypass_loop (this=thisentry=0x7f7bb1147e00, context_guard=..., t=0x7f7bb114fc40, isolation=isolationentry=0) at ../../src/tbb/custom_scheduler.h:474#17 0x00007f7bb5567c3b in tbb::internal::custom_scheduler<tbb::internal::IntelSchedulerTraits>::local_wait_for_all (this=0x7f7bb1147e00, parent=..., child=<optimized out>) at ../../src/tbb/custom_scheduler.h:636#18 0x00007f7bb55618f7 in tbb::internal::arena::process (this=0x7f7bb1157a00, s=...) at ../../src/tbb/arena.cpp:196#19 0x00007f7bb5560090 in tbb::internal::market::process (this=0x7f7bb115f580, j=...) at ../../src/tbb/market.cpp:667#20 0x00007f7bb555c7dc in tbb::internal::rml::private_worker::run (this=0x7f7babab4180) at ../../src/tbb/private_server.cpp:266#21 0x00007f7bb555ca19 in tbb::internal::rml::private_worker::thread_routine (arg=<optimized out>) at ../../src/tbb/private_server.cpp:219#22 0x00007f7bd2a5cea5 in start_thread () from /lib64/libpthread.so.0#23 0x00007f7bd207c8dd in clone () from /lib64/libc.so.6
This says the problem is in the get_indices method of the particle combiner.
If I comment out the triangle loop optimsation then the error disappears. As is written there the way we detect 'identical input containers' is not robust, and so I suspect this is what is causing the failure.
It would be good to understand how this logic is failing but for now I will open an MR removing the optimisation and see how that affects the tests.