wiki:HowToFileABug

Version 4 (modified by Jakub Jermář, 14 years ago) ( diff )

How to file a bug

As in any other complex software system, there will inevitably be bugs in the HelenOS source code (unless we can formally prove the opposite). It is therefore essential for people who run into them to make sure the bug is actually known to the developers and that all potentially relevant information that can help to root-cause the bug is available. This is best achieved by filing a ticket in our bug tracking database.

Below follows a list of tips for filing the most useful bug reports, but before filing one, please check the existing tickets to see whether the problem you are going to log is a new bug or a duplicate of an already known issue. For duplicates, you can try to improve the original bug report by providing additional information. For new bugs, continue with the following points.

  • Pick a descriptive Summary
    • bad: HelenOS has bugs
    • good: page_ht_lock mutex taken while tlblock spinlock held
  • Avoid creating multi-tickets
    • bad: Fix problem XYZ on amd64, arm32, ia32, ia64, mips32, ppc32 and sparc64
    • Instead, consider filing separate tickets for all of the above architectures. This will make it easier to track progress on each architecture separately.
  • Categorize the new bug using fitting Type, Component and Version fields
  • In the first comment section, provide a concise and complete problem statement
    • Say what deviation from the expected behavior you observe
    • Briefly say what you think the expected behavior should be
    • Include instructions, code fragments to reproduce the problem or state that the problem is not easily reproducible
    • If you set the Version field to mainline, provide the exact revision of the changeset where the bug was observed
      • If the bug was observed in multiple revisions, specify the first one in which the problem occurred
    • Provide reasonable details about the hardware of the target system, such as:
      • the processor architecture, if not already clear from the Component field
      • number of processors
      • name and version of the simulator/virtualizer, if the target system is a simulated machine
    • Provide reasonable details about HelenOS configurations
      • consider including Makefile.config from the root of the HelenOS tree
    • If there is a stack trace associated with the bug, paste it into the bug report
      • In case there is a core dump generated for a crashing task, compress it and attach it to the ticket
      • Alternatively, attach the compressed binary itself (kernel.raw or the respective uspace binary). Note that attaching .disasm files is problematic as these files are usually much bigger than the respective binaries themselves.
    • If there are some terminal or console messages of interest such as warnings or errors, mention those in the bug report.
Note: See TracWiki for help on using the wiki.