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 developers 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?
WARNING: READ CAREFULLY. FAILURE TO COMPLY WILL RESULT IN THE BUG REPORT BEING IGNORED AND/OR MARKED AS INVALID.
Lone Rifle 14:13, 31 July 2009 (UTC) : In order to regulate the volume of bug reports that the developers are handling, please consult the testers on IRC if you wish to file a bug that concerns installing or running a specific application, or running ReactOS on a specific computer as opposed to a virtualisation tool like QEMU. If you are providing a patch, or know the exact underlying cause of the bug (the reproduction method is not enough! you will have to explain why the reproduction method causes the bug!) and/or its solution, please go ahead and file it without our consultation. ReactOS is in alpha and is not suitable for use on your main computer. The developers will accept no responsibility for any loss of data nor are they obliged to help you with your problems.
When you think that you have encountered a bug, do not post about it straight away. Don't bug developers 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 phenomena, 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 developers' 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 developers need to observe the same problem that you are experiencing. Remember, proceed only if you know how to replicate the bug!
- Check Bugzilla, to see if this bug 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.
- Be sure to check latest (HEAD) revision of DEBUG BOOTCD. If this issue is limited only to Release versions, please consult the developers. We will not accept any bug reports on official releases, ie, those found on the download page.
- If you are using your own build of ReactOS, please check official version as well.
- If you are running ReactOS on real hardware, try Debugging 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 VirtualBox. 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.
FAILURE TO COMPLY WITH THE ABOVE WILL RESULT IN THE BUG REPORT BEING IGNORED AND/OR MARKED AS INVALID.
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 (add a link to it).
- 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, Caemyr or gabriel_it on irc:
- Try not to paste the debug log directly into the bug report, attach it instead. It helps readability.
- Use Bugzilla as a way to file bugs, not to ask for support or discuss other things not related to the bug, again readability is essential.
- 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 do not follow the guidelines will be closed as INVALID and the 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.
How not to file a bug report. Real life examples (nothing personal)
#4721 When I try to launch Microsoft Word Viewer 2003 it gave me a error and then makes the task bar disappear.
What's the problem:
- The title is too long and gets lost, we need a short title describing the problem: "Word Viewer 2003 crashes at launch" (I didn't manage to reproduce the explorer crash, could be a random issue).
- There's no debug log.
- Reporter didn't search Bugzilla with keywords Word Viewer, he would've found #4587.
- He specified TRUNK but it'd be much better to give the specific revision. We don't have time to go and see what revisions were built that day, there could be ten or more, and what if he didn't use that day's revision? The more info you add, the better.
- A link to Word viewer would save time to someone willing to test/confirm the issue.
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. "bug 1234 comment 2" will link to bug 1234 and go straight to comment 2.
- You could modify the wrong bug because of a "feature" in Bugzilla. After modifying a bug, Bugzilla takes you to the next bug in your list, so if you wanted to add something you forgot in your previous comment, you'd be updating another bug. Please check your preferences in Bugzilla: General preferences -> "After changing a bug" set it to "show the updated bug" and hit submit changes.
- For more information about using Deskzilla with the ReactOS Bugzilla, please read the Deskzilla page.