UT NZS Decoder crashes
See MooreOnline test https://lhcb-nightlies.web.cern.ch/nightly/lhcb-2025-patches/9/MooreOnline/x86_64_v2-el9-gcc13-dbg/tests#MooreScripts_utnzsmon
Running locally through GDB I see this traceback
Thread 11 "eventLoop" received signal SIGABRT, Aborted.
[Switching to Thread 0x7fff993fa640 (LWP 516187)]
0x00007ffff748b53c in __pthread_kill_implementation () from /lib64/libc.so.6
(gdb) where
#0 0x00007ffff748b53c in __pthread_kill_implementation () from /lib64/libc.so.6
#1 0x00007ffff743e686 in raise () from /lib64/libc.so.6
#2 0x00007ffff7428833 in abort () from /lib64/libc.so.6
#3 0x00007fffedea4bab in ?? () from /cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/13.1.0-b3d18/x86_64-el9/lib64/libstdc++.so.6
#4 0x00007fffedeb40da in ?? () from /cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/13.1.0-b3d18/x86_64-el9/lib64/libstdc++.so.6
#5 0x00007fffedeb4145 in std::terminate() () from /cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/13.1.0-b3d18/x86_64-el9/lib64/libstdc++.so.6
#6 0x00007fffc0e126e1 in gsl::details::terminate () at /cvmfs/lhcb.cern.ch/lib/lcg/releases/cppgsl/3.1.0-7a1b6/x86_64-el9-gcc13-dbg/include/gsl/gsl_assert:116
#7 gsl::span<unsigned short const, 18446744073709551615ul>::first (this=this@entry=0x7fff993f94e0, count=<optimized out>)
at /cvmfs/lhcb.cern.ch/lib/lcg/releases/cppgsl/3.1.0-7a1b6/x86_64-el9-gcc13-dbg/include/gsl/span:573
#8 0x00007fffc0e17f95 in UTNZSDecoder<(UTDAQ::version)4>::posRange (this=this@entry=0x7fff993f94e0) at stack/LHCb/UT/UTKernel/include/Kernel/UTNZSDecoder.h:169
#9 0x00007fffc0e15e52 in operator() (__closure=__closure@entry=0x7fff993f9580, decoder=...) at stack/LHCb/UT/UTDAQ/src/component/UTRawBankToUTNZSDigitsAlg.cpp:122
#10 0x00007fffc0e17a22 in UTRawBankToUTNZSDigitsAlg::operator() (this=this@entry=0x7867fd0, banks=...) at stack/LHCb/UT/UTDAQ/src/component/UTRawBankToUTNZSDigitsAlg.cpp:201
#11 0x00007fffc0e14680 in Gaudi::Functional::details::filter_evtcontext_t<gsl::span<LHCb::RawBank const* const, 18446744073709551615ul> >::apply<Gaudi::Functional::details::Transformer<KeyedContainer<LHCb::UTDigit, Containers::KeyedObjectManager<Containers::hashmap> > (gsl::span<LHCb::RawBank const* const, 18446744073709551615ul> const&), Gaudi::Functional::Traits::BaseClass_t<FixTESPath<Gaudi::FSMCallbackHolder<Gaudi::Algorithm> > >, false>, std::tuple<DataObjectReadHandle<gsl::span<LHCb::RawBank const* const, 18446744073709551615ul> > > const>(Gaudi::Functional::details::Transformer<KeyedContainer<LHCb::UTDigit, Containers::KeyedObjectManager<Containers::hashmap> > (gsl::span<LHCb::RawBank const* const, 18446744073709551615ul> const&), Gaudi::Functional::Traits::BaseClass_t<FixTESPath<Gaudi::FSMCallbackHolder<Gaudi::Algorithm> > >, false> const&, EventContext const&, std::tuple<DataObjectReadHandle<gsl::span<LHCb::RawBank const* const, 18446744073709551615ul> > > const&)::{lambda((auto:1 const&)...)#1}::operator()<DataObjectReadHandle<gsl::span<LHCb::RawBank const* const, 18446744073709551615ul> > >(DataObjectReadHandle<gsl::span<LHCb::RawBank const* const, 18446744073709551615ul> > const&) const (
__closure=__closure@entry=0x7fff993f9750) at ../../Gaudi/InstallArea/x86_64_v2-el9-gcc13-dbg/include/Gaudi/Functional/details.h:485
#12 0x00007fffc0e14a1b in std::__invoke_impl<KeyedContainer<LHCb::UTDigit, Containers::KeyedObjectManager<Containers::hashmap> >, Gaudi::Functional::details::filter_evtcontext_t<gsl::span<LHCb::RawBank const* const, 18446744073709551615ul> >::apply<Gaudi::Functional::details::Transformer<KeyedContainer<LHCb::UTDigit, Containers::KeyedObjectManager<Containers::hashmap> > (gsl::span<LHCb::RawBank const* const, 18446744073709551615ul> const&), Gaudi::Functional::Traits::BaseClass_t<FixTESPath<Gaudi::FSMCallbackHolder<Gaudi::Algorithm> > >, false>, std::tuple<DataObjectReadHandle<gsl::span<LHCb::RawBank const* const, 18446744073709551615ul> > > const>(Gaudi::Functional::details::Transformer<KeyedContainer<LHCb::UTDigit, Containers::KeyedObjectManager<Containers::hashmap> > (gsl::span<LHCb::RawBank const* const, 18446744073709551615ul> const&), Gaudi::Functional::Traits::BaseClass_t<FixTESPath<Gaudi::FSMCallbackHolder<Gaudi::Algorithm> > >, false> const&, EventContext const&, std::tuple<DataObjectReadHandle<gsl::span<LHCb::RawBank const* const, 18446744073709551615ul> > > const&)::{lambda((auto:1 const&)...)#1}, DataObjectReadHandle<gsl::span<LHCb::RawBank const* const, 18446744073709551615ul> > const&>(std::__invoke_other, std::tuple<DataObjectReadHandle<gsl::span<LHCb::RawBank const* const, 18446744073709551615ul> > > const&&, DataObjectReadHandle<gsl::span<LHCb::RawBank const* const, 18446744073709551615ul> > const&)
(__f=...) at /cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/13.1.0-b3d18/x86_64-el9/include/c++/13.1.0/bits/invoke.h:61
#13 std::__invoke<Gaudi::Functional::details::filter_evtcontext_t<gsl::span<LHCb::RawBank const* const, 18446744073709551615ul> >::apply<Gaudi::Functional::details::Transformer<KeyedContainer<LHCb::UTDigit, Containers::KeyedObjectManager<Containers::hashmap> > (gsl::span<LHCb::RawBank const* const, 18446744073709551615ul> const&), Gaudi::Functional::Traits::BaseClass_t<FixTESPath<Gaudi::FSMCallbackHolder<Gaudi::Algorithm> > >, false>, std::tuple<DataObjectReadHandle<gsl::span<LHCb::RawBank const* const, 18446744073709551615ul> > > const>(Gaudi::Functional::details::Transformer<KeyedContainer<LHCb::UTDigit, Containers::KeyedObjectManager<Containers::hashmap> > (gsl::span<LHCb::RawBank const* const, 18446744073709551615ul> const&), Gaudi::Functional::Traits::BaseClass_t<FixTESPath<Gaudi::FSMCallbackHolder<Gaudi::Algorithm> > >, false> const&, EventContext const&, std::tuple<DataObjectReadHandle<gsl::span<LHCb::RawBank const* const, 18446744073709551615ul> > > const&)::{lambda((auto:1 const&)...)#1}, DataObjectReadHandle<gsl::span<LHCb::RawBank const* const, 18446744073709551615ul> > const&>(Gaudi::Functional::details::filter_evtcontext_t<gsl::span<LHCb::RawBank const* const, 18446744073709551615ul> >::apply<Gaudi::Functional::details::Transformer<KeyedContainer<LHCb::UTDigit, Containers::KeyedObjectManager<Containers::hashmap> > (gsl::span<LHCb::RawBank const* const, 18446744073709551615ul> const&), Gaudi::Functional::Traits::BaseClass_t<FixTESPath<Gaudi::FSMCallbackHolder<Gaudi::Algorithm> > >, false>, std::tuple<DataObjectReadHandle<gsl::span<LHCb::RawBank const* const, 18446744073709551615ul> > > const>(Gaudi::Functional::details::Transformer<KeyedContainer<LHCb::UTDigit, Containers::KeyedObjectManager<Containers::hashmap> > (gsl::span<LHCb::RawBank const* const, 18446744073709551615ul> const&), Gaudi::Functional::Traits::BaseClass_t<FixTESPath<Gaudi::FSMCallbackHolder<Gaudi::Algorithm> > >, false> const&, EventContext const&, std::tuple<DataObjectReadHandle<gsl::span<LHCb::RawBank const* const, 18446744073709551615ul> > > const&)::{lambda((auto:1 const&)...)#1}&&, DataObjectReadHandle<gsl::span<LHCb::RawBank const* const, 18446744073709551615ul> > const&) (__fn=...) at /cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/13.1.0-b3d18/x86_64-el9/include/c++/13.1.0/bits/invoke.h:97
<snip>
To reproduce youself
- Build a debug build of the stack, up to MooreOnline (x86_64_v2-el9-gcc13-dbg)
- Run
> INTERACTIVE_GDB_IN_XTERM=1 MooreOnline/MooreScripts/scripts/testbench.py MooreOnline/MooreScripts/tests/options/UTNZSMon/Arch.xml --partition=TESTUTNZS --working-dir=./ --test-file-db-key=ut-zs-2024