segmentation fault in VPMeasurementProvider on VELO data

Report of a crash/segfault with Moore

Brief summary of encountered problem

When running VELO tracking and fitting over VELO data for monitoring, a segmentation fault is observed in VPMesasurementProvider (https://gitlab.cern.ch/lhcb/Rec/-/blob/master/Tr/TrackTools/src/VPMeasurementProvider.cpp#L96)). A log file is attached crash_VP.log.

Adding some printout

 std::for_each( ids.begin(), ids.end(), [&]( LHCb::LHCbID id ) {

    auto clus = to_clus( id );
    info() << "cluster: " << id << " "  << clus << " " << (clus == nullptr) << endmsg;
    if( clus == nullptr) {
      fatal() << "cluster is null ptr!" << endmsg;
    }

it looks like a LHCbID is not associated with a cluster

TrackEventFitter.TrackMasterFitt...    INFO cluster: { LHCbID : {  VPChannelID : 2359982 : row = 174 col = 2 chip = 0 sensor = 9 orfx = 0 orfy = 0 } } 0 1
TrackEventFitter.TrackMasterFitt...   FATAL cluster is null ptr!

Dataset you were running on

VELO data /hlt2/objects/VELO/0000243155/Run_0000243155_20220818-110454-753_SODIN01.mdf

tags:

options.dddb_tag = 'velo-open'
options.conddb_tag = 'upgrade/master'

Moore version used (or nightly, as appropriate)

stack setup with master branch (commit 151f14844 31c12eb6e) compiled for x86_64_v2-centos7-gcc11-opt on SwDevCluster

Option file used to execute Moore

studyTrackResiduals_crash.py

Additional information

cc @anbeck @ahennequ @decianm

Edited by Flo Reiss