Project

General

Profile

Bug #17155

Segfault when reading ROOT file in limited environment lacking some data product libraries.

Added by Brett Viren about 2 years ago. Updated almost 2 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Target version:
Start date:
07/11/2017
Due date:
% Done:

100%

Estimated time:
2.00 h
Spent time:
Scope:
Internal
Experiment:
-
SSI Package:
art
Duration:

Description

As originally reported on the larsoft mailing list I came across a segfault if loading a MicroBooNE file from production process in an environment only set up for larsoft (v06_42_00) and art (v2_07_03). This was done on Ubuntu 16.04 in a dev environment but with art and other UPS products as binaries built at FNAL.

To reproduce the problem one needs only a .fcl file like:

source :{
   module_type: RootInput
   maxEvents: 1
}

and the ROOT file. I don't know how to best provide this but the file I used is named:

PhysicsRun-2016_4_16_16_4_43-0005937-00029_20160417T025948_ext_unbiased_20160417T043249_merged_20160428T225457_reco1_20160429T060831_reco2_20170622T153953_reco1_20170622T164220_reco2.root

I give below the session output and a stack trace from GDB.

The help from Kyle on the mailing list successfully let me avoid this problem either by setting:

    inputCommands: ["drop raw::ubdaqSoftwareTriggerData_*_*_*"]

or
    inputCommands: ["drop *", "keep raw::RawDigits_*_*_*"]

in the RootInput FHiCL table.


$ gdb --args lar -c ../srcs/larwirecell/larwirecell/LArInterface/read-one.fcl  -s /opt/bviren/wcls/data/PhysicsRun-2016_4_16_16_4_43-0005937-00029_20160417T025948_ext_unbiased_20160417T043249_merged_20160428T225457_reco1_20160429T060831_reco2_20170622T153953_reco1_20170622T164220_reco2.root 
GNU gdb (GDB) 7.12
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying" 
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from lar...done.
(gdb) r
Starting program: /opt/fnal/products/art/v2_07_03/u16.x86_64.e14.nu.prof/bin/lar -c ../srcs/larwirecell/larwirecell/LArInterface/read-one.fcl -s /opt/bviren/wcls/data/PhysicsRun-2016_4_16_16_4_43-0005937-00029_20160417T025948_ext_unbiased_20160417T043249_merged_20160428T225457_reco1_20160429T060831_reco2_20170622T153953_reco1_20170622T164220_reco2.root
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
INFO: using default process_name, "DUMMY." 
%MSG-i MF_INIT_OK:  Early 11-Jul-2017 12:31:30 EDT JobSetup
Messagelogger initialization complete.
%MSG
11-Jul-2017 12:31:31 EDT  Initiating request to open input file "/opt/bviren/wcls/data/PhysicsRun-2016_4_16_16_4_43-0005937-00029_20160417T025948_ext_unbiased_20160417T043249_merged_20160428T225457_reco1_20160429T060831_reco2_20170622T153953_reco1_20170622T164220_reco2.root" 
%MSG-i Root_Information:  Early TClass::Init() 11-Jul-2017 12:31:32 EDT JobSetup
no dictionary for class art::Wrapper<raw::ubdaqSoftwareTriggerData> is available
%MSG
%MSG-i Root_Information:  Early TClass::Init() 11-Jul-2017 12:31:32 EDT JobSetup
no dictionary for class raw::ubdaqSoftwareTriggerData is available
%MSG
11-Jul-2017 12:31:32 EDT  Opened input file "/opt/bviren/wcls/data/PhysicsRun-2016_4_16_16_4_43-0005937-00029_20160417T025948_ext_unbiased_20160417T043249_merged_20160428T225457_reco1_20160429T060831_reco2_20170622T153953_reco1_20170622T164220_reco2.root" 

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff5ab99be in TCollection::begin() const ()
   from /home/bviren/dev/wcls/products/root/v6_08_06g/Linux64bit+4.4-2.23-e14-nu-prof/lib/libCore.so
(gdb) where
#0  0x00007ffff5ab99be in TCollection::begin() const ()
   from /home/bviren/dev/wcls/products/root/v6_08_06g/Linux64bit+4.4-2.23-e14-nu-prof/lib/libCore.so
#1  0x00007ffff18e0c02 in art::DictionaryChecker::checkDictionaries (this=this@entry=0x7fffffff0720, name_orig=..., recursive=<optimized out>, 
    level=level@entry=0) at /home/vagrant/build/prof/build/canvas/v2_00_02/src/canvas/Persistency/Provenance/DictionaryChecker.cc:445
#2  0x00007ffff228d707 in art::MasterProductRegistry::checkDicts_ (this=this@entry=0x7fffffff0590, productDesc=...)
    at /home/vagrant/build/prof/build/art/v2_07_03/src/art/Persistency/Provenance/MasterProductRegistry.cc:429
#3  0x00007ffff2292589 in art::MasterProductRegistry::initFromFirstPrimaryFile (this=0x7fffffff0590, pl=..., presList=..., fb=...)
    at /home/vagrant/build/prof/build/art/v2_07_03/src/art/Persistency/Provenance/MasterProductRegistry.cc:239
#4  0x00007ffff51576ee in art::RootInputFileSequence::initFile (this=this@entry=0x3992580, skipBadFiles=<optimized out>, 
    initMPR=initMPR@entry=true) at /home/vagrant/build/prof/build/art/v2_07_03/src/art/Framework/IO/Root/RootInputFileSequence.cc:367
#5  0x00007ffff5159d3b in art::RootInputFileSequence::RootInputFileSequence (this=0x3992580, config=..., catalog=..., fcip=..., 
    pMode=<optimized out>, mpr=..., processConfig=...)
    at /home/vagrant/build/prof/build/art/v2_07_03/src/art/Framework/IO/Root/RootInputFileSequence.cc:154
#6  0x00007fffe19d5ec1 in std::make_unique<art::RootInputFileSequence, fhicl::TableFragment<art::RootInputFileSequence::Config> const&, art::InputFileCatalog&, art::FastCloningInfoProvider, art::InputSource::ProcessingMode, art::MasterProductRegistry&, art::ProcessConfiguration const&>(fhicl::TableFragment<art::RootInputFileSequence::Config> const&, art::InputFileCatalog&, art::FastCloningInfoProvider&&, art::InputSource::ProcessingMode&&, art::MasterProductRegistry&, art::ProcessConfiguration const&) ()
    at /home/vagrant/build/prof/build/gcc/v6_3_0/Linux64bit+4.4-2.23/include/c++/6.3.0/bits/unique_ptr.h:791
#7  art::RootInput::RootInput (this=0x3992100, config=..., desc=...)
    at /home/vagrant/build/prof/build/art/v2_07_03/src/art/Framework/IO/Root/RootInput_source.cc:77
#8  0x00007fffe19e60f8 in std::make_unique<art::RootInput, fhicl::ParameterSet const&, art::InputSourceDescription&> (__args#0=..., 
    __args#1=...) at /home/vagrant/build/prof/build/gcc/v6_3_0/Linux64bit+4.4-2.23/include/c++/6.3.0/bits/unique_ptr.h:791
#9  0x00007fffe19d63e5 in make (ps=..., desc=...)
    at /home/vagrant/build/prof/build/art/v2_07_03/src/art/Framework/IO/Root/RootInput_source.cc:265
#10 0x00007ffff352ead7 in art::InputSourceFactory::make (conf=..., desc=...)
    at /home/vagrant/build/prof/build/art/v2_07_03/src/art/Framework/Core/InputSourceFactory.cc:44
#11 0x00007ffff3e06154 in (anonymous namespace)::makeInput (areg=..., preg=..., processName=..., params=...)
    at /home/vagrant/build/prof/build/art/v2_07_03/src/art/Framework/EventProcessor/EventProcessor.cc:85
#12 art::EventProcessor::EventProcessor (this=0x7ffffffef0d0, pset=...)
    at /home/vagrant/build/prof/build/art/v2_07_03/src/art/Framework/EventProcessor/EventProcessor.cc:137
#13 0x00007ffff7b8854f in art::run_art_common_ (main_pset=..., debug=...)
    at /home/vagrant/build/prof/build/art/v2_07_03/src/art/Framework/Art/run_art.cc:236
#14 0x00007ffff7b8a580 in art::run_art(int, char**, boost::program_options::options_description&, cet::filepath_maker&, std::vector<std::unique_ptr<art::OptionsHandler, std::default_delete<art::OptionsHandler> >, std::allocator<std::unique_ptr<art::OptionsHandler, std::default_delete<art::OptionsHandler> > > >&&, art::detail::DebugOutput&&) (argc=argc@entry=5, argv=argv@entry=0x7fffffff1498, in_desc=..., lookupPolicy=..., 
    handlers=..., dbg=...) at /home/vagrant/build/prof/build/art/v2_07_03/src/art/Framework/Art/run_art.cc:136
#15 0x00007ffff7b85d46 in artapp (argc=5, argv=0x7fffffff1498)
    at /home/vagrant/build/prof/build/art/v2_07_03/build-Linux64bit+4.4-2.23-e14-nu-prof/art/Framework/Art/artapp.cc:56
#16 0x000000000040130c in main (argc=<optimized out>, argv=<optimized out>)
    at /home/vagrant/build/prof/build/art/v2_07_03/build-Linux64bit+4.4-2.23-e14-nu-prof/art/Framework/Art/lar.cc:8

History

#1 Updated by Kyle Knoepfel about 2 years ago

  • Project changed from art to canvas
  • Status changed from New to Accepted
  • Assignee set to Kyle Knoepfel
  • Estimated time set to 2.00 h
  • SSI Package art added

#2 Updated by Kyle Knoepfel about 2 years ago

  • Status changed from Accepted to Assigned

#3 Updated by Kyle Knoepfel almost 2 years ago

  • Target version set to 2.08.00
  • % Done changed from 0 to 100

#4 Updated by Kyle Knoepfel almost 2 years ago

  • Status changed from Assigned to Resolved

Fix implemented with commit canvas:31454d4.

#5 Updated by Kyle Knoepfel almost 2 years ago

  • Status changed from Resolved to Closed


Also available in: Atom PDF