Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Segfault in MuonShowerInformationFiller in SKYLAKEAVX512_X #33663

Closed
makortel opened this issue May 7, 2021 · 19 comments
Closed

Segfault in MuonShowerInformationFiller in SKYLAKEAVX512_X #33663

makortel opened this issue May 7, 2021 · 19 comments

Comments

@makortel
Copy link
Contributor

makortel commented May 7, 2021

Workflow 136.844 step 3 segfaults in CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300

Thread 5 (Thread 0x2ae20f600700 (LWP 22415)):
#2  0x00002ae1ce43ce30 in sig_pause_for_stacktrace () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/pluginFWCoreServicesPlugins.so
#3  <signal handler called>
#4  0x00002ae1f7ad5509 in MSLayer::crossing(SimpleLineRZ const&) const () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libRecoTrackerTkMSParametrization.so
#5  0x00002ae1f7ad57c8 in MSLayersAtAngle::sum2RmRn(__gnu_cxx::__normal_iterator<MSLayer const*, std::vector<MSLayer, std::allocator<MSLayer> > >, __gnu_cxx::__normal_iterator<MSLayer const*, std::vector<MSLayer, std::allocator<MSLayer> > >, float, SimpleLineRZ const&) const () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libRecoTrackerTkMSParametrization.so
#6  0x00002ae1f7ad5a79 in MSLayersAtAngle::sumX0D(int, int, PixelRecoPointRZ const&, PixelRecoPointRZ const&) const () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libRecoTrackerTkMSParametrization.so
#7  0x00002ae1f7adc025 in MultipleScatteringParametrisation::operator()(float, float, PixelRecoPointRZ const&, int) const () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libRecoTrackerTkMSParametrization.so
#8  0x00002ae23f88d7ab in ThirdHitCorrection::init(PixelRecoLineRZ const&, PixelRecoPointRZ const&, int) () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/pluginRecoPixelVertexingPixelTripletsPlugins.so
#9  0x00002ae23f8534d1 in PixelTripletHLTGenerator::hitTriplets(TrackingRegion const&, OrderedHitTriplets&, edm::EventSetup const&, HitDoublets const&, RecHitsSortedInPhi const**, std::vector<DetLayer const*, std::allocator<DetLayer const*> > const&, int, std::vector<int, std::allocator<int> >*) () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/pluginRecoPixelVertexingPixelTripletsPlugins.so
#10 0x00002ae23f854cff in PixelTripletHLTGenerator::hitTriplets(TrackingRegion const&, OrderedHitTriplets&, edm::Event const&, edm::EventSetup const&, HitDoublets const&, std::vector<SeedingLayerSetsHits::SeedingLayer, std::allocator<SeedingLayerSetsHits::SeedingLayer> > const&, std::vector<int, std::allocator<int> >*, LayerHitMapCache&) () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/pluginRecoPixelVertexingPixelTripletsPlugins.so
#11 0x00002ae23f8892b8 in hitTripletEDProducerT::Impl<PixelTripletHLTGenerator, hitTripletEDProducerT::ImplSeedingHitSets, hitTripletEDProducerT::DoNothing>::produce(IntermediateHitDoublets const&, edm::Event&, edm::EventSetup const&) () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/pluginRecoPixelVertexingPixelTripletsPlugins.so
#12 0x00002ae23f8884e5 in HitTripletEDProducerT<PixelTripletHLTGenerator>::produce(edm::Event&, edm::EventSetup const&) () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/pluginRecoPixelVertexingPixelTripletsPlugins.so
#13 0x00002ae1bfe17bdc in edm::stream::EDProducerAdaptorBase::doEvent(edm::EventTransitionInfo const&, edm::ActivityRegistry*, edm::ModuleCallingContext const*) () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libFWCoreFramework.so
#14 0x00002ae1bfdf2a2b in edm::WorkerT<edm::stream::EDProducerAdaptorBase>::implDo(edm::EventTransitionInfo const&, edm::ModuleCallingContext const*) () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libFWCoreFramework.so
#15 0x00002ae1bfd4f885 in decltype ({parm#1}()) edm::convertException::wrap<edm::Worker::runModule<edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1> >(edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::TransitionInfoType const&, edm::StreamID, edm::ParentContext const&, edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::Context const*)::{lambda()#1}>(edm::Worker::runModule<edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1> >(edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::TransitionInfoType const&, edm::StreamID, edm::ParentContext const&, edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::Context const*)::{lambda()#1}) () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libFWCoreFramework.so
#16 0x00002ae1bfd4fa5c in bool edm::Worker::runModule<edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1> >(edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::TransitionInfoType const&, edm::StreamID, edm::ParentContext const&, edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::Context const*) () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libFWCoreFramework.so
#17 0x00002ae1bfd4fd76 in std::__exception_ptr::exception_ptr edm::Worker::runModuleAfterAsyncPrefetch<edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1> >(std::__exception_ptr::exception_ptr const*, edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::TransitionInfoType const&, edm::StreamID, edm::ParentContext const&, edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::Context const*) () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libFWCoreFramework.so
#18 0x00002ae1bfd516ae in edm::Worker::RunModuleTask<edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1> >::execute() () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libFWCoreFramework.so
#19 0x00002ae1bfa833b5 in tbb::detail::d1::function_task<edm::WaitingTaskList::announce()::{lambda()#1}>::execute(tbb::detail::d1::execution_data&) () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libFWCoreConcurrency.so

Thread 4 (Thread 0x2ae20e7b0700 (LWP 22414)):
#2  0x00002ae1ce43ce30 in sig_pause_for_stacktrace () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/pluginFWCoreServicesPlugins.so
#3  <signal handler called>
#4  0x00002ae1fb52fcac in SiPixelTemplateReco::PixelTempReco1D(int, float, float, float, float, SiPixelTemplateReco::ClusMatrix&, SiPixelTemplate&, float&, float&, float&, float&, float&, float&, int&, int, bool, std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > >&, float&, int&, int&) () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libRecoLocalTrackerSiPixelRecHits.so
#5  0x00002ae1fb51af00 in PixelCPEClusterRepair::callTempReco1D(PixelCPEBase::DetParam const&, PixelCPEClusterRepair::ClusterParamTemplate&, SiPixelTemplateReco::ClusMatrix&, int, Point3DBase<float, LocalTag>&) const () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libRecoLocalTrackerSiPixelRecHits.so
#6  0x00002ae1fb51be97 in PixelCPEClusterRepair::localPosition(PixelCPEBase::DetParam const&, PixelCPEBase::ClusterParam&) const () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libRecoLocalTrackerSiPixelRecHits.so
#7  0x00002ae1fb516f3f in PixelClusterParameterEstimator::getParameters(SiPixelCluster const&, GeomDet const&, TrajectoryStateOnSurface const&) const () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libRecoLocalTrackerSiPixelRecHits.so
#8  0x00002ae1f710b196 in TkClonerImpl::makeShared(SiPixelRecHit const&, TrajectoryStateOnSurface const&) const () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libRecoTrackerTransientTrackingRecHit.so
#9  0x00002ae1ece5885e in SiPixelRecHit::cloneSH_(TkCloner const&, TrajectoryStateOnSurface const&) const () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libDataFormatsTrackerRecHit2D.so
#10 0x00002ae1f9242d9a in KFTrajectoryFitter::fitOne(TrajectorySeed const&, std::vector<std::shared_ptr<TrackingRecHit const>, std::allocator<std::shared_ptr<TrackingRecHit const> > > const&, TrajectoryStateOnSurface const&, TrajectoryFitter::fitType) const () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libTrackingToolsTrackFitters.so
#11 0x00002ae1f91fc8bc in (anonymous namespace)::KFFittingSmoother::fitOne(TrajectorySeed const&, std::vector<std::shared_ptr<TrackingRecHit const>, std::allocator<std::shared_ptr<TrackingRecHit const> > > const&, TrajectoryStateOnSurface const&, TrajectoryFitter::fitType) const () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/pluginTrackingToolsTrackFittersPlugins.so
#12 0x00002ae1f91e9277 in (anonymous namespace)::FlexibleKFFittingSmoother::fitOne(TrajectorySeed const&, std::vector<std::shared_ptr<TrackingRecHit const>, std::allocator<std::shared_ptr<TrackingRecHit const> > > const&, TrajectoryStateOnSurface const&, TrajectoryFitter::fitType) const () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/pluginTrackingToolsTrackFittersPlugins.so
#13 0x00002ae23105d052 in TrackProducerAlgorithm<reco::Track>::buildTrack(TrajectoryFitter const*, Propagator const*, std::vector<AlgoProductTraits<reco::Track>::AlgoProduct, std::allocator<AlgoProductTraits<reco::Track>::AlgoProduct> >&, std::vector<std::shared_ptr<TrackingRecHit const>, std::allocator<std::shared_ptr<TrackingRecHit const> > >&, TrajectoryStateOnSurface&, TrajectorySeed const&, float, reco::BeamSpot const&, edm::RefToBase<TrajectorySeed>, int, signed char) () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libRecoTrackerTrackProducer.so
#14 0x00002ae230f357f9 in TrackProducerAlgorithm<reco::Track>::runWithCandidate(TrackingGeometry const*, MagneticField const*, std::vector<TrackCandidate, std::allocator<TrackCandidate> > const&, TrajectoryFitter const*, Propagator const*, TransientTrackingRecHitBuilder const*, reco::BeamSpot const&, std::vector<AlgoProductTraits<reco::Track>::AlgoProduct, std::allocator<AlgoProductTraits<reco::Track>::AlgoProduct> >&) () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/pluginRecoTrackerTrackProducerPlugins.so
#15 0x00002ae230f32ea7 in TrackProducer::produce(edm::Event&, edm::EventSetup const&) () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/pluginRecoTrackerTrackProducerPlugins.so
#16 0x00002ae1bfe17bdc in edm::stream::EDProducerAdaptorBase::doEvent(edm::EventTransitionInfo const&, edm::ActivityRegistry*, edm::ModuleCallingContext const*) () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libFWCoreFramework.so
#17 0x00002ae1bfdf2a2b in edm::WorkerT<edm::stream::EDProducerAdaptorBase>::implDo(edm::EventTransitionInfo const&, edm::ModuleCallingContext const*) () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libFWCoreFramework.so
#18 0x00002ae1bfd4f885 in decltype ({parm#1}()) edm::convertException::wrap<edm::Worker::runModule<edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1> >(edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::TransitionInfoType const&, edm::StreamID, edm::ParentContext const&, edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::Context const*)::{lambda()#1}>(edm::Worker::runModule<edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1> >(edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::TransitionInfoType const&, edm::StreamID, edm::ParentContext const&, edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::Context const*)::{lambda()#1}) () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libFWCoreFramework.so
#19 0x00002ae1bfd4fa5c in bool edm::Worker::runModule<edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1> >(edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::TransitionInfoType const&, edm::StreamID, edm::ParentContext const&, edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::Context const*) () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libFWCoreFramework.so
#20 0x00002ae1bfd4fd76 in std::__exception_ptr::exception_ptr edm::Worker::runModuleAfterAsyncPrefetch<edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1> >(std::__exception_ptr::exception_ptr const*, edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::TransitionInfoType const&, edm::StreamID, edm::ParentContext const&, edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::Context const*) () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libFWCoreFramework.so
#21 0x00002ae1bfd516ae in edm::Worker::RunModuleTask<edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1> >::execute() () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libFWCoreFramework.so
#22 0x00002ae1bfa833b5 in tbb::detail::d1::function_task<edm::WaitingTaskList::announce()::{lambda()#1}>::execute(tbb::detail::d1::execution_data&) () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libFWCoreConcurrency.so

Thread 3 (Thread 0x2ae20ddaf700 (LWP 22413)):
#3  0x00002ae1ce441302 in sig_dostack_then_abort () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/pluginFWCoreServicesPlugins.so
#4  <signal handler called>
#5  0x00002ae23d551dcc in void std::__unguarded_linear_insert<__gnu_cxx::__normal_iterator<std::shared_ptr<MuonTransientTrackingRecHit>*, std::vector<std::shared_ptr<MuonTransientTrackingRecHit>, std::allocator<std::shared_ptr<MuonTransientTrackingRecHit> > > >, __gnu_cxx::__ops::_Val_comp_iter<MuonShowerInformationFiller::LessPhi> >(__gnu_cxx::__normal_iterator<std::shared_ptr<MuonTransientTrackingRecHit>*, std::vector<std::shared_ptr<MuonTransientTrackingRecHit>, std::allocator<std::shared_ptr<MuonTransientTrackingRecHit> > > >, __gnu_cxx::__ops::_Val_comp_iter<MuonShowerInformationFiller::LessPhi>) () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libRecoMuonMuonIdentification.so
#6  0x00002ae23d552190 in void std::__insertion_sort<__gnu_cxx::__normal_iterator<std::shared_ptr<MuonTransientTrackingRecHit>*, std::vector<std::shared_ptr<MuonTransientTrackingRecHit>, std::allocator<std::shared_ptr<MuonTransientTrackingRecHit> > > >, __gnu_cxx::__ops::_Iter_comp_iter<MuonShowerInformationFiller::LessPhi> >(__gnu_cxx::__normal_iterator<std::shared_ptr<MuonTransientTrackingRecHit>*, std::vector<std::shared_ptr<MuonTransientTrackingRecHit>, std::allocator<std::shared_ptr<MuonTransientTrackingRecHit> > > >, __gnu_cxx::__normal_iterator<std::shared_ptr<MuonTransientTrackingRecHit>*, std::vector<std::shared_ptr<MuonTransientTrackingRecHit>, std::allocator<std::shared_ptr<MuonTransientTrackingRecHit> > > >, __gnu_cxx::__ops::_Iter_comp_iter<MuonShowerInformationFiller::LessPhi>) () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libRecoMuonMuonIdentification.so
#7  0x00002ae23d557e16 in void std::__merge_sort_with_buffer<__gnu_cxx::__normal_iterator<std::shared_ptr<MuonTransientTrackingRecHit>*, std::vector<std::shared_ptr<MuonTransientTrackingRecHit>, std::allocator<std::shared_ptr<MuonTransientTrackingRecHit> > > >, std::shared_ptr<MuonTransientTrackingRecHit>*, __gnu_cxx::__ops::_Iter_comp_iter<MuonShowerInformationFiller::LessPhi> >(__gnu_cxx::__normal_iterator<std::shared_ptr<MuonTransientTrackingRecHit>*, std::vector<std::shared_ptr<MuonTransientTrackingRecHit>, std::allocator<std::shared_ptr<MuonTransientTrackingRecHit> > > >, __gnu_cxx::__normal_iterator<std::shared_ptr<MuonTransientTrackingRecHit>*, std::vector<std::shared_ptr<MuonTransientTrackingRecHit>, std::allocator<std::shared_ptr<MuonTransientTrackingRecHit> > > >, std::shared_ptr<MuonTransientTrackingRecHit>*, __gnu_cxx::__ops::_Iter_comp_iter<MuonShowerInformationFiller::LessPhi>) () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libRecoMuonMuonIdentification.so
#8  0x00002ae23d55944f in void std::__stable_sort_adaptive<__gnu_cxx::__normal_iterator<std::shared_ptr<MuonTransientTrackingRecHit>*, std::vector<std::shared_ptr<MuonTransientTrackingRecHit>, std::allocator<std::shared_ptr<MuonTransientTrackingRecHit> > > >, std::shared_ptr<MuonTransientTrackingRecHit>*, long, __gnu_cxx::__ops::_Iter_comp_iter<MuonShowerInformationFiller::LessPhi> >(__gnu_cxx::__normal_iterator<std::shared_ptr<MuonTransientTrackingRecHit>*, std::vector<std::shared_ptr<MuonTransientTrackingRecHit>, std::allocator<std::shared_ptr<MuonTransientTrackingRecHit> > > >, __gnu_cxx::__normal_iterator<std::shared_ptr<MuonTransientTrackingRecHit>*, std::vector<std::shared_ptr<MuonTransientTrackingRecHit>, std::allocator<std::shared_ptr<MuonTransientTrackingRecHit> > > >, std::shared_ptr<MuonTransientTrackingRecHit>*, long, __gnu_cxx::__ops::_Iter_comp_iter<MuonShowerInformationFiller::LessPhi>) () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libRecoMuonMuonIdentification.so
#9  0x00002ae23d54a20e in MuonShowerInformationFiller::fillHitsByStation(reco::Muon const&) () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libRecoMuonMuonIdentification.so
#10 0x00002ae23d54b2fc in MuonShowerInformationFiller::fillShowerInformation(reco::Muon const&, edm::Event const&, edm::EventSetup const&) () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libRecoMuonMuonIdentification.so
#11 0x00002ae23d498a72 in MuonShowerInformationProducer::produce(edm::Event&, edm::EventSetup const&) () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/pluginRecoMuonMuonIdentificationPlugins.so
#12 0x00002ae1bfe17bdc in edm::stream::EDProducerAdaptorBase::doEvent(edm::EventTransitionInfo const&, edm::ActivityRegistry*, edm::ModuleCallingContext const*) () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libFWCoreFramework.so
#13 0x00002ae1bfdf2a2b in edm::WorkerT<edm::stream::EDProducerAdaptorBase>::implDo(edm::EventTransitionInfo const&, edm::ModuleCallingContext const*) () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libFWCoreFramework.so
#14 0x00002ae1bfd4f885 in decltype ({parm#1}()) edm::convertException::wrap<edm::Worker::runModule<edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1> >(edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::TransitionInfoType const&, edm::StreamID, edm::ParentContext const&, edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::Context const*)::{lambda()#1}>(edm::Worker::runModule<edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1> >(edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::TransitionInfoType const&, edm::StreamID, edm::ParentContext const&, edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::Context const*)::{lambda()#1}) () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libFWCoreFramework.so
#15 0x00002ae1bfd4fa5c in bool edm::Worker::runModule<edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1> >(edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::TransitionInfoType const&, edm::StreamID, edm::ParentContext const&, edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::Context const*) () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libFWCoreFramework.so
#16 0x00002ae1bfd4fd76 in std::__exception_ptr::exception_ptr edm::Worker::runModuleAfterAsyncPrefetch<edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1> >(std::__exception_ptr::exception_ptr const*, edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::TransitionInfoType const&, edm::StreamID, edm::ParentContext const&, edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::Context const*) () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libFWCoreFramework.so
#17 0x00002ae1bfd516ae in edm::Worker::RunModuleTask<edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1> >::execute() () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libFWCoreFramework.so
#18 0x00002ae1bfa833b5 in tbb::detail::d1::function_task<edm::WaitingTaskList::announce()::{lambda()#1}>::execute(tbb::detail::d1::execution_data&) () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libFWCoreConcurrency.so

Thread 1 (Thread 0x2ae1c41b31c0 (LWP 22295)):
#2  0x00002ae1ce43ce30 in sig_pause_for_stacktrace () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/pluginFWCoreServicesPlugins.so
#3  <signal handler called>
#4  0x00002ae1f709a942 in TkStripMeasurementDet::simpleRecHits(TrajectoryStateOnSurface const&, MeasurementTrackerEvent const&, std::vector<SiStripRecHit2D, std::allocator<SiStripRecHit2D> >&) const () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/pluginRecoTrackerMeasurementDetPlugins.so
#5  0x00002ae1f708cb26 in void TkGluedMeasurementDet::doubleMatch<TkGluedMeasurementDet::HitCollectorForFastMeasurements>(TrajectoryStateOnSurface const&, MeasurementTrackerEvent const&, TkGluedMeasurementDet::HitCollectorForFastMeasurements&) const () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/pluginRecoTrackerMeasurementDetPlugins.so
#6  0x00002ae1f7088ec4 in TkGluedMeasurementDet::measurements(TrajectoryStateOnSurface const&, MeasurementEstimator const&, MeasurementTrackerEvent const&, tracking::TempMeasurements&) const () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/pluginRecoTrackerMeasurementDetPlugins.so
#7  0x00002ae23d31d39e in TrajectorySegmentBuilder::redoMeasurements(TempTrajectory const&, DetGroup const&) const () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/pluginRecoTrackerCkfPatternPlugins.so
#8  0x00002ae23d31e117 in TrajectorySegmentBuilder::addGroup(TempTrajectory const&, __gnu_cxx::__normal_iterator<TrajectoryMeasurementGroup const*, std::vector<TrajectoryMeasurementGroup, std::allocator<TrajectoryMeasurementGroup> > >, __gnu_cxx::__normal_iterator<TrajectoryMeasurementGroup const*, std::vector<TrajectoryMeasurementGroup, std::allocator<TrajectoryMeasurementGroup> > >) () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/pluginRecoTrackerCkfPatternPlugins.so
#9  0x00002ae23d31e062 in TrajectorySegmentBuilder::addGroup(TempTrajectory const&, __gnu_cxx::__normal_iterator<TrajectoryMeasurementGroup const*, std::vector<TrajectoryMeasurementGroup, std::allocator<TrajectoryMeasurementGroup> > >, __gnu_cxx::__normal_iterator<TrajectoryMeasurementGroup const*, std::vector<TrajectoryMeasurementGroup, std::allocator<TrajectoryMeasurementGroup> > >) () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/pluginRecoTrackerCkfPatternPlugins.so
#10 0x00002ae23d31e062 in TrajectorySegmentBuilder::addGroup(TempTrajectory const&, __gnu_cxx::__normal_iterator<TrajectoryMeasurementGroup const*, std::vector<TrajectoryMeasurementGroup, std::allocator<TrajectoryMeasurementGroup> > >, __gnu_cxx::__normal_iterator<TrajectoryMeasurementGroup const*, std::vector<TrajectoryMeasurementGroup, std::allocator<TrajectoryMeasurementGroup> > >) () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/pluginRecoTrackerCkfPatternPlugins.so
#11 0x00002ae23d31f0a0 in TrajectorySegmentBuilder::segments(TrajectoryStateOnSurface) () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/pluginRecoTrackerCkfPatternPlugins.so
#12 0x00002ae23d308e6a in GroupedCkfTrajectoryBuilder::advanceOneLayer(TrajectorySeed const&, TempTrajectory&, TrajectoryFilter const*, Propagator const*, bool, std::vector<TempTrajectory, std::allocator<TempTrajectory> >&, std::vector<TempTrajectory, std::allocator<TempTrajectory> >&) const () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/pluginRecoTrackerCkfPatternPlugins.so
#13 0x00002ae23d309b7b in GroupedCkfTrajectoryBuilder::groupedLimitedCandidates(TrajectorySeed const&, TempTrajectory const&, TrajectoryFilter const*, Propagator const*, bool, std::vector<TempTrajectory, std::allocator<TempTrajectory> >&) const () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/pluginRecoTrackerCkfPatternPlugins.so
#14 0x00002ae23d30c4be in GroupedCkfTrajectoryBuilder::buildTrajectories(TrajectorySeed const&, std::vector<Trajectory, std::allocator<Trajectory> >&, unsigned int&, TrajectoryFilter const*) const () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/pluginRecoTrackerCkfPatternPlugins.so
#15 0x00002ae23ca1bf33 in cms::CkfTrackCandidateMakerBase::produceBase(edm::Event&, edm::EventSetup const&)::{lambda(unsigned long)#1}::operator()(unsigned long) const () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libRecoTrackerCkfPattern.so
#16 0x00002ae23ca1d35f in cms::CkfTrackCandidateMakerBase::produceBase(edm::Event&, edm::EventSetup const&) () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libRecoTrackerCkfPattern.so
#17 0x00002ae1bfe17bdc in edm::stream::EDProducerAdaptorBase::doEvent(edm::EventTransitionInfo const&, edm::ActivityRegistry*, edm::ModuleCallingContext const*) () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libFWCoreFramework.so
#18 0x00002ae1bfdf2a2b in edm::WorkerT<edm::stream::EDProducerAdaptorBase>::implDo(edm::EventTransitionInfo const&, edm::ModuleCallingContext const*) () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libFWCoreFramework.so
#19 0x00002ae1bfd4f885 in decltype ({parm#1}()) edm::convertException::wrap<edm::Worker::runModule<edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1> >(edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::TransitionInfoType const&, edm::StreamID, edm::ParentContext const&, edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::Context const*)::{lambda()#1}>(edm::Worker::runModule<edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1> >(edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::TransitionInfoType const&, edm::StreamID, edm::ParentContext const&, edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::Context const*)::{lambda()#1}) () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libFWCoreFramework.so
#20 0x00002ae1bfd4fa5c in bool edm::Worker::runModule<edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1> >(edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::TransitionInfoType const&, edm::StreamID, edm::ParentContext const&, edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::Context const*) () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libFWCoreFramework.so
#21 0x00002ae1bfd4fd76 in std::__exception_ptr::exception_ptr edm::Worker::runModuleAfterAsyncPrefetch<edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1> >(std::__exception_ptr::exception_ptr const*, edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::TransitionInfoType const&, edm::StreamID, edm::ParentContext const&, edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::Context const*) () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libFWCoreFramework.so
#22 0x00002ae1bfd516ae in edm::Worker::RunModuleTask<edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1> >::execute() () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libFWCoreFramework.so
#23 0x00002ae1bfa833b5 in tbb::detail::d1::function_task<edm::WaitingTaskList::announce()::{lambda()#1}>::execute(tbb::detail::d1::execution_data&) () from /cvmfs/cms-ib.cern.ch/nweek-02679/slc7_amd64_gcc900/cms/cmssw/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/lib/slc7_amd64_gcc900/haswell/libFWCoreConcurrency.so

Current Modules:
Module: MuonShowerInformationProducer:muonShowerInformation (crashed)
Module: PixelTripletHLTEDProducer:tripletElectronHitTriplets
Module: CkfTrackCandidateMaker:lowPtTripletStepTrackCandidates
Module: TrackProducer:lowPtQuadStepTracks

https://cmssdt.cern.ch/SDT/cgi-bin/logreader/slc7_amd64_gcc900/CMSSW_12_0_SKYLAKEAVX512_X_2021-05-06-2300/pyRelValMatrixLogs/run/136.844_RunCharmonium2017B+RunCharmonium2017B+HLTDR2_2017+RECODR2_2017reHLT_skimCharmonium_Prompt+HARVEST2017/step3_RunCharmonium2017B+RunCharmonium2017B+HLTDR2_2017+RECODR2_2017reHLT_skimCharmonium_Prompt+HARVEST2017.log#/

@makortel
Copy link
Contributor Author

makortel commented May 7, 2021

assign reconstruction

@cmsbuild
Copy link
Contributor

cmsbuild commented May 7, 2021

New categories assigned: reconstruction

@slava77,@perrotta,@jpata you have been requested to review this Pull request/Issue and eventually sign? Thanks

@cmsbuild
Copy link
Contributor

cmsbuild commented May 7, 2021

A new Issue was created by @makortel Matti Kortelainen.

@Dr15Jones, @dpiparo, @silviodonato, @smuzaffar, @makortel, @qliphy can you please review it and eventually sign/assign? Thanks.

cms-bot commands are listed here

@makortel
Copy link
Contributor Author

makortel commented May 7, 2021

MuonShowerInformationFiller::fillHitsByStation() calls the stable_sort() here

stable_sort(muonRecHits[stat].begin(), muonRecHits[stat].end(), LessPhi());

with LessPhi defined as
struct LessPhi {
LessPhi() : thePoint(0, 0, 0) {}
bool operator()(const MuonTransientTrackingRecHit::MuonRecHitPointer& lhs,
const MuonTransientTrackingRecHit::MuonRecHitPointer& rhs) const {
return (lhs->globalPosition().barePhi() < rhs->globalPosition().barePhi());
}
GlobalPoint thePoint;
};

@slava77
Copy link
Contributor

slava77 commented May 7, 2021

@ArnabPurohit @trocino
please take a note and perhaps follow up

@makortel
does this show up in any other builds? (e.g. ASAN)

@makortel
Copy link
Contributor Author

makortel commented May 7, 2021

does this show up in any other builds? (e.g. ASAN)

So far no, this is the only instance. I was first thinking if NaN or Inf could cause it, but the code is calling std::stable_sort that IIUC should not have the problems with "weird" floating point values that std::sort has.

I'm not sure if it is worth to put much effort here unless the problem shows up again. I also realize I have no idea what (vector) architecture the job was ran on.

@VinInn
Copy link
Contributor

VinInn commented May 8, 2021

in the log it says it is using 'haswell" aka AVX2.
btw what "thePoint" is doing in all those structures????

@VinInn
Copy link
Contributor

VinInn commented May 8, 2021

do they realize that they are calling atan2 each time? (same with all those perp and mag)?
Again: Obfuscation at its apex.

@VinInn
Copy link
Contributor

VinInn commented May 8, 2021

actually it's worse as globalPosition is not cached, so it also makes a toGlobal transformation each time

@VinInn
Copy link
Contributor

VinInn commented May 8, 2021

so there is a whole set of pointer-chasing + virtualTable + SSE like operation (+atan2) involved in each comparison
(not to justify the segfault, but probability to debug it close to zero I would say).
(valgrind?)

@dan131riley
Copy link

I'd start by caching the values to be sorted. It's at least conceivable that there are different code paths that swap the ordering of two entries, maybe due to different vectorization at different stages of the sort.

@jpata
Copy link
Contributor

jpata commented Mar 14, 2022

attn @cms-sw/muon-pog-l2

@jpata
Copy link
Contributor

jpata commented May 17, 2022

type muon

@cmsbuild cmsbuild added the muon label May 17, 2022
@makortel
Copy link
Contributor Author

Occurred again in CMSSW_12_6_SKYLAKEAVX512_X_2022-09-15-2300 el8_amd64_gcc10 workflow 136.844 step 3

Begin processing the 44th record. Run 297557, Event 244799611, LumiSection 152 on stream 3 at 16-Sep-2022 14:47:39.319 CEST

Thread 5 (Thread 0x2b6550600700 (LWP 14800) "cmsRun"):
#2  0x00002b650aa0c700 in sig_pause_for_stacktrace () from /cvmfs/cms-ib.cern.ch/nweek-02750/el8_amd64_gcc10/cms/cmssw/CMSSW_12_6_SKYLAKEAVX512_X_2022-09-15-2300/lib/el8_amd64_gcc10/scram_haswell/pluginFWCoreServicesPlugins.so
#3  <signal handler called>
#4  0x00002b650395d0fc in __atan2f_finite () from /lib64/libm.so.6
#5  0x00002b650392e4dc in atan2f32 () from /lib64/libm.so.6
#6  0x00002b65359989de in CaloDetIdAssociator::crossedElement(Point3DBase<float, GlobalTag> const&, Point3DBase<float, GlobalTag> const&, DetId const&, double, SteppingHelixStateInfo const*) const () from /cvmfs/cms-ib.cern.ch/nweek-02750/el8_amd64_gcc10/cms/cmssw/CMSSW_12_6_SKYLAKEAVX512_X_2022-09-15-2300/lib/el8_amd64_gcc10/scram_haswell/pluginTrackingToolsTrackAssociatorPlugins.so
#7  0x00002b65359d8356 in DetIdAssociator::getCrossedDetIds(std::set<DetId, std::less<DetId>, std::allocator<DetId> > const&, std::vector<Point3DBase<float, GlobalTag>, std::allocator<Point3DBase<float, GlobalTag> > > const&) const () from /cvmfs/cms-ib.cern.ch/nweek-02750/el8_amd64_gcc10/cms/cmssw/CMSSW_12_6_SKYLAKEAVX512_X_2022-09-15-2300/lib/el8_amd64_gcc10/scram_haswell/libTrackingToolsTrackAssociator.so
#8  0x00002b65359e512a in TrackDetectorAssociator::fillEcal(edm::Event const&, TrackDetMatchInfo&, TrackAssociatorParameters const&) () from /cvmfs/cms-ib.cern.ch/nweek-02750/el8_amd64_gcc10/cms/cmssw/CMSSW_12_6_SKYLAKEAVX512_X_2022-09-15-2300/lib/el8_amd64_gcc10/scram_haswell/libTrackingToolsTrackAssociator.so
#9  0x00002b65359eb181 in TrackDetectorAssociator::associate(edm::Event const&, edm::EventSetup const&, TrackAssociatorParameters const&, FreeTrajectoryState const*, FreeTrajectoryState const*) () from /cvmfs/cms-ib.cern.ch/nweek-02750/el8_amd64_gcc10/cms/cmssw/CMSSW_12_6_SKYLAKEAVX512_X_2022-09-15-2300/lib/el8_amd64_gcc10/scram_haswell/libTrackingToolsTrackAssociator.so
#10 0x00002b65359eb6e9 in TrackDetectorAssociator::associate(edm::Event const&, edm::EventSetup const&, reco::Track const&, TrackAssociatorParameters const&, TrackDetectorAssociator::Direction) () from /cvmfs/cms-ib.cern.ch/nweek-02750/el8_amd64_gcc10/cms/cmssw/CMSSW_12_6_SKYLAKEAVX512_X_2022-09-15-2300/lib/el8_amd64_gcc10/scram_haswell/libTrackingToolsTrackAssociator.so
#11 0x00002b6577419941 in MuonIdProducer::fillMuonId(edm::Event&, edm::EventSetup const&, reco::Muon&, TrackDetectorAssociator::Direction) () from /cvmfs/cms-ib.cern.ch/nweek-02750/el8_amd64_gcc10/cms/cmssw/CMSSW_12_6_SKYLAKEAVX512_X_2022-09-15-2300/lib/el8_amd64_gcc10/scram_haswell/pluginRecoMuonMuonIdentificationPlugins.so
#12 0x00002b657741f4d0 in MuonIdProducer::produce(edm::Event&, edm::EventSetup const&) () from /cvmfs/cms-ib.cern.ch/nweek-02750/el8_amd64_gcc10/cms/cmssw/CMSSW_12_6_SKYLAKEAVX512_X_2022-09-15-2300/lib/el8_amd64_gcc10/scram_haswell/pluginRecoMuonMuonIdentificationPlugins.so
#13 0x00002b65018c53f3 in edm::stream::EDProducerAdaptorBase::doEvent(edm::EventTransitionInfo const&, edm::ActivityRegistry*, edm::ModuleCallingContext const*) () from /cvmfs/cms-ib.cern.ch/nweek-02750/el8_amd64_gcc10/cms/cmssw/CMSSW_12_6_SKYLAKEAVX512_X_2022-09-15-2300/lib/el8_amd64_gcc10/scram_haswell/libFWCoreFramework.so
#14 0x00002b65018a9bdd in edm::WorkerT<edm::stream::EDProducerAdaptorBase>::implDo(edm::EventTransitionInfo const&, edm::ModuleCallingContext const*) () from /cvmfs/cms-ib.cern.ch/nweek-02750/el8_amd64_gcc10/cms/cmssw/CMSSW_12_6_SKYLAKEAVX512_X_2022-09-15-2300/lib/el8_amd64_gcc10/scram_haswell/libFWCoreFramework.so

Thread 4 (Thread 0x2b654f638700 (LWP 14799) "cmsRun"):
#2  0x00002b650aa0c700 in sig_pause_for_stacktrace () from /cvmfs/cms-ib.cern.ch/nweek-02750/el8_amd64_gcc10/cms/cmssw/CMSSW_12_6_SKYLAKEAVX512_X_2022-09-15-2300/lib/el8_amd64_gcc10/scram_haswell/pluginFWCoreServicesPlugins.so
#3  <signal handler called>
#4  0x00002b6530047e42 in EcalPreshowerGeometry::getGeometryRawPtr(unsigned int) const () from /cvmfs/cms-ib.cern.ch/nweek-02750/el8_amd64_gcc10/cms/cmssw/CMSSW_12_6_SKYLAKEAVX512_X_2022-09-15-2300/lib/el8_amd64_gcc10/scram_haswell/libGeometryEcalAlgo.so
#5  0x00002b6530126118 in CaloSubdetectorGeometry::cellGeomPtr(unsigned int) const () from /cvmfs/cms-ib.cern.ch/nweek-02750/el8_amd64_gcc10/cms/cmssw/CMSSW_12_6_SKYLAKEAVX512_X_2022-09-15-2300/lib/el8_amd64_gcc10/scram_haswell/libGeometryCaloGeometry.so
#6  0x00002b6530125f92 in CaloSubdetectorGeometry::getGeometry(DetId const&) const () from /cvmfs/cms-ib.cern.ch/nweek-02750/el8_amd64_gcc10/cms/cmssw/CMSSW_12_6_SKYLAKEAVX512_X_2022-09-15-2300/lib/el8_amd64_gcc10/scram_haswell/libGeometryCaloGeometry.so
#7  0x00002b6576cfc35b in PreshowerPhiClusterAlgo::makeOneCluster(ESDetId, std::set<DetId, std::less<DetId>, std::allocator<DetId> >*, std::map<DetId, EcalRecHit, std::less<DetId>, std::allocator<std::pair<DetId const, EcalRecHit> > >*, CaloSubdetectorGeometry const*, double, double, double) () from /cvmfs/cms-ib.cern.ch/nweek-02750/el8_amd64_gcc10/cms/cmssw/CMSSW_12_6_SKYLAKEAVX512_X_2022-09-15-2300/lib/el8_amd64_gcc10/scram_haswell/libRecoEcalEgammaClusterAlgos.so
#8  0x00002b6576c3018a in PreshowerPhiClusterProducer::produce(edm::Event&, edm::EventSetup const&) () from /cvmfs/cms-ib.cern.ch/nweek-02750/el8_amd64_gcc10/cms/cmssw/CMSSW_12_6_SKYLAKEAVX512_X_2022-09-15-2300/lib/el8_amd64_gcc10/scram_haswell/pluginRecoEcalEgammaClusterProducers.so
#9  0x00002b65018c53f3 in edm::stream::EDProducerAdaptorBase::doEvent(edm::EventTransitionInfo const&, edm::ActivityRegistry*, edm::ModuleCallingContext const*) () from /cvmfs/cms-ib.cern.ch/nweek-02750/el8_amd64_gcc10/cms/cmssw/CMSSW_12_6_SKYLAKEAVX512_X_2022-09-15-2300/lib/el8_amd64_gcc10/scram_haswell/libFWCoreFramework.so
#10 0x00002b65018a9bdd in edm::WorkerT<edm::stream::EDProducerAdaptorBase>::implDo(edm::EventTransitionInfo const&, edm::ModuleCallingContext const*) () from /cvmfs/cms-ib.cern.ch/nweek-02750/el8_amd64_gcc10/cms/cmssw/CMSSW_12_6_SKYLAKEAVX512_X_2022-09-15-2300/lib/el8_amd64_gcc10/scram_haswell/libFWCoreFramework.so

Thread 3 (Thread 0x2b654ec37700 (LWP 14798) "cmsRun"):
#3  0x00002b650aa0fefa in sig_dostack_then_abort () from /cvmfs/cms-ib.cern.ch/nweek-02750/el8_amd64_gcc10/cms/cmssw/CMSSW_12_6_SKYLAKEAVX512_X_2022-09-15-2300/lib/el8_amd64_gcc10/scram_haswell/pluginFWCoreServicesPlugins.so
#4  <signal handler called>
#5  0x00002b6577506f97 in void std::__insertion_sort<__gnu_cxx::__normal_iterator<std::shared_ptr<MuonTransientTrackingRecHit>*, std::vector<std::shared_ptr<MuonTransientTrackingRecHit>, std::allocator<std::shared_ptr<MuonTransientTrackingRecHit> > > >, __gnu_cxx::__ops::_Iter_comp_iter<MuonShowerInformationFiller::LessPhi> >(__gnu_cxx::__normal_iterator<std::shared_ptr<MuonTransientTrackingRecHit>*, std::vector<std::shared_ptr<MuonTransientTrackingRecHit>, std::allocator<std::shared_ptr<MuonTransientTrackingRecHit> > > >, __gnu_cxx::__normal_iterator<std::shared_ptr<MuonTransientTrackingRecHit>*, std::vector<std::shared_ptr<MuonTransientTrackingRecHit>, std::allocator<std::shared_ptr<MuonTransientTrackingRecHit> > > >, __gnu_cxx::__ops::_Iter_comp_iter<MuonShowerInformationFiller::LessPhi>) () from /cvmfs/cms-ib.cern.ch/nweek-02750/el8_amd64_gcc10/cms/cmssw/CMSSW_12_6_SKYLAKEAVX512_X_2022-09-15-2300/lib/el8_amd64_gcc10/scram_haswell/libRecoMuonMuonIdentification.so
#6  0x00002b657750748e in void std::__merge_sort_with_buffer<__gnu_cxx::__normal_iterator<std::shared_ptr<MuonTransientTrackingRecHit>*, std::vector<std::shared_ptr<MuonTransientTrackingRecHit>, std::allocator<std::shared_ptr<MuonTransientTrackingRecHit> > > >, std::shared_ptr<MuonTransientTrackingRecHit>*, __gnu_cxx::__ops::_Iter_comp_iter<MuonShowerInformationFiller::LessPhi> >(__gnu_cxx::__normal_iterator<std::shared_ptr<MuonTransientTrackingRecHit>*, std::vector<std::shared_ptr<MuonTransientTrackingRecHit>, std::allocator<std::shared_ptr<MuonTransientTrackingRecHit> > > >, __gnu_cxx::__normal_iterator<std::shared_ptr<MuonTransientTrackingRecHit>*, std::vector<std::shared_ptr<MuonTransientTrackingRecHit>, std::allocator<std::shared_ptr<MuonTransientTrackingRecHit> > > >, std::shared_ptr<MuonTransientTrackingRecHit>*, __gnu_cxx::__ops::_Iter_comp_iter<MuonShowerInformationFiller::LessPhi>) () from /cvmfs/cms-ib.cern.ch/nweek-02750/el8_amd64_gcc10/cms/cmssw/CMSSW_12_6_SKYLAKEAVX512_X_2022-09-15-2300/lib/el8_amd64_gcc10/scram_haswell/libRecoMuonMuonIdentification.so
#7  0x00002b657750d5a7 in void std::__stable_sort_adaptive<__gnu_cxx::__normal_iterator<std::shared_ptr<MuonTransientTrackingRecHit>*, std::vector<std::shared_ptr<MuonTransientTrackingRecHit>, std::allocator<std::shared_ptr<MuonTransientTrackingRecHit> > > >, std::shared_ptr<MuonTransientTrackingRecHit>*, long, __gnu_cxx::__ops::_Iter_comp_iter<MuonShowerInformationFiller::LessPhi> >(__gnu_cxx::__normal_iterator<std::shared_ptr<MuonTransientTrackingRecHit>*, std::vector<std::shared_ptr<MuonTransientTrackingRecHit>, std::allocator<std::shared_ptr<MuonTransientTrackingRecHit> > > >, __gnu_cxx::__normal_iterator<std::shared_ptr<MuonTransientTrackingRecHit>*, std::vector<std::shared_ptr<MuonTransientTrackingRecHit>, std::allocator<std::shared_ptr<MuonTransientTrackingRecHit> > > >, std::shared_ptr<MuonTransientTrackingRecHit>*, long, __gnu_cxx::__ops::_Iter_comp_iter<MuonShowerInformationFiller::LessPhi>) () from /cvmfs/cms-ib.cern.ch/nweek-02750/el8_amd64_gcc10/cms/cmssw/CMSSW_12_6_SKYLAKEAVX512_X_2022-09-15-2300/lib/el8_amd64_gcc10/scram_haswell/libRecoMuonMuonIdentification.so
#8  0x00002b65774fc310 in MuonShowerInformationFiller::fillHitsByStation(reco::Muon const&) () from /cvmfs/cms-ib.cern.ch/nweek-02750/el8_amd64_gcc10/cms/cmssw/CMSSW_12_6_SKYLAKEAVX512_X_2022-09-15-2300/lib/el8_amd64_gcc10/scram_haswell/libRecoMuonMuonIdentification.so
#9  0x00002b65774feaab in MuonShowerInformationFiller::fillShowerInformation(reco::Muon const&, edm::Event const&, edm::EventSetup const&) () from /cvmfs/cms-ib.cern.ch/nweek-02750/el8_amd64_gcc10/cms/cmssw/CMSSW_12_6_SKYLAKEAVX512_X_2022-09-15-2300/lib/el8_amd64_gcc10/scram_haswell/libRecoMuonMuonIdentification.so
#10 0x00002b657745bf03 in MuonShowerInformationProducer::produce(edm::Event&, edm::EventSetup const&) () from /cvmfs/cms-ib.cern.ch/nweek-02750/el8_amd64_gcc10/cms/cmssw/CMSSW_12_6_SKYLAKEAVX512_X_2022-09-15-2300/lib/el8_amd64_gcc10/scram_haswell/pluginRecoMuonMuonIdentificationPlugins.so
#11 0x00002b65018c53f3 in edm::stream::EDProducerAdaptorBase::doEvent(edm::EventTransitionInfo const&, edm::ActivityRegistry*, edm::ModuleCallingContext const*) () from /cvmfs/cms-ib.cern.ch/nweek-02750/el8_amd64_gcc10/cms/cmssw/CMSSW_12_6_SKYLAKEAVX512_X_2022-09-15-2300/lib/el8_amd64_gcc10/scram_haswell/libFWCoreFramework.so
#12 0x00002b65018a9bdd in edm::WorkerT<edm::stream::EDProducerAdaptorBase>::implDo(edm::EventTransitionInfo const&, edm::ModuleCallingContext const*) () from /cvmfs/cms-ib.cern.ch/nweek-02750/el8_amd64_gcc10/cms/cmssw/CMSSW_12_6_SKYLAKEAVX512_X_2022-09-15-2300/lib/el8_amd64_gcc10/scram_haswell/libFWCoreFramework.so

Thread 1 (Thread 0x2b6504d309c0 (LWP 12978) "cmsRun"):
#2  0x00002b650aa0c700 in sig_pause_for_stacktrace () from /cvmfs/cms-ib.cern.ch/nweek-02750/el8_amd64_gcc10/cms/cmssw/CMSSW_12_6_SKYLAKEAVX512_X_2022-09-15-2300/lib/el8_amd64_gcc10/scram_haswell/pluginFWCoreServicesPlugins.so
#3  <signal handler called>
#4  0x00002b659b74067c in HitPairGeneratorFromLayerPairForPhotonConversion::checkRZCompatibilityWithSeedTrack(BaseTrackerRecHit const* const&, DetLayer const&, ConversionRegion const&) () from /cvmfs/cms-ib.cern.ch/nweek-02750/el8_amd64_gcc10/cms/cmssw/CMSSW_12_6_SKYLAKEAVX512_X_2022-09-15-2300/lib/el8_amd64_gcc10/scram_haswell/pluginGammaConversionTrackingForConversionPlugins.so
#5  0x00002b659b740b9f in HitPairGeneratorFromLayerPairForPhotonConversion::hitPairs(ConversionRegion const&, TrackingRegion const&, OrderedHitPairs&, SeedingLayerSetsHits::SeedingLayerSet const&, edm::Event const&, edm::EventSetup const&) () from /cvmfs/cms-ib.cern.ch/nweek-02750/el8_amd64_gcc10/cms/cmssw/CMSSW_12_6_SKYLAKEAVX512_X_2022-09-15-2300/lib/el8_amd64_gcc10/scram_haswell/pluginGammaConversionTrackingForConversionPlugins.so
#6  0x00002b659b72e26a in CombinedHitPairGeneratorForPhotonConversion::hitPairs(ConversionRegion const&, TrackingRegion const&, OrderedHitPairs&, edm::Event const&, edm::EventSetup const&) () from /cvmfs/cms-ib.cern.ch/nweek-02750/el8_amd64_gcc10/cms/cmssw/CMSSW_12_6_SKYLAKEAVX512_X_2022-09-15-2300/lib/el8_amd64_gcc10/scram_haswell/pluginGammaConversionTrackingForConversionPlugins.so
#7  0x00002b659b72e4f0 in CombinedHitPairGeneratorForPhotonConversion::run(ConversionRegion const&, TrackingRegion const&, edm::Event const&, edm::EventSetup const&) () from /cvmfs/cms-ib.cern.ch/nweek-02750/el8_amd64_gcc10/cms/cmssw/CMSSW_12_6_SKYLAKEAVX512_X_2022-09-15-2300/lib/el8_amd64_gcc10/scram_haswell/pluginGammaConversionTrackingForConversionPlugins.so
#8  0x00002b659b75117b in PhotonConversionTrajectorySeedProducerFromSingleLegAlgo::inspectTrack(reco::Track const*, TrackingRegion const&, ROOT::Math::PositionVector3D<ROOT::Math::Cartesian3D<double>, ROOT::Math::DefaultCoordinateSystemTag>&) () from /cvmfs/cms-ib.cern.ch/nweek-02750/el8_amd64_gcc10/cms/cmssw/CMSSW_12_6_SKYLAKEAVX512_X_2022-09-15-2300/lib/el8_amd64_gcc10/scram_haswell/pluginGammaConversionTrackingForConversionPlugins.so
#9  0x00002b659b751371 in PhotonConversionTrajectorySeedProducerFromSingleLegAlgo::loopOnPriVtx(reco::Track const&, std::vector<reco::Vertex, std::allocator<reco::Vertex> > const&) () from /cvmfs/cms-ib.cern.ch/nweek-02750/el8_amd64_gcc10/cms/cmssw/CMSSW_12_6_SKYLAKEAVX512_X_2022-09-15-2300/lib/el8_amd64_gcc10/scram_haswell/pluginGammaConversionTrackingForConversionPlugins.so
#10 0x00002b659b7527b9 in PhotonConversionTrajectorySeedProducerFromSingleLegAlgo::loopOnTracks() () from /cvmfs/cms-ib.cern.ch/nweek-02750/el8_amd64_gcc10/cms/cmssw/CMSSW_12_6_SKYLAKEAVX512_X_2022-09-15-2300/lib/el8_amd64_gcc10/scram_haswell/pluginGammaConversionTrackingForConversionPlugins.so
#11 0x00002b659b75335d in PhotonConversionTrajectorySeedProducerFromSingleLegAlgo::find(edm::Event const&, edm::EventSetup const&, std::vector<TrajectorySeed, std::allocator<TrajectorySeed> >&) () from /cvmfs/cms-ib.cern.ch/nweek-02750/el8_amd64_gcc10/cms/cmssw/CMSSW_12_6_SKYLAKEAVX512_X_2022-09-15-2300/lib/el8_amd64_gcc10/scram_haswell/pluginGammaConversionTrackingForConversionPlugins.so
#12 0x00002b659b74d573 in PhotonConversionTrajectorySeedProducerFromSingleLeg::produce(edm::Event&, edm::EventSetup const&) () from /cvmfs/cms-ib.cern.ch/nweek-02750/el8_amd64_gcc10/cms/cmssw/CMSSW_12_6_SKYLAKEAVX512_X_2022-09-15-2300/lib/el8_amd64_gcc10/scram_haswell/pluginGammaConversionTrackingForConversionPlugins.so
#13 0x00002b65018c53f3 in edm::stream::EDProducerAdaptorBase::doEvent(edm::EventTransitionInfo const&, edm::ActivityRegistry*, edm::ModuleCallingContext const*) () from /cvmfs/cms-ib.cern.ch/nweek-02750/el8_amd64_gcc10/cms/cmssw/CMSSW_12_6_SKYLAKEAVX512_X_2022-09-15-2300/lib/el8_amd64_gcc10/scram_haswell/libFWCoreFramework.so
#14 0x00002b65018a9bdd in edm::WorkerT<edm::stream::EDProducerAdaptorBase>::implDo(edm::EventTransitionInfo const&, edm::ModuleCallingContext const*) () from /cvmfs/cms-ib.cern.ch/nweek-02750/el8_amd64_gcc10/cms/cmssw/CMSSW_12_6_SKYLAKEAVX512_X_2022-09-15-2300/lib/el8_amd64_gcc10/scram_haswell/libFWCoreFramework.so

https://cmssdt.cern.ch/SDT/cgi-bin/logreader/el8_amd64_gcc10/CMSSW_12_6_SKYLAKEAVX512_X_2022-09-15-2300/pyRelValMatrixLogs/run/136.844_RunCharmonium2017B+RunCharmonium2017B+HLTDR2_2017+RECODR2_2017reHLT_skimCharmonium_Prompt+HARVEST2017_skimCharmonium/step3_RunCharmonium2017B+RunCharmonium2017B+HLTDR2_2017+RECODR2_2017reHLT_skimCharmonium_Prompt+HARVEST2017_skimCharmonium.log#/

@aandvalenzuela
Copy link
Contributor

Hi,

This issue is happening again in CMSSW_12_6_SKYLAKEAVX512_X_2022-11-20-2300 IB on platform el8_amd64_gcc11 workflow 136.844.
Thanks,
Andrea.

@dan131riley
Copy link

I'd start by caching the values to be sorted. It's at least conceivable that there are different code paths that swap the ordering of two entries, maybe due to different vectorization at different stages of the sort.

I finally got annoyed enough to put this to the test by replacing the call to stable_sort() with a function that builds a cache of the values to be sorted, does a stable index sort, and then shuffles the output values. The proof-of-concept implementation looks like this (I was surprised that I couldn't find any existing implementations):

template <class RAIter, class Compare, class Transform>
std::vector<typename RAIter::value_type> argSort(RAIter first, RAIter last, Compare comp, Transform transform) {
  std::vector<size_t> idx(last - first);
  std::iota(idx.begin(), idx.end(), 0);

  using valueCacheType = typename std::invoke_result<decltype(transform), typename RAIter::value_type>::type;
  std::vector<valueCacheType> valcache(idx.size());
  std::transform(first, last, valcache.begin(), transform);

  auto idxComp = [&valcache, comp](auto i1, auto i2) { return comp(valcache[i1], valcache[i2]); };

  std::stable_sort(idx.begin(), idx.end(), idxComp);

  std::vector<typename RAIter::value_type> sorted;
  sorted.reserve(idx.size());
  for (const auto id : idx) {
    sorted.emplace_back(first[id]);
  }

  return sorted;
}

with usage replacing the call to stable_sort() with

    auto calcPhi = [](const auto& hit) { return hit->globalPosition().barePhi(); };
    muonRecHits[stat] = argSort(muonRecHits[stat].begin(), muonRecHits[stat].end(), std::less(), calcPhi);

In my checks this produces identical results to the standard stable sort, only it doesn't crash on skylake and it takes 1/3 the time.

The MuonShowerInformationFiller routines have a bunch of expensive sort functions that could benefit from this approach. Do people think there are likely other examples of expensive sort comparisons outside of RecoMuon--enough so that it would be worth my time to generalize this enough to put it in FWCore/Utilities?

@dan131riley
Copy link

After poking at this code some more, I think there's another issue. In this block of code,

if (!muonCorrelatedHits.at(stat).empty()) {
float dthetamax = 0;
for (TransientTrackingRecHit::ConstRecHitContainer::const_iterator iseed = muonCorrelatedHits.at(stat).begin();
iseed != muonCorrelatedHits.at(stat).end();
++iseed) {
if (!(*iseed)->isValid())
continue;
GlobalPoint refpoint = (*iseed)->globalPosition(); //starting from the one with smallest value of phi
muonRecHitsThetaTemp.clear();
muonRecHitsThetaTemp = findThetaCluster(muonCorrelatedHits.at(stat), refpoint);
if (muonRecHitsThetaTemp.size() > 1) {
float dtheta = fabs((float)muonRecHitsThetaTemp.back()->globalPosition().theta() -
(float)muonRecHitsThetaTemp.front()->globalPosition().theta());
if (dtheta > dthetamax) {
dthetamax = dtheta;
muonRecHitsThetaBest = muonRecHitsThetaTemp;
}
} //at least two hits
} //loop over seeds
} //not empty container2

it's iterating over muonCorrelatedHits and calling findThetaCluster(). That routine,
TransientTrackingRecHit::ConstRecHitContainer MuonShowerInformationFiller::findThetaCluster(
TransientTrackingRecHit::ConstRecHitContainer& muonRecHits, const GlobalPoint& refpoint) const {
if (muonRecHits.empty())
return muonRecHits;
//clustering step by theta
float step = 0.05;
TransientTrackingRecHit::ConstRecHitContainer result;
stable_sort(muonRecHits.begin(), muonRecHits.end(), AbsLessDTheta(refpoint));
for (TransientTrackingRecHit::ConstRecHitContainer::const_iterator ihit = muonRecHits.begin();
ihit != muonRecHits.end() - 1;
++ihit) {
if (fabs((*(ihit + 1))->globalPosition().theta() - (*ihit)->globalPosition().theta()) < step) {
result.push_back(*ihit);
} else {
break;
}
}
return result;
}

sorts the input muonRecHits collection, which is the same collection that is being iterated over--so the collection being iterated over is getting reordered on every iteration. The result is that it is pretty much guaranteed that the loop over the collection is not actually looping over every member. I think a proper fix will have to make a copy of the muonRecHits so that the it isn't iterating over a collection that gets reordered on every iteration. (This was found when I tried a sort replacement that invalidated outstanding iterators on the collection...)

@dan131riley
Copy link

segfault in 136.844 seems to be fixed, so I think this issue can be closed.

@makortel
Copy link
Contributor Author

@cmsbuild, please close

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants