Skip to content

Introduce common NotImplemented exception and display its stacktrace

Ben Couturier requested to merge not_implemented_cleanup into master

Introduce common NotImplemented exception and display its stacktrace: in case a method is not implemented, the current printout ends up in the gaudi log:

ConditionDepend...  ERROR +++ Exception while creating dependent Condition /world#AlgorithmSpecific-MuonRawToHits-TilePositionCalculator:
ConditionDepend...  ERROR 		not implemented

with this MR, one gets for example:

ConditionDepend...  ERROR +++ Exception while creating dependent Condition /world#AlgorithmSpecific-MuonRawToHits-TilePositionCalculator:
ConditionDepend...  ERROR 		Not implemented:
#1  0x7fab2cacff98 LHCb::Detector::DeMuonElement<LHCb::Detector::detail::DeMuonObject>::position(LHCb::Detector::Muon::TileID) const  [/home/lben/develop/geoinfo/LHCb/build.x86_64_v2-centos7-gcc11+dd4hep-dbg/Det/MuonDet/libMuonDetLib.so]
#2  0x7fab2cace32a LHCb::Muon::ComputeTilePosition::ComputeTilePosition(LHCb::Detector::DeMuonElement<LHCb::Detector::detail::DeMuonObject> const&)  [/home/lben/develop/geoinfo/LHCb/build.x86_64_v2-centos7-gcc11+dd4hep-dbg/Det/MuonDet/libMuonDetLib.so]
#3  0 local  [/home/lben/develop/geoinfo/LHCb/build.x86_64_v2-centos7-gcc11+dd4hep-dbg/Muon/MuonDAQ/libMuonDAQ.so]
#4  0x7fab05b35e9a LHCb::Det::LbDD4hep::GenericConditionUpdateCall::GenericConditionUpdateCall<LHCb::Muon::ComputeTilePosition (*)(LHCb::Detector::DeMuonElement<LHCb::Detector::detail::DeMuonObject> const&)>(LHCb::Muon::ComputeTilePosition (*)(LHCb::Detector::DeMuonElement<LHCb::Detector::detail::DeMuonObject> const&), std::experimental::fundamentals_v2::source_location)::{lambda(dd4hep::detail::ConditionObject*, dd4hep::cond::ConditionUpdateContext const&)#1}::operator()(dd4hep::detail::ConditionObject*, dd4hep::cond::ConditionUpdateContext const&) const  [/home/lben/develop/geoinfo/LHCb/build.x86_64_v2-centos7-gcc11+dd4hep-dbg/Muon/MuonDAQ/libMuonDAQ.so]
#5  0x7fab05b361cf std::_Function_handler<void (dd4hep::detail::ConditionObject*, dd4hep::cond::ConditionUpdateContext&), LHCb::Det::LbDD4hep::GenericConditionUpdateCall::GenericConditionUpdateCall<LHCb::Muon::ComputeTilePosition (*)(LHCb::Detector::DeMuonElement<LHCb::Detector::detail::DeMuonObject> const&)>(LHCb::Muon::ComputeTilePosition (*)(LHCb::Detector::DeMuonElement<LHCb::Detector::detail::DeMuonObject> const&), std::experimental::fundamentals_v2::source_location)::{lambda(dd4hep::detail::ConditionObject*, dd4hep::cond::ConditionUpdateContext const&)#1}>::_M_invoke(std::_Any_data const&, dd4hep::detail::ConditionObject*&&, dd4hep::cond::ConditionUpdateContext&)  [/home/lben/develop/geoinfo/LHCb/build.x86_64_v2-centos7-gcc11+dd4hep-dbg/Muon/MuonDAQ/libMuonDAQ.so]
#6  0x7fab05dbc98c LHCb::Det::LbDD4hep::GenericConditionUpdateCall::operator()(dd4hep::ConditionKey const&, dd4hep::cond::ConditionUpdateContext&)  [/home/lben/develop/geoinfo/LHCb/build.x86_64_v2-centos7-gcc11+dd4hep-dbg/Det/LbDD4hep/libLbDD4hep.so]
#7  0x7fab232f0ef8 dd4hep::cond::ConditionsDependencyHandler::do_callback(dd4hep::cond::ConditionsDependencyHandler::Work*)  [/cvmfs/lhcb.cern.ch/lib/lcg/releases/DD4hep/01.19-e2ca1/x86_64-centos7-gcc11-dbg/lib/libDDCond.so.1.19]
#8  0x7fab232f02e0 dd4hep::cond::ConditionsDependencyHandler::compute()  [/cvmfs/lhcb.cern.ch/lib/lcg/releases/DD4hep/01.19-e2ca1/x86_64-centos7-gcc11-dbg/lib/libDDCond.so.1.19]
#9  0x7fab059a8da4 dd4hep::cond::ConditionsMappedUserPool<std::map<unsigned long long, dd4hep::detail::ConditionObject*, std::less<unsigned long long>, std::allocator<std::pair<unsigned long long const, dd4hep::detail::ConditionObject*> > > >::compute(dd4hep::IOV const&, dd4hep::cond::ConditionsSlice&, dd4hep::cond::ConditionUpdateUserContext*)  [/cvmfs/lhcb.cern.ch/lib/lcg/releases/DD4hep/01.19-e2ca1/x86_64-centos7-gcc11-dbg/lib/libDDCondPlugins.so.1.19]
#10 0x7fab0597ad28 dd4hep::cond::Manager_Type1::compute(dd4hep::IOV const&, dd4hep::cond::ConditionsSlice&, dd4hep::cond::ConditionUpdateUserContext*)  [/cvmfs/lhcb.cern.ch/lib/lcg/releases/DD4hep/01.19-e2ca1/x86_64-centos7-gcc11-dbg/lib/libDDCondPlugins.so.1.19]
#11 0x7fab232fb69c dd4hep::cond::ConditionsManager::compute(dd4hep::IOV const&, dd4hep::cond::ConditionsSlice&, dd4hep::cond::ConditionUpdateUserContext*) const  [/cvmfs/lhcb.cern.ch/lib/lcg/releases/DD4hep/01.19-e2ca1/x86_64-centos7-gcc11-dbg/lib/libDDCond.so.1.19]
#12 0x7fab238400fc LHCb::Detector::DetectorDataService::load_slice(unsigned long)  [/home/lben/develop/geoinfo/Detector/InstallArea/x86_64_v2-centos7-gcc11+dd4hep-dbg/lib/libDetectorLib.so]
#13 0x7fab238404e0 LHCb::Detector::DetectorDataService::get_slice(unsigned long)  [/home/lben/develop/geoinfo/Detector/InstallArea/x86_64_v2-centos7-gcc11+dd4hep-dbg/lib/libDetectorLib

Merge request reports