cmssw: Fatal Exception in Express processing with CMSSW_13_0_7

There are some reported crashed in the Express processing of StreamHLTMonitor for run 368318 (see CMSTalk post).

The exception is:

An exception of category 'InvalidReference' occurred while
   [0] Processing  Event run: 368318 lumi: 159 event: 237000809 stream: 0
   [1] Running path 'dqmoffline_step'
   [2] Calling method for module ParticleNetJetTagMonitor/'particleNetAK8HbbTagMonitoring'
Exception Message:
attempting to get view from an unavailable RefToBaseProd.

Recipe to reproduce the error:

cmsrel CMSSW_13_0_7
cd CMSSW_13_0_7/src
cmsenv
cp /eos/cms/store/logs/prod/recent/Express/Express_Run368318_StreamHLTMonitor/Express/vocms0314.cern.ch-441154-0-log.tar.gz .
tar -zxvf vocms0314.cern.ch-441154-0-log.tar.gz 
cd job/WMTaskSpace/cmsRun1

edit the PSet.py to be:

import FWCore.ParameterSet.Config as cms
import pickle
with open('PSet.pkl', 'rb') as handle:
    process = pickle.load(handle)
    process.options.numberOfThreads=cms.untracked.uint32(1)
    process.options.numberOfStreams=cms.untracked.uint32(1)
    process.source.skipEvents = cms.untracked.uint32(169)

run it with:

cmsRun PSet.py

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Comments: 23 (23 by maintainers)

Most upvoted comments

I’ll close this given it has been addressed in #41858 + #41930. Thanks everyone!

The isAvailable() member function is added to edm::RefToBaseProd in #41858.

given the thread in #41858 (comment) it’s not clear to me if the recommendation is to NOT protect the DQM code with this because of disk reading costs, or not.

The DQM code de-references the corresponding RefToBase’s in https://github.com/cms-sw/cmssw/blob/d2f6636f4568e620182fe0782133a243bfacf4fb/DQMOffline/Trigger/plugins/ParticleNetJetTagMonitor.cc#L871-L872 so the data would be read from storage in any case. So the cost of an isAvailable() check there should be negligible.

Unfortunately that code does not work today, because edm::RefToBaseProd (the type returned by keyProduct() above) does not have isAvailable() member function. It looks to be straightforward to add though (and therefore will do).

The isAvailable() member function is added to edm::RefToBaseProd in https://github.com/cms-sw/cmssw/pull/41858.