-
Notifications
You must be signed in to change notification settings - Fork 1.3k
3di | Triaging and reporting an issue #6901
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: rolling
Are you sure you want to change the base?
Changes from all commits
6fa317c
1aa5e82
610fb39
2315163
4f0e136
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| Contributing to code | ||
| ==================== | ||
|
|
||
| .. toctree:: | ||
| :maxdepth: 1 | ||
|
|
||
| Contributing-to-code/Triaging-an-issue | ||
| Contributing-to-code/Reporting-an-issue |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,128 @@ | ||
| 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. | ||
|
|
||
| **Area: community | Content-type: how-to | Experience: beginner, intermediate, expert** | ||
|
|
||
| .. contents:: Table of Contents | ||
| :depth: 2 | ||
| :local: | ||
|
|
||
| Summary | ||
| ------- | ||
|
|
||
| * **Documentation issue tracker**: `ROS documentation repository <https://github.com/ros2/ros2_documentation/issues>`__. | ||
| * **Code issues lists**: in a repository under the `ROS organisation <https://github.com/orgs/ros2/repositories>`__. | ||
| * **Catch-all issues list**: `top level ROS repository <https://github.com/ros2/ros2/issues>`__. | ||
|
|
||
| Prerequisites | ||
| ------------- | ||
|
|
||
| There are no prerequisites. | ||
|
|
||
| Steps | ||
| ----- | ||
|
|
||
| 1 Checking the issue | ||
| ^^^^^^^^^^^^^^^^^^^^ | ||
|
|
||
| If you identify bugs, have suggestions for enhancements, or a question specific to one package, you can open an issue on GitHub. | ||
| For example, if you are following the :doc:`/Tutorials` and come across an instruction that doesn't work on your system, you can open an issue in the `ROS documentation <https://github.com/ros2/ros2_documentation>`__ repo. | ||
|
|
||
| You can search for individual ROS repositories on `ROS GitHub <https://github.com/ros2>`__. | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This should be expanded. Roughly we have three buckets where things live.
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We probably need a section before this on identifying the correct place to report an issue. |
||
|
|
||
| Before opening an issue: | ||
|
|
||
| #. Check if other users have reported similar issues by searching across the ``ros2`` and ``ament`` GitHub organizations using, for example, this `search query <https://github.com/search?q=user%3Aros2+user%3Aament+turtlesim&type=Issues>`__. | ||
| #. Check the `Robotics Stack Exchange <https://robotics.stackexchange.com/>`__ to see if someone else has already reported your issue. | ||
|
|
||
| If your issue has not been reported, you can open an issue in the appropriate repository's issue tracker. | ||
| If it's not clear which tracker to use for a particular issue, create it in the `ros2/ros2 repository <https://github.com/ros2/ros2/issues>`__ and we'll have a look at it. | ||
|
|
||
| 2 Reporting the issue | ||
| ^^^^^^^^^^^^^^^^^^^^^ | ||
|
|
||
| When reporting an issue, use the following guidelines to make sure you include enough information for another person to understand and (where relevant) reproduce the issue. | ||
| It's particularly helpful if you test for your issue with as many alternatives as you can in each category. | ||
|
|
||
| Required information | ||
| """""""""""""""""""" | ||
|
|
||
| #. Use a descriptive **title** for the issue. | ||
|
|
||
| **Bad**: "rviz doesn't work". | ||
|
|
||
| **Good**: "Rviz crashing looking for missing ``.so`` after latest apt update" | ||
|
|
||
| #. Add steps to the issue **description** describing exactly how to reproduce the issue. | ||
| If you are following a ROS tutorial or online instructions, provide a link to those specific instructions. | ||
|
|
||
| Issues are more likely to be resolved if others can reproduce them easily. | ||
|
|
||
| #. Include the following information: | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. if this is the requirement for issue header, we could use the github issue teamplate instead. that should apply this format to register the issue. for example, https://github.com/ros2/ros2_documentation/tree/rolling/.github/ISSUE_TEMPLATE (ros2_ducomentation template) and https://github.com/ros2/.github/tree/main/.github/ISSUE_TEMPLATE (ros2 organization scope template unless there is no repository specific template) |
||
|
|
||
| * **Operating system and version** | ||
|
|
||
| ROS supports multiple platforms, and some bugs are specific to particular versions of operating systems/compilers. | ||
|
|
||
| * **Installation method** | ||
|
|
||
| Some issues only manifest if ROS has been installed from binary archives or from deb packages. | ||
| This can help us determine if the issue is with the packaging process. | ||
|
|
||
| * **Specific version of ROS** | ||
|
|
||
| Some bugs may be present in a particular ROS release, but fixed in a later release. | ||
| It is important to know if your installation includes these fixes. | ||
|
|
||
| * **DDS/RMW implementation** (see `this page </Concepts/Intermediate/About-Different-Middleware-Vendors>` for how to determine which one). | ||
|
|
||
| Communication issues may be specific to the underlying ROS middleware being used. | ||
|
|
||
| * **ROS client library** | ||
|
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Question for the community: does knowing which ROS client library when you report an issue necessarily mean you know which package the issue is with? And hence which issue tracker to use for the report? If so, that will be a helpful note up in section 1. I know the general definitions of these terms, but not what the exact relationship is within the ROS world. My best guess would be that all client libraries are packages, but not all packages are client libraries.
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. please have a look at my comment above. i think what we need to explain here is that users and developers are expected to use the issue template when they are registering the issue. that should include the required information to fill in. in this way, we do not need to come back here to update the documentation when the template is changed or update in the future. |
||
|
|
||
| This helps us narrow down the layer in the stack where the issue might be. | ||
|
|
||
| #. Include any warnings or errors which are displayed as part of the issue. | ||
|
|
||
| Cut and paste the warnings or errors directly from the terminal window to which they were printed. | ||
| Please do not re-type the warnings or errors or use screenshots of the terminal. | ||
|
|
||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @fujitatomoya I would be curious to hear your opinion here, but I think generally new users should be using |
||
| Useful additional information | ||
| """"""""""""""""""""""""""""" | ||
|
|
||
| * If you are reporting a bug, consider providing a `short, self contained, correct (compilable) example <https://sscce.org/>`__. | ||
| * 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.log`` for rviz, if possible (run with ``rviz -l``) | ||
| * Bag files and code samples which reproduce the problem | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. New users struggle with finding where the appropriate log files live. We probably want to include information on that here. We do have a general page about logging here but I just read through it but at no place in that document do we mention the default log directory on each platform (e.g.
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
| * GIFs or video clips to demonstrate the problem | ||
|
|
||
| * 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 :ref:`building-from-source` and follow the instructions to get the ``rolling`` branch. | ||
|
|
||
| * Trying to reproduce your issue with a different RMW implementation. | ||
|
|
||
| For more information, see :doc:`../../../How-To-Guides/Working-with-multiple-RMW-implementations`. | ||
|
|
||
| Related content | ||
| --------------- | ||
|
|
||
| * :doc:`../../Contributing` | ||
| * :doc:`Triaging-an-issue` | ||
|
|
||
| FAQs | ||
| ---- | ||
|
|
||
| TBC | ||
| Original file line number | Diff line number | Diff line change | ||||||
|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,72 @@ | ||||||||
| Triaging an issue — how-to | ||||||||
| ========================== | ||||||||
|
|
||||||||
| Issue triage helps ROS contributors turn incoming bug reports and enhancement requests into clear, actionable work. | ||||||||
| This article explains how to find, check, reproduce, assign, and label issues in ROS repositories. | ||||||||
| With this information, you'll be able to route issues to the right place, with correct information, and prepare them for work by developers. | ||||||||
|
|
||||||||
| **Area: community | Content-type: how-to | Experience: beginner, intermediate, expert** | ||||||||
|
|
||||||||
| .. contents:: Table of Contents | ||||||||
| :depth: 2 | ||||||||
| :local: | ||||||||
|
|
||||||||
| Summary | ||||||||
| ------- | ||||||||
|
|
||||||||
| We welcome anyone to triage issues. | ||||||||
|
|
||||||||
| * **Code issue trackers**: in a repository under the `ROS organization <https://github.com/orgs/ros2/repositories>`__. | ||||||||
| * **Documentation issue tracker**: `ROS documentation repository <https://github.com/ros2/ros2_documentation/issues>`__. | ||||||||
| * **Catch-all issue tracker**: `top level ROS repository <https://github.com/ros2/ros2>`__. | ||||||||
|
|
||||||||
| Prerequisites | ||||||||
| ------------- | ||||||||
|
|
||||||||
| There are no prerequisites. | ||||||||
|
|
||||||||
| Steps | ||||||||
| ----- | ||||||||
|
|
||||||||
| 1 Finding an issue to triage | ||||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||||||||
|
|
||||||||
| We encourage contributors to look at incoming issues on ROS repositories and triage the problems that users are having: | ||||||||
|
|
||||||||
| * To find code issues for triage, review the issues list of a repository under the `ROS organization <https://github.com/orgs/ros2/repositories>`__, for example the issues list in the `ROS CLI repository <https://github.com/ros2/ros2cli/issues/>`__. | ||||||||
| * To find documentation issues for triage, review the issues list in the `ROS documentation repository <https://github.com/ros2/ros2_documentation>`__. | ||||||||
| * If you're not sure where to start, review the issues list in the `top level ROS repository <https://github.com/ros2/ros2>`__. | ||||||||
|
|
||||||||
| When you have identified an issue for triage, add a comment to the issue to say that you are looking into it. | ||||||||
|
|
||||||||
| 2 Confirming and reproducing the issue | ||||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||||||||
|
|
||||||||
| When you have found an issue to triage, confirm that the issue is genuinely an issue (a bug or a request for enhancement) and has been created with the expected information. | ||||||||
|
|
||||||||
| For more information about the information the reporter of the issue is expected to provide, see :doc:`./Reporting-an-issue`. | ||||||||
|
|
||||||||
| #. If the issue ``Description`` is actually posing a question, close the issue and add a comment directing the user to the `Robotics Stack Exchange <https://robotics.stackexchange.com/>`__ to get help with their question. | ||||||||
| #. If the issue looks like a genuine issue (bug or enhancement), but is not relevant to the repository it has been raised in, transfer the issue to the appropriate ROS repository (`see the GitHub documentation for guidance about how to transfer between repositories <https://docs.github.com/en/issues/tracking-your-work-with-issues/administering-issues/transferring-an-issue-to-another-repository>`__). | ||||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
That's not quite right, but you get the idea. |
||||||||
| #. If the issue is a bug, try to reproduce the bug using the provided steps — if you cannot reproduce the bug, add a comment to the reporter asking for clarification. | ||||||||
|
|
||||||||
| 3 Assigning and labelling the issue | ||||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||||||||
|
|
||||||||
| After you've confirmed the issue is a genuine issue, and reproduced it, assign and label the issue appropriately to allow work on the issue to begin by a developer. | ||||||||
|
|
||||||||
| #. Assign the issue to the appropriate developer for the ROS repository in question. | ||||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. How are new users supposed to know this information? Generally they should tag the maintainer, but that isn't always apparent. |
||||||||
| #. Label the issue as a ``bug`` or ``enhancement``, as appropriate. | ||||||||
| #. If this issue is a request for a new feature, label the issue with ``help-wanted``. | ||||||||
| #. If the reporter has not provided enough information to determine the cause of the problem, label the issue as ``more-information-needed``. | ||||||||
|
|
||||||||
| Related content | ||||||||
| --------------- | ||||||||
|
|
||||||||
| * :doc:`../../Contributing` | ||||||||
| * :doc:`Reporting-an-issue` | ||||||||
|
|
||||||||
| FAQs | ||||||||
| ---- | ||||||||
|
|
||||||||
| TBC | ||||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This could probably be more clear. Issues should be reported in the Github repository for the repository in which the error occurred (generally the last file listed in the stack trace).