Reporting BUGS

Created by Nick Papior on on 2016-05-30
Keywords:
bug
Last updated by:
Nick Papior on on 2018-03-28

To be useful, bug reports should be as detailed as possible, yet
concise and to the point.

-- To help the developers reproduce the bug, describe the exact steps
   you followed to see the problem. You want to include a copy
   of the fdf file you used in the calculation, details about the pseudopotentials,
   etc, or provide a means for us to download the information. If in doubt,
   do not send large files. State the problem in the most concise form possible and we will
   request more info from you.

-- Please make sure that your bug report includes:

  - The Siesta version in which the problem was found. We can't assume
    that you have the very latest version, and a problem that exists
    in one version may not exist in another. Use the version number
    printed at the top of any output file (also found in file
    version.info in the top directory).

  - The platform on which the problem was found, and the operating
    system and compiler version. State whether the problem appears in
    a serial and/or parallel run. Including your arch.make is also a
    good idea.

  - If there are segmentation faults it is important to indicate how much
    memory you have available on your hardware.

-- Be specific. Describe what happened and how it differs from what
   should have happened.

-- If you can show the faulty behavior already in a small test, that
   would be preferable to dealing with it in a production case that
   might take too long to reproduce.

-- Try to check whether the problem is due to a compiler or library
   error, by using a different platform or environment.

-- If you have any idea about how to fix the problem, by all means tell
   us! You may propose a merge request for bugs (be sure to use the latest release series as the initial branch)

-- If the bug is a segmentation fault you should first try and compile SIESTA with debug options.

  - For GCC you should use the following FFLAGS:
      FFLAGS = -O0 -g -fbacktrace -fbounds-check

  - For Intel compiler you should use the following FFLAGS:
     FFLAGS = -O0 -g -check bounds -traceback