6.3. Troubleshooting
Sometimes a Fuego job will fail. This can be for a number of reasons, including invalid syntax in the input file, an ill-posed or non-physical problem setup, insufficient mesh resolution, computing hardware issues, or other reasons. When this happens, you will need to look for clues in the log file, the stdout stream (or slurm file), and any results output files (Exodus or Heartbeat). The following sections address some of the common failure modes you might encounter.
6.3.1. Invalid Input Syntax
If you use something in the input file that is not valid syntax, you will get an error in the log file. If the problem is invalid syntax, the error will be at the point in the input file where the invalid syntax was, and will suggest alternative syntax. For example, if we use an invalid unit system (using SI instead of MKS or CGS for the unit system specification)
Begin Fuego Region Fuego_region
# SET THE UNITS
Set unit system to SI
The first signal we get that something is wrong is in the stdout stream (or the slurm file if launched on an HPC), but it does not tell us what the specific error is.
$ aria -i demo.i
exception on all processors:
Execution terminated due to errors
*** SIERRA ABORT on P0 ***
*** check file for more information ***
Looking in the log file, at the end of the file we would see
There was 1 error encountered during parse
There were no warnings encountered during parse
Execution terminated due to errors
SIERRA execution failed during parse with the following exception:
Execution terminated due to errors
This does not tell us what the error is by itself either, but since it says it was a parse error we should search for the keyword “error” in the section of the log file where it repeats the input file. Then we find
Begin Fuego Region Fuego_region
# SET THE UNITS
Set unit system to SI
flow_over_cylinder_complete.i:51: Error: No matching command line found for 'Set unit system to SI'
flow_over_cylinder_complete.i:51: The following command lines with matching keywords are defined:
flow_over_cylinder_complete.i:51: Set Unit System To {Cgs|Mks}
flow_over_cylinder_complete.i:51:
The error message tells us which line was invalid, and shows the syntax for the best match. In this case, the model we used (SI) is invalid, and it shows us that the available options are CGS and MKS
6.3.2. Deprecated Syntax
Most Fuego problems use stable syntax that does not change from one release to the next, however sometimes features need to be removed for maintainability and sustainability of the codebase. This is done using a deprecation cycle to allow for time to migrate input file syntax.
Fuego uses a 6 to 12 month deprecation cycle (or longer for larger feature deprecations). When a deprecation is introduced, it will result in a warning immediately, which shows up both in the log file and in the stderr/slurm stream. For example, if you used a deprecated post-processor in Fuego version 5.10 you would see the following warning in the stderr/slurm output
WARNING: Deprecated feature removed in Version 5.11 detected.
The same warning would also show up in the log file
demo.i:82: Warning: Deprecated feature removed in Version 5.11 detected.
Deprecation version numbers are always odd-numbered (non-release). When the 5.10 version is released, the version of sierra/daily is set to 5.11. In this example, this means that using the deprecated post-processor will be an error if you run sierra/daily during the 5.11 release cycle, and in the next release (5.12) it will be an error. Pay attention to these warnings and update your inputs in a timely manner to avoid getting errors at future releases.