Difference between revisions of "FAQ/Troubleshooting"

From OpenFOAMWiki
< FAQ
(Added FAQ "I'm unable to reproduce a crash. What's going on?")
m (removed line break near the initial FAQ description)
Line 5: Line 5:
 
== FAQ Section [[faqnumber::8]]: [[faqname::Troubleshooting]] ==
 
== FAQ Section [[faqnumber::8]]: [[faqname::Troubleshooting]] ==
 
</noinclude>
 
</noinclude>
 
 
[[faqdescription::Figuring out what went wrong]]
 
[[faqdescription::Figuring out what went wrong]]
 
 
 
=== An application ends with a ''segmentation fault''. What is wrong? ===
 
=== An application ends with a ''segmentation fault''. What is wrong? ===
  

Revision as of 15:44, 25 December 2013


1 FAQ Section 8: Troubleshooting

Figuring out what went wrong

1.1 An application ends with a segmentation fault. What is wrong?

A segmentation fault usually occurs when a program trys to access memory outside its bounds (see Segmentation Fault on Wikipedia). In OpenFOAM this usually occurs when a List<> or similar is accessed with an index outside of the allocated domain. To find out where this occurs make a separate copy of the OF-sources, recompile them with the swich WM_COMPILE_OPTION set to Debug (just uncomment the right lines in the bashrc/cshrc files). This makes OF run slower, but accesses to List<> etc are checked for ranges and the program aborts if you access outside of a range (plus you get a stack trace). This won't solve your problem, but it will help you find out where it occurs.

See also General debugging tips. For recompiling OpenFOAM look at Howto_compile_OpenFOAM

1.2 My program stops with an output that starts with #0 Foam::error::printStack(Foam::Ostream&)

You encountered a program error. Upon hitting that error OpenFOAM produced a stack trace (a list of the functions that were called) which is very useful to find the location at which the problem occured. It is possible to get that stack-trace with the source files and the line numbers of the functions which might help to find out what the problem is. To do so you have to compile a debug version of OpenFOAM. (see also the segmentation fault-question above)

1.3 I'm unable to reproduce a crash. What's going on?

If you run the same exact simulation twice or more times, but there is an occasional crash in different places, then there are a few possibilities:

  • There could be a numerical instability in the calculations. This could be due to the compiler options used (such as --fast-math).
  • There could be some randomness introduced somewhere by a pseudo-random number generator. This is common in the particle/chemical type solvers in OpenFOAM.
  • There could be a hardware problem. In this case, check this page: How to Check if RAM and CPU are OK
Facts about "FAQ/Troubleshooting"RDF feed
FaqdescriptionFiguring out what went wrong +
FaqnameTroubleshooting +
Faqnumber8 +