Bug #22219
Task #22198: Address various issues in protodune-sp reconstruction
Acess invalid element of array in Calorimetry reconstruction
Start date:
03/26/2019
Due date:
% Done:
0%
Estimated time:
Description
==22281== Invalid read of size 8 ==22281== at 0x3E9F27AD: calo::Calorimetry::produce(art::Event&) (Calorimetry_module.cc:471) ==22281== by 0x66C0BE0: art::EDProducer::produceWithFrame(art::Event&, art::ProcessingFrame const&) (EDProducer.cc:91) ==22281== by 0x6797845: art::detail::Producer::doEvent(art::EventPrincipal&, art::ModuleContext const&, std::atomic<unsigned long>&, std::atomic<unsigned long>&, std::atomic<unsigned long>&) (Producer.cc:125) ==22281== by 0x275B7D37: art::WorkerT<art::EDProducer>::implDoProcess(art::EventPrincipal&, art::ModuleContext const&) (WorkerT.h:198) ==22281== by 0x8F9FC26: art::Worker::runWorker(art::EventPrincipal&, art::ModuleContext const&) (Worker.cc:586) ==22281== by 0x8F9F96B: art::(anonymous namespace)::RunWorkerFunctor::operator()() const (Worker.cc:564) ==22281== by 0x8FA30CC: void hep::concurrency::SerialTaskQueueChain::runFunc<art::(anonymous namespace)::RunWorkerFunctor>(art::(anonymous namespace)::RunWorkerFunctor const&) (SerialTaskQueueChain.h:83) ==22281== by 0x8FA2E8F: void hep::concurrency::SerialTaskQueueChain::push<art::(anonymous namespace)::RunWorkerFunctor>(art::(anonymous namespace)::RunWorkerFunctor const&)::{lambda()#1}::operator()() (SerialTaskQueueChain.h:54) ==22281== by 0x8FA4362: hep::concurrency::QueuedTask<void hep::concurrency::SerialTaskQueueChain::push<art::(anonymous namespace)::RunWorkerFunctor>(art::(anonymous namespace)::RunWorkerFunctor const&)::{lambda()#1}>::execute() (SerialTaskQueue.h:87) ==22281== by 0x9950892: tbb::internal::custom_scheduler<tbb::internal::IntelSchedulerTraits>::local_wait_for_all(tbb::task&, tbb::task*) (custom_scheduler.h:509) ==22281== by 0x993B70A: tbb::task::spawn_and_wait_for_all(tbb::task_list&) (task.cpp:245) ==22281== by 0x5A14400: void art::EventProcessor::process<(art::Level)4>() (EventProcessor.cc:530) ==22281== Address 0x551afaf8 is 0 bytes after a block of size 8 alloc'd ==22281== at 0x4C2A243: operator new(unsigned long) (vg_replace_malloc.c:334) ==22281== by 0x72495DE: allocate (new_allocator.h:111) ==22281== by 0x72495DE: allocate (alloc_traits.h:436) ==22281== by 0x72495DE: _M_allocate (stl_vector.h:172) ==22281== by 0x72495DE: void std::vector<double, std::allocator<double> >::_M_realloc_insert<double>(__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, double&&) (vector.tcc:406) ==22281== by 0xD6EE68B: double& std::vector<double, std::allocator<double> >::emplace_back<double>(double&&) (vector.tcc:105) ==22281== by 0xD6EB8B1: std::vector<double, std::allocator<double> >::push_back(double&&) (stl_vector.h:954) ==22281== by 0x3E9F1A0F: calo::Calorimetry::produce(art::Event&) (Calorimetry_module.cc:375) ==22281== by 0x66C0BE0: art::EDProducer::produceWithFrame(art::Event&, art::ProcessingFrame const&) (EDProducer.cc:91) ==22281== by 0x6797845: art::detail::Producer::doEvent(art::EventPrincipal&, art::ModuleContext const&, std::atomic<unsigned long>&, std::atomic<unsigned long>&, std::atomic<unsigned long>&) (Producer.cc:125) ==22281== by 0x275B7D37: art::WorkerT<art::EDProducer>::implDoProcess(art::EventPrincipal&, art::ModuleContext const&) (WorkerT.h:198) ==22281== by 0x8F9FC26: art::Worker::runWorker(art::EventPrincipal&, art::ModuleContext const&) (Worker.cc:586) ==22281== by 0x8F9F96B: art::(anonymous namespace)::RunWorkerFunctor::operator()() const (Worker.cc:564) ==22281== by 0x8FA30CC: void hep::concurrency::SerialTaskQueueChain::runFunc<art::(anonymous namespace)::RunWorkerFunctor>(art::(anonymous namespace)::RunWorkerFunctor const&) (SerialTaskQueueChain.h:83) ==22281== by 0x8FA2E8F: void hep::concurrency::SerialTaskQueueChain::push<art::(anonymous namespace)::RunWorkerFunctor>(art::(anonymous namespace)::RunWorkerFunctor const&)::{lambda()#1}::operator()() (SerialTaskQueueChain.h:54) ==22281==
History
#1 Updated by Tingjun Yang 9 months ago
- Parent task set to #22198
#2 Updated by Tingjun Yang 9 months ago
- Status changed from Assigned to Resolved
This was caused by an issue that there is only one hit associated with a track in one plane. This only happens with pmtrack (not pandora). I added a protection to require at least two hits per view in calorimetry module.
#3 Updated by Tingjun Yang 4 months ago
- Status changed from Resolved to Closed