Note
You're reading the documentation for a development version. For the latest released version, please have a look at Lyrical.
Reporting an issue — how-to
Issue reports help the ROS community identify bugs, suggest enhancements, improve documentation, and resolve package-specific problems. This article explains how to check whether an issue has already been reported and what information to provide in a new issue. With this information, you can provide clear, complete issue details in the right ROS repository.
Summary
Code issue trackers: in a repository under the ROS organisation or elsewhere on GitHub.
Documentation issue tracker: ROS documentation repository.
Catch-all issue tracker: top level ROS repository.
Prerequisites
There are no prerequisites.
Steps
1 Identifying where to report the issue
If you identify a bug, have a suggestion for enhancement, or a question specific to one package, you can report an issue on GitHub. For example, if you are following a tutorial and come across an instruction that doesn’t work on your system, you can report an issue in the ROS documentation repository.
You can report code issues in the ROS repository for the package where the error occurred. This is generally the last file listed in the stack trace.
You can search for ROS packages in the following locations:
Core ROS 2 packages, found in the ROS organisation
ROS binary packages, found on the ROS Index, which point to the appropriate GitHub repository.
Source ROS packages which are located elsewhere on GitHub.
If it’s not clear which issue tracker to use for a particular issue, report the issue in the top-level ROS repository and we’ll have a look at it.
2 Checking the issue
Before opening an issue:
Check if other users have reported similar issues by searching across the
ros2andamentGitHub organizations using, for example, this search query.Check the Robotics Stack Exchange to see if someone else has already reported your issue.
If your issue has not been reported, you can open an issue in the issue tracker of the repository you have identified.
3 Reporting the issue
When reporting an issue, use the following steps to make sure you include enough information for another person to understand and (where relevant) reproduce the issue.
In the issue tracker of your selected repository, select New issue.
From the options shown, select the issue type which is most appropriate for the issue you are raising:
If you are in a ROS code repository or the top-level ROS repository, select Bug report or Feature request.
If you are in the ROS documentation repository, select Documentation issue.
Alternatively, if the specific ROS repository you are in has a unique issue template, you can use that instead.
Add a descriptive Title for the issue.
Bad: “rviz doesn’t work”.
Good: “Rviz crashing looking for missing
.soafter latest apt update”Complete the remaining fields in the issue template, following the prompt text shown and the formatting of any pre-filled fields.
Additional information
If you are reporting a bug, consider providing a short, self contained, correct (compilable) example.
When discussing any compiling/linking/installation issues, provide the version number of your compiler.
If relevant to your issue, you can also include your:
ROS environment variables (
env | grep ROS)Backtraces
Relevant config files
Graphics card model and driver version
Ogre.logfor rviz, if possible (run withrviz -l)Bag files and code samples which reproduce the problem
GIFs or video clips to demonstrate the problem
Log files (see Logging) or logs from the RQT console (see Using rqt_console to view logs - tutorial)
Also describe any troubleshooting which you have already attempted, for example:
Upgrading to the latest version of the code, which may include bug fixes that have not been released yet.
For more information, see Building from source and follow the instructions to get the
rollingbranch.Trying to reproduce your issue with a different RMW implementation.
For more information, see Working with multiple ROS 2 middleware implementations - how-to.
FAQs
TBC