Project

General

Profile

Bug #21069

Segmentation fault in PFParticle map in anatree

Added by Dominic Brailsford 12 months ago. Updated 11 months ago.

Status:
Resolved
Priority:
Normal
Category:
Analysis
Start date:
10/09/2018
Due date:
% Done:

100%

Estimated time:
First Occurred:
Duration:

Description

A segmentation fault occurs in every test job for MCP0.9.

GDB backtrace:

#0  0x00007fffe0ffaa6c in std::_Rb_tree<art::Ptr<recob::Track>, std::pair<art::Ptr<recob::Track> const, art::Ptr<recob::PFParticle> >, std::_Select1st<std::pair<art::Ptr<recob::Track> const, art::Ptr<recob::PFParticle> > >, std::less<art::Ptr<recob::Track> >, std::allocator<std::pair<art::Ptr<recob::Track> const, art::Ptr<recob::PFParticle> > > >::_M_begin (this=0x0) at /cvmfs/larsoft.opensciencegrid.org/products/gcc/v7_3_0/Linux64bit+2.6-2.12/include/c++/7.3.0/bits/stl_tree.h:737
#1  0x00007fffe1000304 in std::_Rb_tree<art::Ptr<recob::Track>, std::pair<art::Ptr<recob::Track> const, art::Ptr<recob::PFParticle> >, std::_Select1st<std::pair<art::Ptr<recob::Track> const, art::Ptr<recob::PFParticle> > >, std::less<art::Ptr<recob::Track> >, std::allocator<std::pair<art::Ptr<recob::Track> const, art::Ptr<recob::PFParticle> > > >::find (
    this=0x0, __k=...) at /cvmfs/larsoft.opensciencegrid.org/products/gcc/v7_3_0/Linux64bit+2.6-2.12/include/c++/7.3.0/bits/stl_tree.h:2523
#2  0x00007fffe0ff18b5 in std::map<art::Ptr<recob::Track>, art::Ptr<recob::PFParticle>, std::less<art::Ptr<recob::Track> >, std::allocator<std::pair<art::Ptr<recob::Track> const, art::Ptr<recob::PFParticle> > > >::find (this=0x0, __x=...) at /cvmfs/larsoft.opensciencegrid.org/products/gcc/v7_3_0/Linux64bit+2.6-2.12/include/c++/7.3.0/bits/stl_map.h:1164
#3  0x00007fffe0fd9695 in sbnd::AnalysisTree::analyze (this=0xfa9d690, evt=...)
    at /scratch/workspace/sbndcode-release-build/BUILDTYPE/debug/label1/swarm/label2/SLF6/temp/srcs/sbndcode/sbndcode/AnalysisTree/AnalysisTree_module.cc:2669
#4  0x00007ffff645f5a2 in art::EDAnalyzer::doEvent (this=0xfa9d690, ep=..., cpc=..., counts=...)
    at /scratch/workspace/art-release-build/SLF6/debug/build/art/v2_11_03/src/art/Framework/Core/EDAnalyzer.cc:29
#5  0x00007fffe1052dad in art::WorkerT<art::EDAnalyzer>::implDoProcess (this=0xf7c7d70, ep=..., cpc=0x7ffffffe6660, stats=...)
    at /cvmfs/larsoft.opensciencegrid.org/products/art/v2_11_03/include/art/Framework/Core/WorkerT.h:88
#6  0x00007ffff72bb575 in art::Worker::ImplDoWork<(art::BranchActionType)2>::invoke<art::EventPrincipal> (w=0xf7c7d70, p=..., cpc=0x7ffffffe6660)
    at /scratch/workspace/art-release-build/SLF6/debug/build/art/v2_11_03/src/art/Framework/Principal/Worker.h:201
#7  0x00007ffff72b0d63 in art::Worker::doWork<art::ProcessPackage<(art::Level)4> > (this=0xf7c7d70, p=..., cpc=0x7ffffffe6660)
    at /scratch/workspace/art-release-build/SLF6/debug/build/art/v2_11_03/src/art/Framework/Principal/Worker.h:259
#8  0x00007ffff72bb728 in art::WorkerInPath::runWorker<art::ProcessPackage<(art::Level)4> > (this=0xb38fca0, ep=..., cpc=0x7ffffffe6660)
    at /scratch/workspace/art-release-build/SLF6/debug/build/art/v2_11_03/src/art/Framework/Core/WorkerInPath.h:107
#9  0x00007ffff72b1c41 in art::Path::process<art::ProcessPackage<(art::Level)4> > (this=0xd60baf0, ep=...)
    at /scratch/workspace/art-release-build/SLF6/debug/build/art/v2_11_03/src/art/Framework/Core/Path.h:148
#10 0x00007ffff729e62f in art::EndPathExecutor::process<art::ProcessPackage<(art::Level)4> > (this=0xe8e0dd0, ep=...)
    at /scratch/workspace/art-release-build/SLF6/debug/build/art/v2_11_03/src/art/Framework/Core/EndPathExecutor.h:127
#11 0x00007ffff72908cc in art::EventProcessor::process_<art::ProcessPackage<(art::Level)4> > (this=0x7ffffffe6f60, p=...)
    at /scratch/workspace/art-release-build/SLF6/debug/build/art/v2_11_03/src/art/Framework/EventProcessor/EventProcessor.h:206
#12 0x00007ffff727fa80 in art::EventProcessor::processEvent (this=0x7ffffffe6f60)
    at /scratch/workspace/art-release-build/SLF6/debug/build/art/v2_11_03/src/art/Framework/EventProcessor/EventProcessor.cc:892
#13 0x00007ffff727ccf9 in art::EventProcessor::process<(art::Level)4> (this=0x7ffffffe6f60)
    at /scratch/workspace/art-release-build/SLF6/debug/build/art/v2_11_03/src/art/Framework/EventProcessor/EventProcessor.cc:426
#14 0x00007ffff72b9ebd in void art::EventProcessor::process<(art::Level)3>()::{lambda()#2}::operator()() const (__closure=0x7ffffffe6ca0)
    at /scratch/workspace/art-release-build/SLF6/debug/build/art/v2_11_03/src/art/Framework/EventProcessor/EventProcessor.cc:450
#15 0x00007ffff72c127f in art::detail::ExceptionCollector::call<void art::EventProcessor::process<(art::Level)3>()::{lambda()#2}>(void art::EventProcessor::process<(art::Level)3>()::{lambda()#2}) (this=0x7ffffffe6f80, f=...)
    at /scratch/workspace/art-release-build/SLF6/debug/build/art/v2_11_03/src/art/Framework/EventProcessor/detail/ExceptionCollector.h:38
#16 0x00007ffff72b9fbd in art::EventProcessor::process<(art::Level)3> (this=0x7ffffffe6f60)
    at /scratch/workspace/art-release-build/SLF6/debug/build/art/v2_11_03/src/art/Framework/EventProcessor/EventProcessor.cc:449
#17 0x00007ffff72ab1db in void art::EventProcessor::process<(art::Level)2>()::{lambda()#2}::operator()() const (__closure=0x7ffffffe6d20)
    at /scratch/workspace/art-release-build/SLF6/debug/build/art/v2_11_03/src/art/Framework/EventProcessor/EventProcessor.cc:450
#18 0x00007ffff72b9ff9 in art::detail::ExceptionCollector::call<void art::EventProcessor::process<(art::Level)2>()::{lambda()#2}>(void art::EventProcessor::process<(art::Level)2>()::{lambda()#2}) (this=0x7ffffffe6f80, f=...)
    at /scratch/workspace/art-release-build/SLF6/debug/build/art/v2_11_03/src/art/Framework/EventProcessor/detail/ExceptionCollector.h:38
#19 0x00007ffff72ab2db in art::EventProcessor::process<(art::Level)2> (this=0x7ffffffe6f60)
    at /scratch/workspace/art-release-build/SLF6/debug/build/art/v2_11_03/src/art/Framework/EventProcessor/EventProcessor.cc:449
#20 0x00007ffff729bfb7 in void art::EventProcessor::process<(art::Level)1>()::{lambda()#2}::operator()() const (__closure=0x7ffffffe6da0)
    at /scratch/workspace/art-release-build/SLF6/debug/build/art/v2_11_03/src/art/Framework/EventProcessor/EventProcessor.cc:450
#21 0x00007ffff72ab317 in art::detail::ExceptionCollector::call<void art::EventProcessor::process<(art::Level)1>()::{lambda()#2}>(void art::EventProcessor::process<(art::Level)1>()::{lambda()#2}) (this=0x7ffffffe6f80, f=...)
    at /scratch/workspace/art-release-build/SLF6/debug/build/art/v2_11_03/src/art/Framework/EventProcessor/detail/ExceptionCollector.h:38
#22 0x00007ffff729c0b7 in art::EventProcessor::process<(art::Level)1> (this=0x7ffffffe6f60)
    at /scratch/workspace/art-release-build/SLF6/debug/build/art/v2_11_03/src/art/Framework/EventProcessor/EventProcessor.cc:449
#23 0x00007ffff728efb3 in void art::EventProcessor::process<(art::Level)0>()::{lambda()#2}::operator()() const (__closure=0x7ffffffe6e20)
    at /scratch/workspace/art-release-build/SLF6/debug/build/art/v2_11_03/src/art/Framework/EventProcessor/EventProcessor.cc:450
#24 0x00007ffff729c0f3 in art::detail::ExceptionCollector::call<void art::EventProcessor::process<(art::Level)0>()::{lambda()#2}>(void art::EventProcessor::process<(art::Level)0>()::{lambda()#2}) (this=0x7ffffffe6f80, f=...)
    at /scratch/workspace/art-release-build/SLF6/debug/build/art/v2_11_03/src/art/Framework/EventProcessor/detail/ExceptionCollector.h:38
#25 0x00007ffff728f0b3 in art::EventProcessor::process<(art::Level)0> (this=0x7ffffffe6f60)
    at /scratch/workspace/art-release-build/SLF6/debug/build/art/v2_11_03/src/art/Framework/EventProcessor/EventProcessor.cc:449
#26 0x00007ffff727cd51 in art::EventProcessor::<lambda()>::operator()(void) const (__closure=0x7ffffffe6ea0)
    at /scratch/workspace/art-release-build/SLF6/debug/build/art/v2_11_03/src/art/Framework/EventProcessor/EventProcessor.cc:468
#27 0x00007ffff727fe94 in art::detail::ExceptionCollector::call<art::EventProcessor::runToCompletion()::<lambda()> >(art::EventProcessor::<lambda()>) (this=0x7ffffffe6f80, f=...)
    at /scratch/workspace/art-release-build/SLF6/debug/build/art/v2_11_03/src/art/Framework/EventProcessor/detail/ExceptionCollector.h:38
#28 0x00007ffff727cdd9 in art::EventProcessor::runToCompletion (this=0x7ffffffe6f60)
    at /scratch/workspace/art-release-build/SLF6/debug/build/art/v2_11_03/src/art/Framework/EventProcessor/EventProcessor.cc:467
#29 0x00007ffff7d4ff1c in art::run_art_common_ (main_pset=...) at /scratch/workspace/art-release-build/SLF6/debug/build/art/v2_11_03/src/art/Framework/Art/run_art.cc:307
#30 0x00007ffff7d4f0bf in art::run_art (argc=4, argv=0x7ffffffe9a88, in_desc=..., lookupPolicy=..., handlers=...)
    at /scratch/workspace/art-release-build/SLF6/debug/build/art/v2_11_03/src/art/Framework/Art/run_art.cc:206
#31 0x00007ffff7d4abf3 in artapp (argc=4, argv=0x7ffffffe9a88)
    at /scratch/workspace/art-release-build/SLF6/debug/build/art/v2_11_03/build-Linux64bit+2.6-2.12-e17-debug/art/Framework/Art/artapp.cc:51
#32 0x00000000004015dc in main (argc=4, argv=0x7ffffffe9a88)
    at /scratch/workspace/art-release-build/SLF6/debug/build/art/v2_11_03/build-Linux64bit+2.6-2.12-e17-debug/art/Framework/Art/lar.cc:9

The offending line in anatree is found in frame 3:

2669              it = trackerPFParticleMaps[iTracker].find(ptrack);

Here is a print out of the relevant variables at the segfault point

(gdb) p iTracker
$4 = 0
(gdb) p ptrack
$5 = {core_ = {id_ = {value_ = 2965237428}, transients_ = {itemPtr_ = 0x12167c40, prodGetter_ = 0x0}}, key_ = 0}
(gdb) p trackerPFParticleMaps
$6 = {<std::_Vector_base<std::map<art::Ptr<recob::Track>, art::Ptr<recob::PFParticle>, std::less<art::Ptr<recob::Track> >, std::allocator<std::pair<art::Ptr<recob::Track> const, art::Ptr<recob::PFParticle> > > >, std::allocator<std::map<art::Ptr<recob::Track>, art::Ptr<recob::PFParticle>, std::less<art::Ptr<recob::Track> >, std::allocator<std::pair<art::Ptr<recob::Track> const, art::Ptr<recob::PFParticle> > > > > >> = {
    _M_impl = {<std::allocator<std::map<art::Ptr<recob::Track>, art::Ptr<recob::PFParticle>, std::less<art::Ptr<recob::Track> >, std::allocator<std::pair<art::Ptr<recob::Track> const, art::Ptr<recob::PFParticle> > > > >> = {<__gnu_cxx::new_allocator<std::map<art::Ptr<recob::Track>, art::Ptr<recob::PFParticle>, std::less<art::Ptr<recob::Track> >, std::allocator<std::pair<art::Ptr<recob::Track> const, art::Ptr<recob::PFParticle> > > > >> = {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0,
      _M_end_of_storage = 0x0}}, <No data fields>}

My guesstimate is that the event is either empty or the map isn't relevant for the particular iTracker.

History

#1 Updated by Rhiannon Jones 11 months ago

  • Status changed from New to Resolved
  • % Done changed from 0 to 100

PFParticle associations to tracks were not properly handled. Fixed and multiple vertexing producers now possible



Also available in: Atom PDF