TODO: add instructions for submitting bugs through the bugzilla interface. Redirect external links to the bugzilla to this page.
Managing Bugs (Bugzilla and the test-suite)
This section contains information mostly intended for RTEMS contributors. But if you submit a bug report, it is very important for you to submit a reproducible test case. These submitted test cases end up being added to the test suite to prevent future regressions.
If you find a bug, but you are not fixing it (yet):
- Create a (minimal) test-case.
- Add the test-case to our test-suite, documenting it as a current failure unless the bug is a regression.
- Add a bug report referencing the test-case to Bugzila.
If you want to provide additional information in the bug tracking system about a reported bug:
- If the bug has been tracked down to a specific area or routine in RTEMS, please provide information about its location.
- Minimize the test case.
- Try the test case with earlier and later versions of RTEMS to determine which versions it affects and whether it is a regression. If it is a regression, identify the patch that introduced it.
If you fix a bug for which there is already a Bugzila entry:
- Remove the failure notation on the test-case.
- Attach your fix and test case to the Bugzilla bug report.
- Close the bug report in Bugzila.
If you find a bug, and you are fixing it right then:
- Create a (minimal) test-case.
- Add the test-case to our test-suite, documenting it as known to work.
- Check in your fixes.
Maintainer's View of Fields
As a RTEMS-specific convention, we will attach a special meaning to some fields. The State field should be used in the following way:
- open - The PR has been filed and the responsible person(s) notified.
- analyzed - A maintainer has verified that this is indeed a bug in RTEMS. Every once in a while, old reports will need to be rechecked, to find out whether the bug still exists. At that time, an indication should be left in the report who tested the bug and when.
- feedback - The submitter was asked for further information, or asked to try out a patch. The PR remains in that state until the submitter responds.
- working - Someone is actively working on fixing the problem and has determined that it may take a while to fix. The intention of this state is to make sure that if someone is working on the problem, that everyone knows it so they can better coordinate efforts.
- suspended - Work on the problem has been postponed. This happens if a timely solution is not possible or is not cost-effective at the present time. The PR continues to exist, though a solution is not being actively sought. If the problem cannot be solved at all, it should be closed rather than suspended.
In addition, the high priority is reserved to maintainers in RTEMS, indicating that a certain problem must be solved before the next version of RTEMS is released.
Procedures and Policies
Bugs that are in state "feedback" because they lack information that is necessary for reproducing the problem can be closed if no response was received for three months.
Regressions should be explicitly marked as such. The synopsis line should read
[<branches-to-fix> regression] <rest-of-synopsis>
where <branches-to-fix> is the list of maintained branches (separated by slashes) that need fixing. A regression should start with priority "high" to bring it to attention. It may be downgraded later if a defect is not important enough to justify "high priority".
Bugs that refer to older releases or snapshots/CVS versions should be put into state "feedback", asking the reporter whether they can still reproduce the problem and to report their findings in any case (whether positive or negative).
- If the response is "works now", close the report,
- if the response is "still broken", change the state to "open", and
- if no response arrives, close the PR after three months.