EventPacker: Add protection in LHCb::Packer::subrange for corrupt first/last indices
See #376
Currently the track cluster unpacking has no protection for corrupt data, leading seg. faults seen in the 2024 sprucing productions.
This MR adds sanity checks, and if corruption is detected an exception is thrown, which allows the application to skip that event, and if configured to do so carry on to the next event. E.g. with the sprucing (which allows a number of single event errors to be skipped) gives
EventSelector SUCCESS Reading Event record 15341. Record number within stream 1: 15341
Unpack_Hlt2__Event_HLT2_Rec_Trac... FATAL Standard std::exception is caught
Unpack_Hlt2__Event_HLT2_Rec_Trac... ERROR LHCb::Packer::subrange: Container='std::vector<LHCb::PackedFTLiteCluster,std::allocator<LHCb::PackedFTLiteCluster> >' ( size 12589 ) Bad Indices: first=0 last=35244813
HLTControlFlowMgr FATAL Event failed in Node TrackUnpacker/Unpack_Hlt2__Event_HLT2_Rec_Track_Ttrack
HLTControlFlowMgr FATAL Event 42 on slot 0 failed!
EventSelector SUCCESS Reading Event record 15351. Record number within stream 1: 15351
instead of the previous seg. fault.
Protection is added to LHCb::Packer::subrange
so anywhere using that is covered.
Merge request reports
Activity
added Persistency Tracking bug fix priorityhigh labels
added RTA label
mentioned in issue #376
added 1 commit
- 470017f0 - PackedTrack: Add protection during unpacking for corrupt cluster/LHCbID indices
- Resolved by Software for LHCb
/ci-test
@msaur FYI
added ci-test-triggered label
- [2024-10-24 18:28] Validation started with lhcb-2024-patches-mr#1717
- [2024-10-24 21:55] Validation started with lhcb-2024-patches-mr#1718
- [2024-10-25 13:57] Validation started with lhcb-2024-patches-mr#1725
- [2024-10-28 14:53] Validation started with lhcb-2024-patches-mr#1739
- [2024-10-28 15:43] Validation started with lhcb-2024-patches-mr#1740
Edited by Software for LHCbadded 1 commit
- 89c687d1 - PackedTrack: Add protection during unpacking for corrupt cluster/LHCbID indices
- Resolved by Christopher Rob Jones
/ci-test
- Resolved by Christopher Rob Jones
Is it worth it, to be safe, to also add the index counters for the clusters to the
resetWrappingCounts()
function? I'm not sure the mentioned bug is still relevant today, but it seems an easy thing to include.
added 1 commit
- 4e934102 - PackedTrack: Add protection during unpacking for corrupt cluster/LHCbID indices
- Resolved by Miroslav Saur
- Resolved by Christopher Rob Jones
@jonrob I think we could push this forward. Or do you prefer to wait for results of offline checks mentioned at #376 (comment 8636017)
added 1 commit
- 1d684418 - EventPacker: Add protection during unpacking for corrupt first/last range indices