WOMBAT – A program for Mixed Model Analyses by Restricted Maximum Likelihood

FAQ: Crash "Segmentation fault"

  • Q: WOMBAT crashes with a “Segmentation fault” with a heap of unintelligible numbers to follow – this seems to happen quite early on, i.e. during the set-up phase before any likelihoods are printed to the screen. What is wrong?
  • A: A `segmentation fault' (or 'access violation') message is a run-time error message generated by the FORTRAN compiler. In contrast, the majority of error messages in WOMBAT are programmed in to catch mistakes made by the programs user – you. It usually means that an array has the wrong dimensions, but it can also be a consequence of other `bugs' somewhere else in the program. Further, it can reflect a RAM or stack size problem
    • If you are working under Linux and have a larg(ish) analysis, make sure you have set the stack size as large as possible. The command is unlimit -s (or similar, depending on the flavour of Linux). NB: Putting this into your login file may be a good idea.
    • There is a known problem with WOMBAT that it can crash with a segmentation error or simply hang up during the set-up phase when trying to establish the optimum ordering of equations. Fortunately, this is rare – it occurs most often for larger problems and/or when using the MeTiS option, either implicitly (program default for large problems) or explicitly specified, in particular when the model of analysis includes a fixed effect with very few levels or covariables.
    • WOMBAT incorporates three different ordering strategies, all using subroutines available in the public domain. Unfortunately, none of them are totally reliable. In particular, MeTiS can misbehave and does not provide a `graceful' exit when problems occur, i.e. there is no facility to fault-trap this and shut down WOMBAT with an explanatory message.
    • So what can you do in this case? Strategies to try:
      1. Use a different ordering strategy, i.e. the approximate minimum degree ordering invoked with the −−amd run time option.
      2. Use different options for MeTis, e.g. reduce the number of graph separators considered (option 1), switch from random to standard edge matching (a “3” for the third option), or change from two-sided to one-sided node refinement (a “2” for the fourth option) – see the manual for details.
      3. WOMBAT has a guess at the space required in the set-up phase. Usually, this is quite appropriate and tends to err on the large side. Occasionally, however, it is too small for MeTiS to work properly. So, you could try to give it some extra space using the −−choozhz run time option (this will print out a screen message giving a the default value WOMBAT would use and allow you to type in a different value overriding the default).
QR Code
QR Code wombat:answerfaq2 (generated for current page)