<p>Since our developers are unable to test every hardware combination, nor every different way of interacting with the operating system, we are relying on users to give us some input on how things work at their end. Since Haiku is still quite young, it's very likely that you will encounter bugs. We thank you for taking the time to report these. Together we can improve Haiku, bit by bit.</p>
<p>To keep our bugtracker effective, it's essential to abide by the <ahref="http://dev.haiku-os.org/wiki/BugTrackerEtiquette">Bug Tracker Etiquette</a>.</p>
<h2>Getting a Trac account</h2>
<p>To file a ticket, you need to have an account at <ahref="http://dev.haiku-os.org/register"title="Register at Haiku's Bugtracker">Haiku's Bugtracker</a>.<br/>
When creating a new account, be certain to <b>provide your email address</b> as it is necessary to obtain basic ticket modification privileges. Be sure to <b>check your spam folder</b> shortly afterwards, as the all important verification mail often ends up there.</p>
<h2>Créer un rapport de bogue</h2>
<p>Before reporting a bug, please <ahref="http://dev.haiku-os.org/query?status=new&status=assigned&status=reopened&status=closed&summary=%7Etext+you+want+to+search+for&order=priority">make sure</a> that it does not yet exist. You can also use the <ahref="http://dev.haiku-os.org/search?q=&noquickjump=1&ticket=on">search</a> function for this.<br/>
After you have established that it's a unique bug, make your information as accurate as possible:</p>
<ul>
<li><p>Include basic information such as how you are testing Haiku (on real hardware, on VMWare, on QEMU, etc.).</p></li>
<li><p>Mention which revision from <acronymtitle="Subversion, the source code management system we use">SVN</acronym> you are running. You can find this information in '<i>About This System...</i>' from the Deskbar menu.</p></li>
<li><p>Describe the problem you are experiencing. Try to be as accurate as you can: describe the actual behavior, and the behavior you expected.</p></li>
<li><p>Describe what steps you need to perform in order to expose the bug. This will help developers reproduce the bug.</p></li>
<li><p>Attach as much information as you have. If it is a GUI bug, or a bug in one of the applications, try to make a screen shot (the <spanclass="key">PRINT</span> key saves a <acronymtitle="Portable Network Graphics image format">PNG</acronym> in <spanclass="path">/boot/home/</span>).</p></li>
</ul>
<h3>Software Bugs</h3>
<p>When an application crashed, you should invoke the debugger from the alert that pops up. Entering <spanclass="cli">bt</span> into the launched debug Terminal, you create a "backtrace" that you should copy into your bug report.</p>
<h3>Hardware Bugs</h3>
<p>When dealing with a hardware/driver related bug, you should attach the following information:</p>
<ul>
<li><spanclass="cli">listdev</span> - a detailed listing of your hardware, including vendor and pci id's, similar to Linux' <spanclass="cli">lshw</span> and <spanclass="cli">lspci</span>.</li>
<li><spanclass="cli">listusb -v</span> - assuming its a USB related issue, similar to <spanclass="cli">lsusb</span>.</li>
<li><spanclass="cli">open /var/log/syslog</span> - the primary system log used by Haiku, akin to on screen debugging during boot. With the <spanclass="cli">open</span> command you can crop down the relevant part of the syslog in a text editor.</li>
<li><spanclass="cli">listimage | grep drivers/</span> - lists all used drivers.</li>
<li><spanclass="cli">ints</span> - only available within <i>Kernel Debugging Land</i> (see below). Shows interrupt usage. There shouldn't be too many that are shared by different devices.</li>
</ul>
<p>You enter these commands into Terminal. Add a <spanclass="cli">> output.txt</span> after a command, and it's piped into a text file called "output.txt" that you can attach to your bug report or email.</p>
<h3>Kernel Debugging Land - KDL</h3>
<p>When some very low level system component crashed, you may end up in the kernel debugger. It can also be entered deliberately with <spanclass="key">ALT</span><spanclass="key">SysReq</span><spanclass="key">D</span> (<spanclass="key">SysReq</span> being <spanclass="key">PRINT</span> on most keyboards).</p>
<ul>
<li><spanclass="cli">co</span> - will exit KDL and continue normal system operation, if possible.</li>
<li><spanclass="cli">int</span> - will show interrupt usage (as described above).</li>
<li><spanclass="cli">bt</span> - shows a backtrace, detailing where exactly the crash happened.</li>
</ul>
<h2>What's next?</h2>
<p>After the bug has been reported, a developer will look at your bug and try to classify it. Remember, we are all volunteers, and as such, sometimes a bug report might go unanswered for a while. Adding new information when it becomes available usually helps getting a bug picked up quicker, but do not try to 'bump' the bug up by adding
non-descriptive comments.</p>
<p>Remember, reporting a bug is not something you spend a little time on and then you are done. If you reported a bug, then you are part of the Haiku development process. Developers might come up with questions while they are trying to fix your bug. Please stay around to answer these. Consider your participation 'done' when the bug is marked