Created attachment 579 [details] Compare geometry in 10.5 with 10.4. In the attached picture (comparison.png) you can see the visualisation of an object of our detector compiled with 10.4 (left) and 10.5 (right). In both cases the exact same code is used but the outcome is different. I use the Geant4 software from cvmfs on lxplus. I also created an example using the geometry suggested in the Application Developers manual. In 10.4 it works nicely as you can see whereas with 10.5. it crashes (part of error message below) in run and visualisation mode in vecgeom. If this is just a problem from our side by missing libraries or not changing the code concerning the new concepts introduced in the G4ExtrudedSolid in 10.5, I am sorry for bothering you. However, to me, nothing obvious appears that would need to be changed from the user side and the code compiles. ------------ #6 0x00007fd4f1334e8d in vecgeom::cxx::ExtrudedStruct::CreateTessellated(unsigned long, vecgeom::cxx::XtruVertex2 const*, unsigned long, vecgeom::cxx::XtruSection const*) () from /cvmfs/sft.cern.ch/lcg/releases/LCG_95/Geant4/10.05/x86_64-centos7-gcc7-opt/lib64/libG4geometry.so #7 0x00007fd4f131f5d8 in G4ExtrudedSolid::G4ExtrudedSolid(G4String const&, std::vector<CLHEP::Hep2Vector, std::allocator<CLHEP::Hep2Vector> >, std::vector<G4ExtrudedSolid::ZSection, std::allocator<G4ExtrudedSolid::ZSection> >) () from /cvmfs/sft.cern.ch/lcg/releases/LCG_95/Geant4/10.05/x86_64-centos7-gcc7-opt/lib64/libG4geometry.so #8 0x000000000040ac9d in B1DetectorConstruction::Construct() () #9 0x00007fd4f733ce70 in G4RunManager::InitializeGeometry() () from /cvmfs/sft.cern.ch/lcg/releases/LCG_95/Geant4/10.05/x86_64-centos7-gcc7-opt/lib64/libG4run.so #10 0x00007fd4f733cd29 in G4RunManager::Initialize() () from /cvmfs/sft.cern.ch/lcg/releases/LCG_95/Geant4/10.05/x86_64-centos7-gcc7-opt/lib64/libG4run.so #11 0x00007fd4f735b007 in G4RunMessenger::SetNewValue(G4UIcommand*, G4String) () from /cvmfs/sft.cern.ch/lcg/releases/LCG_95/Geant4/10.05/x86_64-centos7-gcc7-opt/lib64/libG4run.so #12 0x00007fd4ebd700de in G4UIcommand::DoIt(G4String) () from /cvmfs/sft.cern.ch/lcg/releases/LCG_95/Geant4/10.05/x86_64-centos7-gcc7-opt/lib64/libG4intercoms.so #13 0x00007fd4ebd883f3 in G4UImanager::ApplyCommand(char const*) () from /cvmfs/sft.cern.ch/lcg/releases/LCG_95/Geant4/10.05/x86_64-centos7-gcc7-opt/lib64/libG4intercoms.so #14 0x00007fd4ebd5a0c7 in G4UIbatch::ExecCommand(G4String const&) () from /cvmfs/sft.cern.ch/lcg/releases/LCG_95/Geant4/10.05/x86_64-centos7-gcc7-opt/lib64/libG4intercoms.so #15 0x00007fd4ebd5be95 in G4UIbatch::SessionStart() () from /cvmfs/sft.cern.ch/lcg/releases/LCG_95/Geant4/10.05/x86_64-centos7-gcc7-opt/lib64/libG4intercoms.so #16 0x00007fd4ebd88d32 in G4UImanager::ExecuteMacroFile(char const*) () from /cvmfs/sft.cern.ch/lcg/releases/LCG_95/Geant4/10.05/x86_64-centos7-gcc7-opt/lib64/libG4intercoms.so #17 0x00007fd4ebd79808 in G4UIcontrolMessenger::SetNewValue(G4UIcommand*, G4String) () from /cvmfs/sft.cern.ch/lcg/releases/LCG_95/Geant4/10.05/x86_64-centos7-gcc7-opt/lib64/libG4intercoms.so #18 0x00007fd4ebd700de in G4UIcommand::DoIt(G4String) () from /cvmfs/sft.cern.ch/lcg/releases/LCG_95/Geant4/10.05/x86_64-centos7-gcc7-opt/lib64/libG4intercoms.so #19 0x00007fd4ebd883f3 in G4UImanager::ApplyCommand(char const*) () from /cvmfs/sft.cern.ch/lcg/releases/LCG_95/Geant4/10.05/x86_64-centos7-gcc7-opt/lib64/libG4intercoms.so #20 0x000000000040809e in main ()
Dear Simone, Could you attached the example mentioned in your message, I'll investigated the issue. Do I understand correctly that you run Geant4 compiled together with VecGeom?. Evgueni
Created attachment 580 [details] Detector description of example mentioned in the report. This is the detector construction which was ran in the B1 example to produce the mentioned plots. If you use the commented vector and solid, you get the geometry shown in comparison.png To see the object of interest, you have to chose wireframe in the visualisation or remove the outer box.
Dear Evgueni, I have attached the example DetectorConstruction. It was used withint the B1 example. I did not use vecGeom explicitely. I used the Geant4 installation at CERN: /cvmfs/sft.cern.ch/lcg/releases/LCG_95/Geant4/10.05/x86_64-centos7-gcc7-opt/ Only the crash has indicated that there is a problem with vecGeom. The latter was introduced in 10.5 if I understand the history in git correctly. Best regars, Simone
Created attachment 581 [details] Picture showing the example described in B1DetectorConstruction.cc
No bugs have been spotted in G4ExtrudedSolid neither in Geant4 10.04 nor Geant4 10.05. Images produced with the attached B1DetectorConstruction.cc are identical for both 10.04 and 10.05. The reason of the issue is that the preinstalled versions of Geant4 are using VecGeom solids, where they are available. Geant4 10.04 has been compiled with VecGeom that does not have it own extruded solid. For this reason Geant4 10.04 is using native G4ExtrudedSolid. Geant4 10.05 is using version of VecGeom with extruded solid. It looks that there is bug there.
JIRA ticket open for VecGeom: https://sft.its.cern.ch/jira/browse/VECGEOM-533
Dear Evgueni, thanks a lot for having a look into this and for finding the problem. What is the procedure now? When will the installations at CERN be working without this bug in vecgeom? Will there be a new LCG? Best regards, Simone
Dear Simone, After the bug will be fixed, we will provide a patch for VecGeom and reinstall Geant4 10.05. Meanwhile you can try to install your own 'bug free' version of Geant4 10.05. There are a couple of options for that: - install Geant4 10.05 without VecGeom; - install Geant4 10.05 with VecGeom, where the Extruded solid will be switched off; Kind regards, Evgueni
Dear Evgueni, thanks a lot for taking care of this. And thanks in advance for letting us know, when the new installation will be ready to use. Best regards, Simone
Dear Simone, The bug in the VecGeom extruded solid has been fixed. The fix will be included in the VecGeom version 1.1.3. We also discovered a problem in the Geant4 wrapper for VecGeom extruded solid. It affects only visualisation, not tracking. The fix for the wrapper will appear in the next patch of Geant4. Best regards, Evgueni