|Message: QT Multithreading crash||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)|
So I was trying to compile my program as MT and it kept crashing. To verify that I was doing it right I went to example B2a and ran this. I found that in the default mode that sometimes I could run `/run/beamOn 1` and it would crash or not. Regardless the second run would crash and any `/run/beamOn n` for n > 1 crashes.
In the main file:
> 65 #ifdef G4MULTITHREADED > 66 G4MTRunManager* runManager = new G4MTRunManager; > 67 #else > 68 G4RunManager* runManager = new G4RunManager; > 69 #endif
If I remove these lines and leave only line 68 > G4RunManager* runManager = new G4RunManager;
I can run the example as many times as a want and for any n. I have tried to explicitly set the number of processors and still find that it crashes, including 1 processor. Here is an example dump from B2a crashing (unmodified program and running `/run/beamOn 1`)
> me@computer:~/Programming/Geant/B2a-build$ ./exampleB2a > Available UI session types: [ Qt, Xm, GAG, tcsh, csh ] > G4WT0 > > G4WT0 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > G4WT0 > Local thread RunManagerKernel version Name: geant4-10-02-patch-02 [MT] > G4WT0 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > G4WT0 > > G4WT1 > > G4WT1 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > G4WT1 > Local thread RunManagerKernel version Name: geant4-10-02-patch-02 [MT] > G4WT1 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > G4WT1 > > G4WT0 > ### Adding tracking cuts for neutron TimeCut(ns)= 10000 > KinEnergyCut(MeV)= 0 > G4WT1 > ### Adding tracking cuts for neutron TimeCut(ns)= 10000 > KinEnergyCut(MeV)= 0 > exampleB2a: Fatal IO error 11 (Resource temporarily unavailable) on X server :0. > G4WT1 > ### Run 0 starts on worker thread 1. > G4WT0 > ### Run 0 starts on worker thread 0. > Segmentation fault (core dumped)
It seems any MT GEANT4 application I run I get this Fatal IO error 11 and a seg fault. This does not happen for other applications written with openMP and OpenMPI.
Googling and searching the forums I find references back to Jan 2014. Given that it has been 3 years I was wondering if there was a fix or a solution.
About my system:
> lsb_release -a > Distributor ID: Ubuntu > Description: Ubuntu 16.04.2 LTS > Release: 16.04 > Codename: xenial
> uname > Linux 4.4.0-59-generic x86_64
|Inline Depth:||Outline Depth:||Add message:|