25202.0, step2_DIGI_L1_DIGI2RAW_HLT_PU.py, large stack allocation (or worse)?

I looked at valgrind report for 25202.0 step2_DIGI_L1_DIGI2RAW_HLT_PU.py using CMSSW_9_1_X_2017-03-22-2300 + slc6_amd64_gcc630

I have noticed the following warnings:


==4213== Warning: client switching stacks?  SP change: 0xffeff4308 --> 0xffed9d8d0
==4213== Warning: client switching stacks?  SP change: 0xffed9d8d0 --> 0xffeff4308
==4213== Warning: client switching stacks?  SP change: 0xffeff4308 --> 0xffed9d8d0

Once valgrind noticed a large change in stack pointer it will not produce correct results:


==4213== Warning: client switching stacks?  SP change: 0xffeff4308 --> 0xffed9d8d0
==4213==          to suppress, use: --max-stackframe=2452024 or greater
==4213== Invalid write of size 8
==4213==    at 0x2D7253D8: L1TMuonEndCapTrackProducer::produce(edm::Event&, edm::EventSetup const&) (L1TMuonEndCapTrackProducer.cc:61)
==4213==    by 0x4BBF8C8: edm::EDProducer::doEvent(edm::EventPrincipal const&, edm::EventSetup const&, edm::ActivityRegistry*, edm::ModuleCallingContext const*) (in /cvmfs/cms-ib.cern.ch/nweek-02464/slc6_amd64_gcc630/cms/cmssw/CMSSW_9_1_X_2017-03-22-2300/lib/slc6_amd64_gcc630/libFWCoreFramework.so)
==4213==    by 0x4B8C421: edm::WorkerT<:edproducer>::implDo(edm::EventPrincipal const&, edm::EventSetup const&, edm::ModuleCallingContext const*) (in /cvmfs/cms-ib.cern.ch/nweek-02464/slc6_amd64_gcc630/cms/cmssw/CMSSW_9_1_X_2017-03-22-2300/lib/slc6_amd64_gcc630/libFWCoreFramework.so)
==4213==    by 0x4B40024: bool edm::Worker::runModule<:occurrencetraits> >(edm::OccurrenceTraits<:eventprincipal>::MyPrincipal const&, edm::EventSetup const&, edm::StreamID, edm::ParentContext const&, edm::OccurrenceTraits<:eventprincipal>::Context const*) [clone .isra.82] (in /cvmfs/cms-ib.cern.ch/nweek-02464/slc6_amd64_gcc630/cms/cmssw/CMSSW_9_1_X_2017-03-22-2300/lib/slc6_amd64_gcc630/libFWCoreFramework.so)
==4213==    by 0x4B4B16E: decltype ({parm#1}()) edm::convertException::wrap<void edm::worker::runmoduleafterasyncprefetch> >(std::__exception_ptr::exception_ptr const*, edm::OccurrenceTraits<:eventprincipal>::MyPrincipal const&, edm::EventSetup const&, edm::StreamID, edm::ParentContext const&, edm::OccurrenceTraits<:eventprincipal>::Context const*)::{lambda()#1}>(void edm::Worker::runModuleAfterAsyncPrefetch<:occurrencetraits> >(std::__exception_ptr::exception_ptr const*, edm::OccurrenceTraits<:eventprincipal>::MyPrincipal const&, edm::EventSetup const&, edm::StreamID, edm::ParentContext const&, edm::OccurrenceTraits<:eventprincipal>::Context const*)::{lambda()#1}) (in /cvmfs/cms-ib.cern.ch/nweek-02464/slc6_amd64_gcc630/cms/cmssw/CMSSW_9_1_X_2017-03-22-2300/lib/slc6_amd64_gcc630/libFWCoreFramework.so)
==4213==    by 0x4B4B2BB: void edm::Worker::runModuleAfterAsyncPrefetch<:occurrencetraits> >(std::__exception_ptr::exception_ptr const*, edm::OccurrenceTraits<:eventprincipal>::MyPrincipal const&, edm::EventSetup const&, edm::StreamID, edm::ParentContext const&, edm::OccurrenceTraits<:eventprincipal>::Context const*) (in /cvmfs/cms-ib.cern.ch/nweek-02464/slc6_amd64_gcc630/cms/cmssw/CMSSW_9_1_X_2017-03-22-2300/lib/slc6_amd64_gcc630/libFWCoreFramework.so)
==4213==    by 0x4B4BD22: void edm::SerialTaskQueueChain::actionToRun<:worker::runmoduletask> >::execute()::{lambda()#1}>(edm::Worker::RunModuleTask<:occurrencetraits> >::execute()::{lambda()#1} const&) (in /cvmfs/cms-ib.cern.ch/nweek-02464/slc6_amd64_gcc630/cms/cmssw/CMSSW_9_1_X_2017-03-22-2300/lib/slc6_amd64_gcc630/libFWCoreFramework.so)
==4213==    by 0x4B4BE80: edm::SerialTaskQueue::QueuedTask<void edm::serialtaskqueuechain::passdownchain> >::execute()::{lambda()#1}>(unsigned int, edm::Worker::RunModuleTask<:occurrencetraits> >::execute()::{lambda()#1} const&)::{lambda()#1}>::execute() (in /cvmfs/cms-ib.cern.ch/nweek-02464/slc6_amd64_gcc630/cms/cmssw/CMSSW_9_1_X_2017-03-22-2300/lib/slc6_amd64_gcc630/libFWCoreFramework.so)
==4213==    by 0x5F26952: tbb::internal::custom_scheduler<:internal::intelschedulertraits>::local_wait_for_all(tbb::task&, tbb::task*) (custom_scheduler.h:501)
==4213==    by 0x4C04AC9: edm::EventProcessor::readAndProcessEvent() (in /cvmfs/cms-ib.cern.ch/nweek-02464/slc6_amd64_gcc630/cms/cmssw/CMSSW_9_1_X_2017-03-22-2300/lib/slc6_amd64_gcc630/libFWCoreFramework.so)
==4213==    by 0x4B4E7CE: statemachine::HandleEvent::readAndProcessEvent() (in /cvmfs/cms-ib.cern.ch/nweek-02464/slc6_amd64_gcc630/cms/cmssw/CMSSW_9_1_X_2017-03-22-2300/lib/slc6_amd64_gcc630/libFWCoreFramework.so)
==4213==    by 0x4B501E6: statemachine::HandleEvent::HandleEvent(boost::statechart::state<:handleevent statemachine::handlelumis boost::mpl::list mpl_::na>, (boost::statechart::history_mode)0>::my_context) (in /cvmfs/cms-ib.cern.ch/nweek-02464/slc6_amd64_gcc630/cms/cmssw/CMSSW_9_1_X_2017-03-22-2300/lib/slc6_amd64_gcc630/libFWCoreFramework.so)
==4213==  Address 0xffed9d8f8 is on thread 1's stack
==4213==  in frame #0, created by L1TMuonEndCapTrackProducer::produce(edm::Event&, edm::EventSetup const&) (L1TMuonEndCapTrackProducer.cc:61)
</:handleevent></:internal::intelschedulertraits></:occurrencetraits></void></:occurrencetraits></:worker::runmoduletask></:eventprincipal></:eventprincipal></:occurrencetraits></:eventprincipal></:eventprincipal></:occurrencetraits></:eventprincipal></:eventprincipal></void></:eventprincipal></:eventprincipal></:occurrencetraits></:edproducer>

Looks like there could be a frame that with ~2.4MiB of data allocation on stack.

The default stack size on my particular system is 10MiB (some of which probably goes for TLS).

These warnings (and errors following it) could be caused by coroutine libraries / lightweight friends / , which we don't have in CMSSW AFAIK.

该提问来源于开源项目:cms-sw/cmssw

查看全部
weixin_39792519
weixin_39792519
2020/11/21 18:37
  • 点赞
  • 收藏
  • 回答
    私信

5个回复