Reporting Bugs, Asking Questions, and Making Suggestions#

Use any of

Topics can include:

  • Report bugs.

  • Ask for clarification.

  • Ask for help in tracking down bugs.

  • Request new features within PETSc.

  • Recommend changes or additions to the development team.


Please do not send email requests to the individual PETSc authors; all list email is automatically distributed to all of the PETSc authors, so our response time here will be fastest.

Before sending a bug report, please consult the FAQ to determine whether a fix or work-around to the problem already exists. Also, see the chapter on performance tuning in the PETSc users manual for guidelines on achieving good efficiency within PETSc codes.

Small Documentation fixes#

We welcome corrections to our documentation directly by clicking “Edit this page”, on the upper right corner of the page, making your edits, and following the instructions to make a merge request. Merge requests for such fixes should always have the GitLab docs-only label set.

Guidelines For Bug Reports#

The more information that you convey about a bug, the easier it will be for us to target the problem. We suggest providing the following information:


  • Please do not send winmail.dat Microsoft email attachments.

  • Please do not send screenshots, use cut-and-paste from terminal windows to send text.

  • Please do not put huge files like configure.log DIRECTLY into the email message. Instead, include them as attachments.

  • Please do NOT paste entire programs DIRECTLY into the email message. Instead, include them as attachments. Small snippets of code in the messages are acceptable however.


  • Detailed steps to recreate the problem if possible.

  • Copy of the complete error message using cut-and-paste, if feasible, otherwise include the full error message as a text attachment, not a screenshot.

  • If the problem involves installation, send the entire configure.log and make.log files as attachments.

    • configure.log can be found either at $PETSC_DIR/configure.log, $PETSC_DIR/configure.log.bkp (which holds the second-most recent configure.log), or in $PETSC_DIR/$PETSC_ARCH/lib/petsc/conf/configure.log[.bkp].

    • make.log can be found in the same places as listed above, however note that there is no make.log.bkp so be sure to not overwrite your make.log with additional build attempts.

  • Machine type: HPC, laptop, etc.

  • OS version and type: run uname -a to get the version number

  • PETSc version: run any PETSc program with the additional command-line option -version, or look in $PETSC_DIR/include/petscversion.h

  • MPI implementation: MPICH, Open MPI, IBM, Intel, etc.

  • Compiler and version: GNU, Clang, Intel, etc.

  • Probable PETSc component: Mat, Vec, DM, KSP, etc.

Mailing Lists#

The following mailing lists, with public archives, are available.





For announcements regarding PETSc releases



For PETSc users



For PETSc developers and others interested in the development process



Important - a private maintenance e-mail without public archives - is also available. Send issues requiring large attachments here, in particular uncompressed configure.log and make.log when encountering installation issues.

Also see Reporting Bugs, Asking Questions, and Making Suggestions.


  • petsc-announce is an announcement-only list (users cannot post).

  • petsc-users and petsc-dev are open; we recommend subscribing and participating in the list discussions. However, it is possible to post to the lists without subscribing (the first post to the list will be held until list owner can enable access)

  • Avoid cross posting to multiple lists. You can reach PETSc developers equally on any suitable list.