Message: Problems with G4TouchableHistory Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

Question Problems with G4TouchableHistory 

Forum: Multithreading
Date: 13 Aug, 2015
From: Mustafa Schmidt <Mustafa Schmidt>

I have a problem with the multithread variante of Geant4. When I add the lines

    G4TouchableHistory* touchable_hist = (G4TouchableHistory*)(preStepPoint->GetTouchable());
    const G4AffineTransform & top_transform = touchable_hist->GetHistory()->GetTopTransform();

for getting the coordinates of a particle in a local coordinate system with

    const G4ThreeVector photon_pos_start_local = top_transform.TransformPoint(preStepPoint->GetPosition()); 
    const G4ThreeVector photon_pos_end_local = top_transform.TransformPoint(postStepPoint->GetPosition());

the program crashes after some time with a segmentation violation.

When I remove these lines or use Geant4 with deactivated multithread this error does not seem to occur.

I ran the program with gdb and got the following output with the command "where" after crashing:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffeba57700 (LWP 17535)]
0x0000000000000000 in ?? ()
(gdb) where
#0  0x0000000000000000 in ?? ()
#1  0x000000000042572e in SensDetPMT::ProcessHits(G4Step*, G4TouchableHistory*)
    ()
#2  0x00007ffff4ebf0ea in G4SteppingManager::Stepping() ()
   from /u/mustafa/geant4/geant4.10.01.p01-install-mt/lib/libG4tracking.so
#3  0x00007ffff4ec9574 in G4TrackingManager::ProcessOneTrack(G4Track*) ()
   from /u/mustafa/geant4/geant4.10.01.p01-install-mt/lib/libG4tracking.so
#4  0x00007ffff50fea5d in G4EventManager::DoProcessing(G4Event*) ()
   from /u/mustafa/geant4/geant4.10.01.p01-install-mt/lib/libG4event.so
#5  0x00007ffff539392c in G4WorkerRunManager::ProcessOneEvent(int) ()
   from /u/mustafa/geant4/geant4.10.01.p01-install-mt/lib/libG4run.so
#6  0x00007ffff5394a99 in G4WorkerRunManager::DoEventLoop(int, char const*, int)
    () from /u/mustafa/geant4/geant4.10.01.p01-install-mt/lib/libG4run.so
#7  0x00007ffff538892c in G4RunManager::BeamOn(int, char const*, int) ()
   from /u/mustafa/geant4/geant4.10.01.p01-install-mt/lib/libG4run.so
#8  0x00007ffff539c8f1 in G4MTRunManagerKernel::StartThread(void*) ()
   from /u/mustafa/geant4/geant4.10.01.p01-install-mt/lib/libG4run.so
#9  0x00007fffefae3b50 in start_thread (arg=<optimized out>)
    at pthread_create.c:304
#10 0x00007fffef82d95d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Is there any known bug or procedure to avoid this problem?

Thank you very much in advance!

Inline Depth:
 1 1
 All All
Outline Depth:
 1 1
 2 2
 All All
Add message: (add)

1 Warning: Re: Problems with G4TouchableHistory   (Andrea Dotti - 13 Aug, 2015)
(_ Agree: Re: Problems with G4TouchableHistory   (Mustafa Schmidt - 14 Aug, 2015)
 Add Message Add Message
to: "Problems with G4TouchableHistory"

 Subscribe Subscribe

This site runs SLAC HyperNews version 1.11-slac-98, derived from the original HyperNews