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

Segfault during TClass::GetClass for missing dictionary

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: High
    • Resolution: Fixed
    • Affects Version/s: 6.08/06
    • Fix Version/s: 6.10/00, 6.08/08
    • Component/s: Dictionaries
    • Labels:
      None
    • Environment:

      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

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

              Dates

              • Created:
                Updated:
                Resolved: