Undefined behaviour in RICH monitoring code
The following discussion from !705 (merged) should be addressed:
-
@rmatev started a discussion: (+1 comment) Looking at lhcb-sanitizers from 3 days ago (the latest where the Gauss ubsan tests finished), I see a couple of issues in gauss-config-2016-epos-phe, none of which seems EPOS specific (RICH monitoring code)
/workspace/build/Gauss/Sim/GaussRICH/src/RichAnalysis/RichG4HistoFillSet2.cpp:375:53: runtime error: downcast of address 0x00001ea246c0 which does not point to an object of type 'G4Trajectory' 0x00001ea246c0: note: object is of type 'GaussTrajectory' 00 00 00 00 30 a8 79 b8 6b 7f 00 00 70 f5 83 01 00 00 00 00 80 f5 83 01 00 00 00 00 80 f5 83 01 ^~~~~~~~~~~~~~~~~~~~~~~ vptr for 'GaussTrajectory' #0 0x7f6bb2eabf4e in RichG4HistoFillSet2::FillRichG4HistoSet2(G4Event const*, int, std::vector<int, std::allocator<int> > const&) /workspace/build/Gauss/Sim/GaussRICH/src/RichAnalysis/RichG4HistoFillSet2.cpp:375 #1 0x7f6bb2f7facf in RichG4EventAction::EndOfEventAction(G4Event const*) /workspace/build/Gauss/Sim/GaussRICH/src/RichAction/RichG4EventAction.cpp:386 #2 0x7f6bba20a105 in GiGaEventActionSequence::EndOfEventAction(G4Event const*) /workspace/build/Gauss/Sim/GaussTools/src/Components/GiGaEventActionSequence.cpp:127 #3 0x7f6bcbc3c822 in G4EventManager::DoProcessing(G4Event*) (/cvmfs/lhcb.cern.ch/lib/lhcb/GEANT4/GEANT4_v106r2p3/InstallArea/x86_64-centos7-gcc9-dbg/lib/libG4event.so+0x24822) #4 0x7f6bcca76e50 in GiGaRunManager::processTheEvent() /workspace/build/Gauss/Sim/GiGa/src/component/GiGaRunManager.cpp:216 #5 0x7f6bcca738b8 in GiGaRunManager::retrieveTheEvent(G4Event const*&) /workspace/build/Gauss/Sim/GiGa/src/component/GiGaRunManager.cpp:167 #6 0x7f6bcc9a10eb in GiGa::retrieveTheEvent(G4Event const*&) /workspace/build/Gauss/Sim/GiGa/src/component/GiGa.cpp:489 #7 0x7f6bcca4aba9 in GiGa::operator>>(G4Event const*&) /workspace/build/Gauss/Sim/GiGa/src/component/GiGaIGiGaSvc.cpp:83 #8 0x7f6bcca52124 in GiGa::retrieveEvent(G4Event const*&) /workspace/build/Gauss/Sim/GiGa/src/component/GiGaIGiGaSvc.cpp:221 #9 0x7f6b8bc93775 in GiGaFlushAlgorithm::execute() /workspace/build/Gauss/Sim/GaussAlgs/src/GiGaFlushAlgorithm.cpp:84
/workspace/build/Gauss/Sim/GaussRICH/src/RichAnalysis/RichG4HistoFillSet2.cpp:377:41: runtime error: member call on address 0x00001ea246c0 which does not point to an object of type 'G4Trajectory' 0x00001ea246c0: note: object is of type 'GaussTrajectory' 00 00 00 00 30 a8 79 b8 6b 7f 00 00 70 f5 83 01 00 00 00 00 80 f5 83 01 00 00 00 00 80 f5 83 01 ^~~~~~~~~~~~~~~~~~~~~~~ vptr for 'GaussTrajectory' #0 0x7f6bb2eabf79 in RichG4HistoFillSet2::FillRichG4HistoSet2(G4Event const*, int, std::vector<int, std::allocator<int> > const&) /workspace/build/Gauss/Sim/GaussRICH/src/RichAnalysis/RichG4HistoFillSet2.cpp:377 #1 0x7f6bb2f7facf in RichG4EventAction::EndOfEventAction(G4Event const*) /workspace/build/Gauss/Sim/GaussRICH/src/RichAction/RichG4EventAction.cpp:386 #2 0x7f6bba20a105 in GiGaEventActionSequence::EndOfEventAction(G4Event const*) /workspace/build/Gauss/Sim/GaussTools/src/Components/GiGaEventActionSequence.cpp:127 #3 0x7f6bcbc3c822 in G4EventManager::DoProcessing(G4Event*) (/cvmfs/lhcb.cern.ch/lib/lhcb/GEANT4/GEANT4_v106r2p3/InstallArea/x86_64-centos7-gcc9-dbg/lib/libG4event.so+0x24822) #4 0x7f6bcca76e50 in GiGaRunManager::processTheEvent() /workspace/build/Gauss/Sim/GiGa/src/component/GiGaRunManager.cpp:216 #5 0x7f6bcca738b8 in GiGaRunManager::retrieveTheEvent(G4Event const*&) /workspace/build/Gauss/Sim/GiGa/src/component/GiGaRunManager.cpp:167 #6 0x7f6bcc9a10eb in GiGa::retrieveTheEvent(G4Event const*&) /workspace/build/Gauss/Sim/GiGa/src/component/GiGa.cpp:489 #7 0x7f6bcca4aba9 in GiGa::operator>>(G4Event const*&) /workspace/build/Gauss/Sim/GiGa/src/component/GiGaIGiGaSvc.cpp:83 #8 0x7f6bcca52124 in GiGa::retrieveEvent(G4Event const*&) /workspace/build/Gauss/Sim/GiGa/src/component/GiGaIGiGaSvc.cpp:221 #9 0x7f6b8bc93775 in GiGaFlushAlgorithm::execute() /workspace/build/Gauss/Sim/GaussAlgs/src/GiGaFlushAlgorithm.cpp:84