Please fill out the following information to help in answering your question, and also see tips for posting code snippets. If you don’t provide this information it will take more time to help with your problem!
Geant4 Version: 11.2.0
Operating System: MacOS 14.2
Just by changing the direction of the particle gun in basic/B2/Ba2 example I get a EXC_BAD_ACCESS crash.
diff --git a/examples/basic/B2/B2a/src/PrimaryGeneratorAction.cc b/examples/basic/B2/B2a/src/PrimaryGeneratorAction.cc
index bb87b9b08e..19ae7902db 100644
--- a/examples/basic/B2/B2a/src/PrimaryGeneratorAction.cc
+++ b/examples/basic/B2/B2a/src/PrimaryGeneratorAction.cc
@@ -55,7 +55,7 @@ PrimaryGeneratorAction::PrimaryGeneratorAction()
= G4ParticleTable::GetParticleTable()->FindParticle("proton");
fParticleGun->SetParticleDefinition(particleDefinition);
- fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0.,0.,1.));
+ fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0.,0.,-1.));
fParticleGun->SetParticleEnergy(3.0*GeV);
}
The trace back is:
* thread #2, stop reason = EXC_BAD_ACCESS (code=1, address=0x3b7f61480)
* frame #0: 0x0000000101491f98 libG4geometry.dylib`G4VPhysicalVolume::GetRotation() + 40
frame #1: 0x00000001014d1370 libG4geometry.dylib`G4VoxelNavigation::ComputeStep(CLHEP::Hep3Vector const&, CLHEP::Hep3Vector const&, double, double&, G4NavigationHistory&, bool&, CLHEP::Hep3Vector&, bool&, bool&, G4VPhysicalVolume**, int&) + 760
frame #2: 0x00000001014b2aec libG4geometry.dylib`G4Navigator::ComputeStep(CLHEP::Hep3Vector const&, CLHEP::Hep3Vector const&, double, double&) + 1080
frame #3: 0x000000010335e6d8 libG4processes.dylib`G4Transportation::AlongStepGetPhysicalInteractionLength(G4Track const&, double, double, double&, G4GPILSelection*) + 1080
frame #4: 0x0000000100c188b4 libG4tracking.dylib`G4SteppingManager::DefinePhysicalStepLength() + 600
frame #5: 0x0000000100c1822c libG4tracking.dylib`G4SteppingManager::Stepping() + 388
frame #6: 0x0000000100c2aeb8 libG4tracking.dylib`G4TrackingManager::ProcessOneTrack(G4Track*) + 872
frame #7: 0x0000000100b98afc libG4event.dylib`G4EventManager::DoProcessing(G4Event*) + 1888
frame #8: 0x0000000100e25410 libG4run.dylib`G4WorkerTaskRunManager::ProcessOneEvent(int) + 60
frame #9: 0x0000000100e25380 libG4run.dylib`G4WorkerTaskRunManager::DoEventLoop(int, char const*, int) + 232
frame #10: 0x0000000100e26bec libG4run.dylib`G4WorkerTaskRunManager::DoWork() + 408
frame #11: 0x0000000100e11b4c libG4run.dylib`std::__1::__packaged_task_func<std::__1::enable_if<std::is_void<void>::value, void>::type PTL::TaskGroup<void, void, 0l>::exec<G4TaskRunManager::AddEventTask(int)::$_4, void>(G4TaskRunManager::AddEventTask(int)::$_4)::'lambda'(), std::__1::allocator<std::__1::enable_if<std::is_void<void>::value, void>::type PTL::TaskGroup<void, vG4TaskRunManager::AddEventTask(int)::$_4)::'lambda'(), std::__1::allocator<std::__1::enable_if<std::is_void<void>::value, void>::type PTL::TaskGroup<void, void, 0l>::exec<G4TaskRunManager::AddEventTask(int)::$_4, void>(G4TaskRunManager::AddEventTask(int)::$_4)::'lambda'()>, void ()>::operator()() + 44
frame #12: 0x0000000100e11c28 libG4run.dylib`std::__1::packaged_task<void ()>::operator()() + 80
frame #13: 0x0000000100c5d668 libG4ptl.2.dylib`PTL::ThreadPool::execute_thread(PTL::VUserTaskQueue*) + 996
frame #14: 0x0000000100c5cda4 libG4ptl.2.dylib`PTL::ThreadPool::start_thread(PTL::ThreadPool*, std::__1::vector<std::__1::shared_ptr<PTL::ThreadData>, std::__1::allocator<std::__1::shared_ptr<PTL::ThreadData>>>*, long) + 688
frame #15: 0x0000000100c63afc libG4ptl.2.dylib`void* std::__1::__thread_proxy[abi:v160006]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(PTL::ThreadPool*, std::__1::vector<std::__1::shared_ptr<PTL::ThreadData>, std::__1::allocator<std::__1::shared_ptr<PTL::ThreadData>>>*, long), PTL::ThreadPool*, std::__1::vector<std::__1::shared_ptr<PTL::ThreadData>, std::__1::allocator<std::__1::shared_ptr<PTL::ThreadData>>>*, unsigned long>>(void*) + 56
frame #16: 0x0000000185132034 libsystem_pthread.dylib`_pthread_start + 136
(lldb)
* thread #2, stop reason = EXC_BAD_ACCESS (code=1, address=0x3b7f61480)
* frame #0: 0x0000000101491f98 libG4geometry.dylib`G4VPhysicalVolume::GetRotation() + 40
frame #1: 0x00000001014d1370 libG4geometry.dylib`G4VoxelNavigation::ComputeStep(CLHEP::Hep3Vector const&, CLHEP::Hep3Vector const&, double, double&, G4NavigationHistory&, bool&, CLHEP::Hep3Vector&, bool&, bool&, G4VPhysicalVolume**, int&) + 760
frame #2: 0x00000001014b2aec libG4geometry.dylib`G4Navigator::ComputeStep(CLHEP::Hep3Vector const&, CLHEP::Hep3Vector const&, double, double&) + 1080
frame #3: 0x000000010335e6d8 libG4processes.dylib`G4Transportation::AlongStepGetPhysicalInteractionLength(G4Track const&, double, double, double&, G4GPILSelection*) + 1080
frame #4: 0x0000000100c188b4 libG4tracking.dylib`G4SteppingManager::DefinePhysicalStepLength() + 600
frame #5: 0x0000000100c1822c libG4tracking.dylib`G4SteppingManager::Stepping() + 388
frame #6: 0x0000000100c2aeb8 libG4tracking.dylib`G4TrackingManager::ProcessOneTrack(G4Track*) + 872
frame #7: 0x0000000100b98afc libG4event.dylib`G4EventManager::DoProcessing(G4Event*) + 1888
frame #8: 0x0000000100e25410 libG4run.dylib`G4WorkerTaskRunManager::ProcessOneEvent(int) + 60
frame #9: 0x0000000100e25380 libG4run.dylib`G4WorkerTaskRunManager::DoEventLoop(int, char const*, int) + 232
frame #10: 0x0000000100e26bec libG4run.dylib`G4WorkerTaskRunManager::DoWork() + 408
frame #11: 0x0000000100e11b4c libG4run.dylib`std::__1::__packaged_task_func<std::__1::enable_if<std::is_void<void>::value, void>::type PTL::TaskGroup<void, void, 0l>::exec<G4TaskRunManager::AddEventTask(int)::$_4, void>(G4TaskRunManager::AddEventTask(int)::$_4)::'lambda'(), std::__1::allocator<std::__1::enable_if<std::is_void<void>::value, void>::type PTL::TaskGroup<void, void, 0l>::exec<G4TaskRunManager::AddEventTask(int)::$_4, void>(G4TaskRunManager::AddEventTask(int)::$_4)::'lambda'()>, void ()>::operator()() + 44
frame #12: 0x0000000100e11c28 libG4run.dylib`std::__1::packaged_task<void ()>::operator()() + 80
frame #13: 0x0000000100c5d668 libG4ptl.2.dylib`PTL::ThreadPool::execute_thread(PTL::VUserTaskQueue*) + 996
frame #14: 0x0000000100c5cda4 libG4ptl.2.dylib`PTL::ThreadPool::start_thread(PTL::ThreadPool*, std::__1::vector<std::__1::shared_ptr<PTL::ThreadData>, std::__1::allocator<std::__1::shared_ptr<PTL::ThreadData>>>*, long) + 688
frame #15: 0x0000000100c63afc libG4ptl.2.dylib`void* std::__1::__thread_proxy[abi:v160006]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(PTL::ThreadPool*, std::__1::vector<std::__1::shared_ptr<PTL::ThreadData>, std::__1::allocator<std::__1::shared_ptr<PTL::ThreadData>>>*, long), PTL::ThreadPool*, std::__1::vector<std::__1::shared_ptr<PTL::ThreadData>, std::__1::allocator<std::__1::shared_ptr<PTL::ThreadData>>>*, unsigned long>>(void*) + 56
frame #16: 0x0000000185132034 libsystem_pthread.dylib`_pthread_start + 136