|Message: Problems with G4TouchableHistory||Not Logged In (login)|
Click on the Forum title, e.g. on the "Forums by Category" page, to read a sequence of postings to the Forum and its threads all in one page. If you are only interested in one thread or the thread following a specific posting, click the thread or the posting, which takes you to a smaller page, which contains only the part you are interested in and may be easier to navigate.
Messages are "chained" if there are only replies at the first level, i.e. 1/1.html, 1/1/1.html etc. In case of "chained" messages the message number is replaced by the icon and there is no indentation.
Inline: Display the subject line only or also the text of the posting(s); for the choice "All" the "Outline" choices are switched off.
|1||0||1||no text / full text of posting|
|2||1||All||text for level 1 only / text for All postings|
Outline: Choose the depth of the posting thread, successive toggle controls provide increasing detail.
|1||2||1||2 levels / 1 level (original posting)|
|2||3||2||3 levels / 2 levels|
|3||3||All||3 levels / all levels (all postings)|
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:||Outline Depth:||Add message:|