Fireworks does not work, missing dictionaryfor class error
I found a problem when trying to run Fireworks on some Phase-2 samples. The samples have been produced with CMSSW_15_1_0_pre3, with the following wf: 29696.203
When trying to run cmsShow -g geomFile.root step3.root (or even without the geometry file) I get the following error:
Starting cmsShow, version CMSSW_15_1_0_pre3.
Info: No data file given.
Info: Geometry file step3_Delta4.root
[wahid@wa-x1 src]$ cmsShow -g cmsRecoGeom-2026_D110MTD.root step3_Delta4.root
Starting cmsShow, version CMSSW_15_1_0_pre3.
Info: Input step3_Delta4.root
Info: Geometry file cmsRecoGeom-2026_D110MTD.root
Info: Load idToGeo 2026 from /home/wahid/Programs/CMSSW/CMSSW_15_1_0_pre3/src/./cmsRecoGeom-2026_D110MTD.root
Info: Checking process history. step3_Delta4.root latest process "SIM", version "CMSSW_15_1_0_pre3"
Info: Set current file to step3_Delta4.root.
Navigator::openFile caught exception An exception of category 'DictionaryNotFound' occurred.
Exception Message:
No Dictionary for class: '_Rb_tree<string,pair<const string,l1t::P2GTAlgoBlock>,_Select1st<pair<const string,l1t::P2GTAlgoBlock> >,less<string>,allocator<pair<const string,l1t::P2GTAlgoBlock> > >'
Info: Checking process history. /home/wahid/Programs/CMSSW/CMSSW_15_1_0_pre3/src/step3_Delta4.root latest process "SIM", version "CMSSW_15_1_0_pre3"
Reading 3268877 bytes in 414 transactions.
Info: Set current file to /home/wahid/Programs/CMSSW/CMSSW_15_1_0_pre3/src/step3_Delta4.root.
Error: Navigator::openFile caught exception An exception of category 'DictionaryNotFound' occurred.
Exception Message:
No Dictionary for class: '_Rb_tree<string,pair<const string,l1t::P2GTAlgoBlock>,_Select1st<pair<const string,l1t::P2GTAlgoBlock> >,less<string>,allocator<pair<const string,l1t::P2GTAlgoBlock> > >'
Info: Loading configuration file reco.fwc
Program received signal ID = 11
Printing stack trace ...
/cvmfs/cms.cern.ch/el9_amd64_gcc12/cms/cmssw/CMSSW_15_1_0_pre3/bin/el9_amd64_gcc12/cmsShow: line 152: glxinfo: command not found
Error: CmsShowMain::loadGeometry() caught exception:
step3_Delta4.root ERROR: cannot find detector id map in the file. Initialization failed.
I noticed the problem even in previous releases, I checked until CMSSW_15_0_0_pre2.
I managed to run it by dropping all the collections, keeping only few HGCAL collections I needed.
The same problem seems to happen using Fireworks-web (fireworks.cern.ch)
@felicepantaleo @rovere FYI
cms-bot internal usage
A new Issue was created by @waredjeb.
@Dr15Jones, @antoniovilela, @makortel, @mandrenguyen, @rappoccio, @sextonkennedy, @smuzaffar can you please review it and eventually sign/assign? Thanks.
cms-bot commands are listed here
assign visualization, l1
New categories assigned: visualization,l1
@alja,@BenjaminRS,@Dr15Jones,@makortel,@quinnanm you have been requested to review this Pull request/Issue and eventually sign? Thanks
The error complains about
No Dictionary for class: '_Rb_tree<string,pair<const string,l1t::P2GTAlgoBlock>,_Select1st<pair<const string,l1t::P2GTAlgoBlock> >,less<string>,allocator<pair<const string,l1t::P2GTAlgoBlock> > >'
but that should get defined via https://github.com/cms-sw/cmssw/blob/450f248b8d24194a8962f492f6030147fd70e9dc/DataFormats/L1Trigger/src/classes_def.xml#L35-L36 https://github.com/cms-sw/cmssw/blob/450f248b8d24194a8962f492f6030147fd70e9dc/DataFormats/L1Trigger/interface/P2GTAlgoBlock.h#L9-L12
@pcanal Any thoughts what could be going wrong?
Where does it (indirectly) comes from? It looks like some code is trying to look at the data member of an STL collection. i.e. peering at the data member even-though the TClass has a CollectionProxy.
The problem may (or may not) simply be that the map is not loaded.
@waredjeb Do you know which Fireworks collection is causing this error? If this is hgcal related fireworks collection we may need to add the dependency to DataFormats/L1Trigger library in Fireworks buildfile https://github.com/alja/FireworksWeb/blob/main/Calo/BuildFile.xml.
Also, please send me the data file so I can reproduce the error.
Sorry @alja I completely missed the message. From the error the input collection is the following.
No Dictionary for class: '_Rb_tree<string,pair<const string,l1t::P2GTAlgoBlock>,_Select1st<pair<const string,l1t::P2GTAlgoBlock> >,less<string>,allocator<pair<const string,l1t::P2GTAlgoBlock> > >'
Which I guess could be the following collection:
Type Module Label Process
--------------------------------------------------------------------------------------------
map<string,l1t::P2GTAlgoBlock> "l1tGTAlgoBlockProducer" "" "HLT"
Here's a RECO step file:
https://cernbox.cern.ch/s/Fj3NrWMDxcdRjSf
@waredjeb
Thank you for the report! I have made a PR #48645 to fix the crash.
I have made the same correction in FireworksWeb. I will do the update of the fireworks.cern.ch service later in the week.
Thank you for the report! I have made a PR #48645 to fix the crash.
I have made the same correction in FireworksWeb. I will do the update of the fireworks.cern.ch service later in the week.
Thanks a lot!
@waredjeb The fireworks.cern.ch has now the correction for this bug.
We can probably close the issue then
+visualization
@cmsbuild, please close