This article describes how to file bugs in our Bugzilla Bug-Tracking Software.
Why file bugs?
Sometimes the developers are too busy to fix things as they are reported. If you just report the bug to the developer mailing list or our IRC channel, they may not get attention right away, and the details of the bug may be lost to time. Filing bugs in Bugzilla allows you to report the problem in a manner that lets the devs know something is broken, but give them time to finish other tasks, have a life, etc..
Bugs to not report in Bugzilla
- Build breakages on the common platforms (Windows, Linux). Please report build breakages on IRC, or to the ros-dev mailing list.
- Features reported to be in the next version of Windows (WinFS, etc..)
Found a bug?
When you think that you have encountered a bug, do not post about it straight away. Don't bug devs on IRC (you can bug testers though). Before you report anything, you need to make sure that you really have found an issue. ReactOS is full of random crashes, strange effects and inexplicable phenomenas, but there is no point of reporting them as they come and go. What you need is a solid report with plenty of information, this way you can be sure that the bug is real and you are not wasting your and devs' time. Please follow the guidelines below, point after point:
- Most important thing: you need to be able to replicate this bug. If you are not capable of replicating the bug, don't report it. Such bug report is often useless, as devs need to observe the same problem that you are experiencing. Remember, proceed only if you know how to replicate the bug!
- Check bugzilla, if this bug has been already reported.
- Be sure to check latest (HEAD) revision of DEBUG BOOTCD, if this problem has already been reported. If so, then do not open a new report, but rather add your own comment, confirm that the bug happens also in your case and maybe add more info if missing. If this issue is limited only to Release versions, please consult the devs.
- If you are using your own build of ReactOS, please check official version as well.
- If you are running ReactOS on real hardware, try to record debug output through null modem cable. It's not a requirement for reporting the bug, but will help a lot to fix it. If you can't add the debug log, be prepared that the bug will not be attended for a long time (as long as someone can provide the log or it gets fixed by chance).
- If you are running ReactOS on emulator, please mind that we officially support QEMU, VMware and VBox. Others are not supported and your bug may not be valid. Please consult our testers before reporting.
- It's a good practice to consult other ReactOS users. Ask someone to confirm the bug, using your method of replicating it, but it's not a requirement. You can safely report the bug now. Please consult the section below for instructions on filing the bug reports.
- Bother developers with this bug only, if it has serious effect, like breaking the booting process.
How to file good bug reports
When you encounter a problem in ReactOS, there are a few basic things we need to know.
- What you were doing when the crash happened
- This is probably the MOST important thing you need to report. If we cannot reproduce the bug, then it will be nearly impossible to diagnose and repair. Please take the time to reproduce the crash before filing the bug, and when you can consistently reproduce the bug, write a detailed description on how to reproduce it.
- Your hardware configuration
- If you are running on real hardware, gather information about specific hardware configuration. On Windows, use the standard tools: Device Manager, msinfo32, dxdiag, etc. If you are using Linux, 'lspci' or 'cat /proc/pci' would be a good place to start. If you are using a virtual machine, please note the virtual machine software version in addition. This is extremely important in diagnosing boot or install errors.
- The version of ReactOS you are running
- If you are running a release, then we need to know the version (i.e. 0.3.7), in this case it's advisable to use the latest trunk build to make sure the bug hasn't been already fixed. If you are running a debug build from SVN, we need to know the revision, this can be obtained from the 'ver' command in a command prompt. 'ver' will report something like "Version 0.4-SVN 20081029-r37042". The rXXXXX number is what we need.
- Any debug messages output by ReactOS
- If you experience a crash (BSOD), please take the time to document the crash details. Debug logging is vital, specially for system or application crashes. Prepare and attach the debug log with your bug report.
Please see the Debugging section for further details on the debug output.
- The version of the application you are running
- If the crash is related to your favorite windows app, please report what version of that app you are using, and where you downloaded it from.
- Screenshots of graphical bugs
- A picture is worth a 1000 words, and when it comes to debugging graphical problems, possibly more. Bugzilla allows you to attach files to bugs, so if you can get a screenshot of a bug, please do so. It's also important to attach directly your image (or any attachment for the case) in Bugzilla and not using other upload/sharing services.
Rules on reporting
If you have any questions or problems regarding reporting bugs, please consult amine48rz or Caemyr on irc:
- The bug report should cover a single problem or case, no matter if it happens in multiple applications or has multiple ways of replicating it;
- When bug was fixed but it uncovered another bug in the same application, you can reuse the previous bugreport, provided that you change the topic so it covers the new issue;
- Do not post more than one issue in a single bug report. The only exception is when they are related to the same application or system component, and only if you consulted amine48rz or Caemyr prior to reporting the bugs;
- Bugs that are not following the guidelines will be closed as INVALID and reporter will be asked to report the bug properly;
The Bugzilla form is pretty straight-forward, but here are some tips:
- Version: If you are using a release, please indicate the version you are using. If you are using a build from SVN that is newer than the latest release, please use the version "TRUNK"
- Component: This is the "area" of ReactOS where the bug is located. The Component link next to the select box explains each component. If unsure, please guess, we can change it later.
- Platform: Please note on what type of hardware you experienced this bug. If unsure, use the default "x86 Hardware"
- OS: The OS on which the bug happened. Usually will be "ReactOS", but if you were testing ReactOS components on Windows, please indicate which version.
- Severity: This indicates how "bad" the bug is. For most bugs, please leave this at "normal", we will adjust the severity as needed. Please do not file bugs as "blocker". The Testing Coordinator or Developers will determine if a bug is a blocker. Please see ReactOS Bugzilla Severities for more information.
- Assigned To: This will be filled automatically, when you choose a Component.
- URL: If this bug is against the "Online Services" component, please give the URL of the problem page.
- Summary: A short description of the bug. When doing a bug listing, this is the only bug description shown. Please make this as clear as possible, since other users reporting bugs will need to check if a bug has already been filed.
- Description: The detailed description of the bug, please place all the information you have gathered (above).
- Depends On: Bugs that need to be fixed, before the reported bug can be fixed. We will generally fill this in when needed.
- Blocks: The reported bug needs to be fixed in order to fix these bugs. We will fill this in as needed.
- Add an Attachment: This button can be used to attach files (debug logs, screenshots, patches) to the bug.
Some notes about Bugzilla:
- After a bug is filed, or anytime it is updated, an email is sent to the ros-bugs mailing list
- The words "attachment" and "bug" are automatically linked in the description text. So if you say "This may be related to bug 1234", "bug 1234" will automatically become a link to bug 1234.