Back to DeveloperDocs
Automatic Bug Reporter
This is an interface-proposal for a component *Automatic Bug
Reporter*, which is being built to address ticket #1667,
"Automatically notify developers on crash".
Whenever a PHP crash occurs for a client, they will be given an
apology-screen, encouraging them to enter in an explanation of what
they were doing. Their description, along with error information (eg
stack trace), is then sent to Campware via HTTP, where the automatic
bug tracker is notified.
It is then added to a "bug-Inbox", where an admin can view the various
new bugs, and decide which ones to add to Trac, and which ones to
delete. Duplicate bugs are not added to the inbox; instead their
comments are added to the ticket containing the original bug report.
Automatic Bug Reporter has three screens. The first screen is the
client interface:
Campsite Problem
================
Please Tell Campware about your error
-------------------------------------
Campsite has encountered a problem. We are sorry for the
inconvenience.
The Campsite development team will be investigating this issue. In
order to help them pinpoint the issue please take a moment to describe
what happened.
What were you doing when the problem occurred?
.................................................................
. .
. .
. .
. .
. .
.................................................................
Email address (optional) _________________________________________
To see the error report, click here
V [Expander]
-----------------------------------------------------------------
|
| Error Report
|
| Error ID: 91:Campsite:1.6:login.php:23
| Software: Campsite
| Error Message: Array out of Bounds
| Error Number: 91
| Time: 2006 August 1st, 01:10:21 GMT
| Browser name: Internet Explorer
| Browser version: 5.1
| Stacktrace: [multiline stacktrace]
|
-----------------------------------------------------------------
This is what the user sees in their browser when a Campsite crash
occurs. It encourages them to send a description of what they were
doing and their email.
The details of the error are sent to Campware (via HTTP), unless that
machine's admin has toggled off that option.
The error information is then sent to Campware, and picked up by the
Automatic Bug Reporter. These new tickets can be accessed by going to the
"Ticket Inbox" page. This page can be accessed by pressing the
"Ticket Inbox" link on the navigation bar (Wiki, Timeline, etc.).
Here is the Ticket Inbox page:
Ticket Inbox
============
Inbox
-----
Ticket Summary Component Vers. Severity Owner Created
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#2910 I forgot to enter my... 1.6 Crash Randy 06/06/06
#1920 When I was editing a... 1.7 Crash Marsha 06/01/22
#2555 When I logged in... 1.6 Crash Chris 06/05/13
Postponed
---------
Ticket Summary Component Vers. Severity Owner Created
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#3000 I forgot to enter my... 1.7 Crash John 06/06/06
#1299 When I was editing a... 1.6 Crash Helen 06/01/22
#3001 When I logged in... 1.6 Crash Jane 06/05/13
The Ticket Inbox page is very similar to the "View Tickets by
Milestone page". The differences essentially being the title, and
that the view is new auto-generated errors.
The admin's job here is to move new tickets out of Inbox. The tickets
can either be moved to the regular Trac database (where they can be
viewed from "Tickets by Milestone", etc), or to Postponed, or
deleted. The Postponed option is for errors the admin hasn't yet
decided whether or not to delete.
The moving of tickets out of inbox is done on the Ticket Inbox Details
Screen:
Ticket Inbox
============
Ticket #999
~~~~~~~~~~~
Error 91:Campsite:1.6:login.php:23
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
----------------------------------------------------------------------------
Priority: Urgent Reporter: Jon Smith ([email protected])
Severity: Crash Occurences: 23
Component: [blank] Assigned to: [blank]
Version: 1.6 Status: new
Milestone: [blank] Resolution: [blank]
Keywords: [blank]
Description by Jon Smith:
I forgot to enter my password when I logged in.
Stack Trace:
[stacktrace here]
----------------------------------------------------------------------------
Action [dropdown]
* Postpone
* Accept
* Delete
Changelog
Jun 3 23:15:07 2006: Modified by Paul Jones ([email protected])
* I can't log in.
Stack Trace:
[stack trace here]
This page is very similar to the Trac Ticket Details page. The key
differences are that the error ID is displayed in the title, there is
an "Occurrences" field (which lists the number of times this error has
occurred), and there is an Action dropdown menu (which lets the admin
move this error to be among the other Trac tickets, delete it, or
postpone that decision).
The software determines duplicate errors by whether they have the same
error ID. The error ID is composed as follows:
'ErrorNum:SoftwareName:SoftwareVersion:FileName:LineNum'. In cases
where new incoming errors are duplicates of old errors, the errors do
not appear as new Inbox items, instead they are simply added as a
comment to the trac ticket containing the orginal error report.
The only new information contained in duplicate errors are the
customers' ID, their comment, and (possibly) their stacktrace. The
fields for the user ID and comment is straight forward (as it's built
into track). The stacktrace will be appended to the end of the user
comment.