MozillaZine

Quality Feedback Agent

From MozillaZine Knowledge Base

This article does not apply to Thunderbird 3, SeaMonkey 2, or Firefox 3 and above.

The Quality Feedback Agent (aka Talkback) activates when your Mozilla application crashes. It lets you send stack traces and other development information to mozilla.org engineers. This information helps developers improve new versions of the software.

Talkback is usually bundled with Firefox, Thunderbird and the discontinued Mozilla Suite. It is not included in SeaMonkey 1.0 or later versions released to end-users, although it may be available in some "nightly" SeaMonkey test builds [1] [2].

Note that, in Firefox 3, Thunderbird 3, and SeaMonkey 2, the Breakpad crash-reporting tool replaces the Quality Feedback Agent.

Image:Talkback-Firefox.png

Contents

Installing

To install the agent you may need to do a "Custom" installation and select "Quality Feedback Agent" component manually. If you installed Firefox Thunderbird or Mozilla Suite without the Quality Feedback Agent, the best way to do install it would be is to reinstall your Mozilla application (you won't lose your settings).

Getting an incident ID

Every time the application crashes and sends info on that crash to the Mozilla servers, it generates an incident ID. Incident IDs are listed in the agent user interface. The interface is not part of Firefox, Thunderbird or Mozilla Suite; it is a separate program. If you were asked by someone to supply an incident ID for a crash and then linked to this page, please follow these simple steps:

Find out if the agent is installed

Open the Extension Manager in Firefox/Thunderbird 2 ("Tools -> Add-ons -> Extensions") or in Firefox/Thunderbird 1.5 ("Tools -> Extensions") and look for an entry named Talkback. For other Mozilla products, look in the installation directory.

Find out where the agent is installed

Windows

Program Location
Firefox C:\Program Files\Mozilla Firefox\extensions\talkback@mozilla.org\components\talkback.exe
Thunderbird C:\Program Files\Mozilla Thunderbird\extensions\talkback@mozilla.org\components\talkback.exe
Mozilla Suite C:\Program Files\mozilla.org\Mozilla\components\talkback.exe

Mac OSX

Program Location
Firefox /Applications/Firefox.app/Contents/MacOS/extensions/talkback@mozilla.org/components/talkback/Talkback.app
Thunderbird /Applications/Thunderbird.app/Contents/MacOS/extensions/talkback@mozilla.org/components/talkback/Talkback.app
Mozilla Suite /Applications/Mozilla.app/Contents/MacOS/components/Talkback.app

Linux

Since in most cases the way that Linux users have installed their Mozilla product is by using a distro-specific package, Talkback is usually not installed. If you think that it might be installed, you can search for "talkback" and see if any results come up. "Typical" locations are as follows:

Program Location
Firefox /usr/local/firefox/extensions/talkback@mozilla.org/components/talkback/talkback
Thunderbird /usr/local/thunderbird/extensions/talkback@mozilla.org/components/talkback/talkback
SeaMonkey nightly builds (1.5a or earlier) /usr/local/seamonkey/components/talkback/talkback

There are other ways to get crash data besides using Talkback. Some distros, such as Fedora, provide debug packages that will allow users to obtain a stack trace one these packages are installed. In fact, some crashes are caused by patches that distros have added to their own packages and are not even Mozilla's fault! One other, more involved way of getting a stack trace for a crash is compiling a debug build of whatever Mozilla product you're using and using gdb.

If Talkback isn't where it should be, then you will need to install it.

Opening the agent user interface

Image:Talkback-Firefox-UI.png

Run the application from the path you located above. The agent user interface window will open and will contain a list of all the incident IDs (eg: TB28659753Z) that were sent to Mozilla servers. On Windows and Mac OSX, you can select an ID, or multiple IDs and copy them to the clipboard using the Copy Selected ID(s) button, or by using the right-click context menu copy (on Mac OS X, simply selecting the build ID pressing Cmd-C also works). Unfortunately, on Linux a copy feature does not exist and one must write simply write out the ID(s).

Enabling Talkback

On a new install, Talkback may be installed, but not enabled. If so, then running the application will set it up for the first time.

No incident IDs listed

There are a couple of possible reasons for this.

  • The first time you crash, a window appears asking whether you want to turn the agent on or off. If you change your mind, you can change it under the Settings menu in the agent UI.
  • You may be experiencing a hang rather than a crash. With crashes, the application will "disappear" immediately rather than stop responding. The agent can report only crashes, not hangs.
  • If you are using a proxy server that requires authentication, the agent will not be able to send the reports to Mozilla's servers. Such authentication methods aren't supported yet. A workaround for username/password authenticating proxies on Windows is to set up the Proxomitron to add the authentication information, and set the agent to use the Proxomitron as its proxy.
  • If one or more listed incident(s) have their incident ID shown as "Unknown", it usually means that their incident data has been saved but not yet sent. Make sure you are connected to the Internet, then use the "Incidents => Send unsent" menu item to send the incident data and get an Incident ID for each such incident.

What data is sent

Contained in the data sent is a stack trace (where in the code the crashed occured and how it got there), the version and operating system, how long the program ran before crashing, and any data that you fill out.

Uses of the data

  • Statistics are compiled on all the incidents. Periodically, someone looks at these statistics and files bugs for the most frequent types of crashes, called "topcrashers".
  • Individual incidents can be looked up with Talkback FastFind to help users find immediate solutions to crashes.

External links