Guidelines for creating meaningful issue reports#
This section gives some started on how to generate useful issues on the GROMACS issue tracker. The information here comes to a large extent directly from there, to help you in preparing your reports.
What to report#
Please only report issues you have confirmed to be caused by GROMACS behaving in an unintended way, and that you have investigated to the best of your ability. If you have large simulations fail at some point, try to also trigger the problem with smaller test cases that are more easily debuggable.
Bugs resulting from the use third-party software should be investigated first to make sure that the fault is in GROMACS and not in other parts of the toolchain.
Please don’t submit generic issues resulting from system instabilities and systems Blowing up.
What should be included#
The report should include a general description of the problem with GROMACS indicating both the expected behaviour and the actual outcome. If the issue causes program crashes, the report should indicate where the crash happens and if possible include the stack trace right up to the crash.
All bugs should include the necessary information for the developers to reproduce the errors, including if needed minimal input files (*tpr, *top, *mdp, etc), run commands or minimal version of run scripts, how you compiled GROMACS and if possible the system architecture.
The emphasis should be on having a minimal working example that is easy to follow for the developers, that does not result in any warnings or errors in itself. If your example generates errors, your issue will likely not be considered as real, or at the minimum it will be much harder to analyse to find the actual issue.
If your inputs are sensitive, then it is possible to create private issues so that the developer team can have access to solve the problem, while preventing widespread visibility on the internet.
Supporting the developers#
In general you should be able to answer questions posed to you by the developers working on the program, if you want to help them in fixing the bug you found. This may include things such as explaining run scripts or simulation set-up, as well as confirming issues with different versions of the program and different combinations of supported libraries and compilers.
Please refrain from setting things such as target version or deciding on unreasonable priorities. If you decide to fix the issue on your own, please adhere to the other standards mentioned on the related pages Guidelines for code formatting and Guidelines for formatting of git commits.
General issue workflow#
The general issue workflow is shown in the figure below:
Project maintainers will apply Status labels as the issue is processed.
Status::Accepted: Bug confirmed / Desirable feature.
Status::In Progress: Assignee starts to work.
Status::Blocked: Progress requires feedback or other action.
Status::Rejected: Invalid report or not a desirable feature.
Status::Fix uploaded: Merge request is available for review
Status::Feedback-wanted: Resolution pending additional feedback or response
Status::Resolved: The issue will be closed if there is no further discussion.