wiki:BugReporting

Version 2 (modified by rjollos, 2 years ago) (diff)

Clarification.

How to Report Bugs

If you'll find a bug in any plugin and you'd like to get know to author, you should collect some usefull information before making a new ticket. You can use this link where you correctly fill in "Component" and "Assigned To" fileds to make a ticket but better is to use direct links at plugins' home pages.

Describing Bug

First of all you should find out how your bug can be evoked. Sometimes it's obvious but sometimes is needs special succesion of steps and specific system configuration. However write a few sentences about that could help a lot anytime. If you'll not manage to evoke your bug once more 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 is a problem where it occurs. If your bug is not only functional one but it's provided by error message or traceback, you should collect debug messages too. There is two ways how to enable logging on debug level.

First, the hard one, is described here. For our purposes it is needed to set these variables in 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 evoke 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 that are relevant or few tens if you are not sure about that and post them to 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 dependend so you should sumarize your system information in the begining of 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 plugin's version. Example of that info could look like here:

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

Sumary

Not all information is needed in all cases but if you are not sure it's better to put it all in the ticket. If you'll stick with that, developers would love you :-).