cms-sw / cmssw

CMS Offline Software
http://cms-sw.github.io/
Apache License 2.0
1.08k stars 4.29k forks source link

CXXMODULES RelVal fail wanting dictionary for transient #34000

Open Dr15Jones opened 3 years ago

Dr15Jones commented 3 years ago

We see the following exception happening in the CXXMODULES IB

----- Begin Fatal Exception 05-Jun-2021 10:10:39 CEST-----------------------
An exception of category 'DictionaryNotFound' occurred while
   [0] Constructing the EventProcessor
   [1] Constructing module: class=PATTriggerProducer label='patTrigger'
Exception Message:
No Dictionary for class: 'tbb::detail::d1::concurrent_unordered_base<tbb::detail::d1::concurrent_unordered_map_traits<unsigned int,edm::helpers::KeyVal<edm::RefToBase<reco::Track>,vector<pair<edm::Ref<vector<TrackingParticle>,TrackingParticle,edm::refhelper::FindUsingAdvance<vector<TrackingParticle>,TrackingParticle> >,double> > >,hash<unsigned int>,equal_to<unsigned int>,tbb::detail::d1::tbb_allocator<pair<const unsigned int,edm::helpers::KeyVal<edm::RefToBase<reco::Track>,vector<pair<edm::Ref<vector<TrackingParticle>,TrackingParticle,edm::refhelper::FindUsingAdvance<vector<TrackingParticle>,TrackingParticle> >,double> > > > >,false> >'
----- End Fatal Exception -------------------------------------------------

I believe this is coming from https://github.com/cms-sw/cmssw/blob/2203a479d341fb2ac2e235ca9899acbb9bc3cba7/DataFormats/Common/interface/AssociationMap.h#L73

https://github.com/cms-sw/cmssw/blob/2203a479d341fb2ac2e235ca9899acbb9bc3cba7/DataFormats/Common/interface/AssociationMap.h#L251

Which we are supposed to mark as transient: https://github.com/cms-sw/cmssw/blob/6d2f66057131baacc2fcbdd203588c41c885b42c/TrackingTools/PatternTools/src/classes_def.xml#L18-L20

I think this is done for the dictionary in question, but it is very hard to tell if this is actually the one: https://github.com/cms-sw/cmssw/blob/2203a479d341fb2ac2e235ca9899acbb9bc3cba7/SimDataFormats/Associations/src/classes_def.xml#L82-L87

cmsbuild commented 3 years ago

A new Issue was created by @Dr15Jones Chris Jones.

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

cms-bot commands are listed here

Dr15Jones commented 3 years ago

FYI @davidlange6

makortel commented 3 years ago

assign core

cmsbuild commented 3 years ago

New categories assigned: core

@Dr15Jones,@smuzaffar,@makortel you have been requested to review this Pull request/Issue and eventually sign? Thanks

davidlange6 commented 3 years ago

Thanks @dr15jones - we have a number of missing dictionary errors typically coming from associations. I don't think we had traced one to a transient member before - maybe that is an important point that we have missed

@vgvassilev -

smuzaffar commented 3 years ago

@davidlange6 , @vgvassilev we still have around 80 workflows failing due to this

----- Begin Fatal Exception 07-Oct-2021 12:02:28 CEST-----------------------
An exception of category 'DictionaryNotFound' occurred while
   [0] Constructing the EventProcessor
   [1] Constructing module: class=PATTriggerProducer label='patTrigger'
Exception Message:
No Dictionary for class: 'tbb::detail::d1::concurrent_unordered_base<tbb::detail::d1::concurrent_unordered_map_traits<unsigned int,edm::helpers::KeyVal<edm::RefToBase<reco::Track>,vector<pair<edm::Ref<vector<TrackingParticle>,TrackingParticle,edm::refhelper::FindUsingAdvance<vector<TrackingParticle>,TrackingParticle> >,double> > >,hash<unsigned int>,equal_to<unsigned int>,tbb::detail::d1::tbb_allocator<pair<const unsigned int,edm::helpers::KeyVal<edm::RefToBase<reco::Track>,vector<pair<edm::Ref<vector<TrackingParticle>,TrackingParticle,edm::refhelper::FindUsingAdvance<vector<TrackingParticle>,TrackingParticle> >,double> > > > >,false> >'
----- End Fatal Exception -------------------------------------------------
vgvassilev commented 3 years ago

 That is one of the last missing feature in ROOT. I know what the problem is and I have 1-2 implementation strategies in mind. Currently I have 0 bandwidth, sorry.