Uploaded image for project: 'ROOT'
  1. ROOT
  2. ROOT-8804

Segfault during TClass::GetClass for missing dictionary

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • High
    • 6.10/00, 6.08/08
    • 6.08/06
    • Dictionaries
    • None
    • Scientific Linux release 7.3

    Description

      Reading the attached file and then calling {{TClass::GetClass("std::vector<artdaq::Fragment>")} results in a segmentation violation.

      {{[knoepfel@woof ~]$ root -l ~greenc/tmp/lariat_r005214_sr0002.root
      root [0]
      Attaching file /home/greenc/tmp/lariat_r005214_sr0002.root as _file0...
      Warning in <TClass::Init>: no dictionary for class art::BranchKey is available
      Warning in <TClass::Init>: no dictionary for class art::BranchDescription is available
      Warning in <TClass::Init>: no dictionary for class art::BranchID is available
      Warning in <TClass::Init>: no dictionary for class fhicl::ParameterSetID is available
      Warning in <TClass::Init>: no dictionary for class boost::array<unsigned char,20> is available
      Warning in <TClass::Init>: no dictionary for class art::Hash<3> is available
      Warning in <TClass::Init>: no dictionary for class art::Transient<art::BranchDescription::Transients> is available
      Warning in <TClass::Init>: no dictionary for class art::Hash<2> is available
      Warning in <TClass::Init>: no dictionary for class art::ProcessHistory is available
      Warning in <TClass::Init>: no dictionary for class art::ProcessConfiguration is available
      Warning in <TClass::Init>: no dictionary for class art::Transient<art::ProcessHistory::Transients> is available
      Warning in <TClass::Init>: no dictionary for class art::EventAuxiliary is available
      Warning in <TClass::Init>: no dictionary for class art::EventID is available
      Warning in <TClass::Init>: no dictionary for class art::RunID is available
      Warning in <TClass::Init>: no dictionary for class art::SubRunID is available
      Warning in <TClass::Init>: no dictionary for class art::Timestamp is available
      Warning in <TClass::Init>: no dictionary for class art::SubRunAuxiliary is available
      Warning in <TClass::Init>: no dictionary for class art::RunAuxiliary is available
      Warning in <TClass::Init>: no dictionary for class art::Wrapper<vector<artdaq::Fragment> > is available
      Warning in <TClass::Init>: no dictionary for class art::EDProduct is available
      Warning in <TClass::Init>: no dictionary for class artdaq::Fragment is available
      Warning in <TClass::Init>: no dictionary for class artdaq::QuickVec<ULong64_t> is available
      Warning in <TClass::Init>: no dictionary for class art::Wrapper<art::TriggerResults> is available
      Warning in <TClass::Init>: no dictionary for class art::TriggerResults is available
      Warning in <TClass::Init>: no dictionary for class art::HLTGlobalStatus is available
      Warning in <TClass::Init>: no dictionary for class art::DoNotRecordParents is available
      Warning in <TClass::Init>: no dictionary for class art::Wrapper<vector<artdaq::PackageBuildInfo> > is available
      Warning in <TClass::Init>: no dictionary for class artdaq::PackageBuildInfo is available
      Warning in <TClass::Init>: no dictionary for class art::History is available
      Warning in <TClass::Init>: no dictionary for class art::ProductProvenance is available
      Warning in <TClass::Init>: no dictionary for class art::Hash<5> is available
      Warning in <TClass::Init>: no dictionary for class art::Transient<art::ProductProvenance::Transients> is available
      Warning in <TClass::Init>: no dictionary for class art::HLTPathStatus is available
      Warning in <TClass::Init>: no dictionary for class art::FileFormatVersion is available
      Warning in <TClass::Init>: no dictionary for class art::FileIndex is available
      Warning in <TClass::Init>: no dictionary for class art::Transient<art::FileIndex::Transients> is available
      Warning in <TClass::Init>: no dictionary for class art::FileIndex::Element is available
      Warning in <TClass::Init>: no dictionary for class pair<const art::Hash<2>,art::ProcessHistory> is available
      Warning in <TClass::Init>: no dictionary for class art::ProductRegistry is available
      Warning in <TClass::Init>: no dictionary for class pair<art::BranchKey,art::BranchDescription> is available
      Warning in <TClass::Init>: no dictionary for class art::Parentage is available
      Warning in <TClass::Init>: no dictionary for class art::BranchChildren is available
      Warning in <TClass::Init>: no dictionary for class pair<art::BranchID,set<art::BranchID> > is available
      (TFile *) 0x2c86040
      root [1] TClass::GetClass("std::vector<artdaq::Fragment>")

          • Break *** segmentation violation
            Root >
            }}

      I would expect it to return a nullptr, or something equivalent.

      Attachments

        Activity

          People

            pcanal Philippe Canal
            8ad121ca011a999be580 Kyle Knoepfel
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: