|Message: Re: Segmentation violation in G4BertiniElectroNuclearBuilder destructor||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)|
Hello, Thanks for your suggestions, guys. I think I've figured it out... Sort of figured it out, anyway - while I still do not know why exactly this happened, I now know how to stop it. The thing is, although the pointer to the physics list was obtained, as shown, from the factory, pointers to OTHER initialisation objects - detector construction and a handful of user actions - were stored in my program as shared_ptrs. It seems that when the function reached its end and variables began to be destroyed due to having gone out of scope, at least some of these objects got removed before the Geant run manager. This resulted, as suggested, in an apparent double-free condition when the G4RunManager destructor began to clean up its dependencies. Why exactly the segmentation fault appeared in connection to a physics-related object with the physics list NOT assigned to a shared_ptr, I have got no idea. Still, having switched to using ordinary pointers and naked new for detector construction and all user actions made the segfault go away. Hopefully this won't cause any memory leaks. Cheers, MS
|Inline Depth:||Outline Depth:||Add message:|