wiki:BugReporting

Version 3 (modified by figaro, 9 years ago) (diff)

Cosmetic changes

How to Report Bugs

If you find a bug in a plugin and you would like the author or maintainer to know about it, you should collect some useful information before creating a new ticket. You can use this link where you correctly fill in "Component" and "Assigned To" fields to make a ticket, but it is better to use the direct links at plugins' home pages.

Describing Bug

First of all you should find out how your bug can be replicated. Sometimes it's obvious, but sometimes it requires a specific succession of steps and a specific system configuration. Writing a few sentences about that will help a lot. If you are unable to replicate your bug, make a ticket anyway, but make a note about that.

Collecting Debug Messages

Plugins should use debug messages logged to file to help determining where the problem occurs. If your bug is not only functional, but it is provided by error message or traceback, you should collect the debug messages too. There are two ways to enable logging on debug level.

First, the hard one, is described here. For our purposes it is needed to set these variables in your trac.ini configuration file:

[logging]
log_type = file
log_level = DEBUG

The second one is easier but you have to have had WebAdminPlugin installed. Just go to "Admin" section and "Logging" page and set there "Type" field to "file" and "Log level" field to "DEBUG".

You will probably need to restart your web server after changing that in both cases. Then replicate your bug again go to "<trac_environment_path>/log/" folder and open log file named trac.log (by default). There collect any relevant lines near error message that you think are relevant or few tens if you are not sure about that and post them in the ticket. Don't forget to enclose these lines in triple brackets ({{{ }}}) when pasting the content into a ticket.

Describing Your System

Many bugs are platform dependent, so you should sumarize your system information in the begining of the ticket. Relevant is your exact Trac version (0.10.3, SVN trunk r3500, ...), web server you are running trac at (Apache+CGI, Apache+mod_python, tracd, ...), database backend (sqlite, PostgreSQL, MySQL, ...), database bindings (pysqlite, ...), operating system (Windows, Linux, MacOS, ...) and of course the plugin's version. Example:

DiscussionPlugin: 0.10 (r1941)
Trac: 0.10.3 ubuntu package
Server: Apache 2.0.59 + mod_python 3.2.10
Database: sqlite 3.3.5 + pysqlite 2.3.1
OS: Linux

Summary

Not all information is needed in all cases, but if you are not sure, it's better to put all of it in the ticket.