cms-sw / cmssw

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

Assertion failure in edm::RootInputFileSequence::fileProductRegistry() #44876

Open makortel opened 3 months ago

makortel commented 3 months ago

https://cms-talk.web.cern.ch/t/crab-task-queued-on-command-submit-for-a-while/39714/19 showed that an assertion

cmsRun: ../IOPool/Input/src/RootInputFileSequence.cc:42: std::shared_ptr<const edm::ProductRegistry> edm::RootInputFileSequence::fileProductRegistry() const: Assertion `rootFile()' failed.

0x00001464381ff387 in raise () from /lib64/libc.so.6
0x0000146438200a78 in abort () from /lib64/libc.so.6
0x00001464381f81a6 in __assert_fail_base () from /lib64/libc.so.6
0x00001464381f8252 in __assert_fail () from /lib64/libc.so.6
0x00001464097db25b in edm::RootInputFileSequence::fileProductRegistry() const () from /srv/CMSSW_12_4_11_patch3/lib/slc7_amd64_gcc10/pluginIOPoolInput.so
0x00001464097a0a45 in edm::PoolSource::PoolSource(edm::ParameterSet const&, edm::InputSourceDescription const&) () from /srv/CMSSW_12_4_11_patch3/lib/slc7_amd64_gcc10/pluginIOPoolInput.so
0x000014640979d10f in edmplugin::PluginFactory<edm::InputSource* (edm::ParameterSet const&, edm::InputSourceDescription const&)>::PMaker<edm::PoolSource>::create(edm::ParameterSet const&, edm::InputSourceDescription const&) const () from /srv/CMSSW_12_4_11_patch3/lib/slc7_amd64_gcc10/pluginIOPoolInput.so
0x000014643ac62483 in edm::InputSourceFactory::makeInputSource(edm::ParameterSet const&, edm::InputSourceDescription const&) const () from /cvmfs/cms.cern.ch/slc7_amd64_gcc10/cms/cmssw/CMSSW_12_4_11/lib/slc7_amd64_gcc10/libFWCoreFramework.so
0x000014643abefa37 in edm::makeInput(edm::ParameterSet&, edm::CommonParams const&, std::shared_ptr<edm::ProductRegistry>, std::shared_ptr<edm::BranchIDListHelper>, std::shared_ptr<edm::ProcessBlockHelper> const&, std::shared_ptr<edm::ThinnedAssociationsHelper>, std::shared_ptr<edm::ActivityRegistry>, std::shared_ptr<edm::ProcessConfiguration const>, edm::PreallocationConfiguration const&) () from /cvmfs/cms.cern.ch/slc7_amd64_gcc10/cms/cmssw/CMSSW_12_4_11/lib/slc7_amd64_gcc10/libFWCoreFramework.so
0x000014643abf0cf9 in edm::EventProcessor::init(std::shared_ptr<edm::ProcessDesc>&, edm::ServiceToken const&, edm::serviceregistry::ServiceLegacy) () from /cvmfs/cms.cern.ch/slc7_amd64_gcc10/cms/cmssw/CMSSW_12_4_11/lib/slc7_amd64_gcc10/libFWCoreFramework.so
0x000014643abf2c8f in edm::EventProcessor::EventProcessor(std::shared_ptr<edm::ProcessDesc>, edm::ServiceToken const&, edm::serviceregistry::ServiceLegacy) () from /cvmfs/cms.cern.ch/slc7_amd64_gcc10/cms/cmssw/CMSSW_12_4_11/lib/slc7_amd64_gcc10/libFWCoreFramework.so
0x000000000040a190 in tbb::detail::d1::task_arena_function<main::{lambda()#1}::operator()() const::{lambda()#1}, void>::operator()() const ()
0x000014643938d0eb in tbb::detail::r1::task_arena_impl::execute (ta=..., d=...) at /data/cmsbld/jenkins/workspace/auto-builds/CMSSW_12_4_0_pre2-slc7_amd64_gcc10/build/CMSSW_12_4_0_pre2-build/BUILD/slc7_amd64_gcc10/external/tbb/v2021.5.0-e966a5acb1e4d5fd7605074bafbb079c/tbb-v2021.5.0/src/tbb/arena.cpp:698
0x000000000040b094 in main::{lambda()#1}::operator()() const ()
0x000000000040971c in main ()

fires when the PoolSource's skipBadFiles is set to True, and all the file opens of either fileNames or secondaryFileNames fail. Here is a minimal reproducer (replace the file_that_exists.root with whatever file that exists

import FWCore.ParameterSet.Config as cms

process = cms.Process("Test")

process.source = cms.Source("PoolSource",
    fileNames = cms.untracked.vstring("file:file_that_does_not_exist.root"),
    secondaryFileNames = cms.untracked.vstring("file:file_that_exists.root"),
    skipBadFiles = cms.untracked.bool(True),
)
makortel commented 3 months ago

assign core

cmsbuild commented 3 months ago

New categories assigned: core

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

cmsbuild commented 3 months ago

cms-bot internal usage

cmsbuild commented 3 months ago

A new Issue was created by @makortel.

@antoniovilela, @makortel, @Dr15Jones, @smuzaffar, @rappoccio, @sextonkennedy can you please review it and eventually sign/assign? Thanks.

cms-bot commands are listed here

makortel commented 3 months ago

Also the case where both primary and secondary files do not exist leads this assertion to fail.