Quality Feedback Agent: Difference between revisions

From MozillaZine Knowledge Base
Jump to navigationJump to search
m (Category:General concepts)
(make it user-oriented)
Line 2: Line 2:


==Installing==
==Installing==
Talkback is usually bundled with Firefox/Thunderbird/Mozilla Suite. However to install it you may need to do a "Custom" installation and select "Quality Feedback Agent" component manually.
Talkback is usually bundled with Firefox/Thunderbird/Mozilla Suite. However to install it you may need to do a "Custom" installation and select "Quality Feedback Agent" component manually. If you installed the program without Talkback, the best way to do this is to reinstall (you won't lose your settings).  


'''Q: How can I tell whether Talkback is installed?'''<br/>
===How to tell whether Talkback is installed===
A: If you're using Firefox 1.0.x, look in the "components" subdirectory of the application directory. If you have "talkback.exe" file there, you almost certainly have Talkback installed. If you're using Firefox 1.5.x, look in Extension manager for an extension named Talkback.
If you're using Firefox 1.0.x, look in the "components" subdirectory of the application directory. If you have "talkback.exe" file there, you almost certainly have Talkback installed. If you're using Firefox 1.5.x, look in Extension manager for an extension named Talkback.


'''Q: How can I get Talkback if it isn't already installed?'''<br/>
==Turning Talkback on or off==
A: The best way to do this is to reinstall Firefox with Talkback. This is fairly easy and will not result in any bookmarks, history, preferences, etc. being lost, because those are stored in the [[profile folder]].  
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 Talkback UI.


'''Q: I have Talkback installed, but it doesn't appear to work!'''<br/>
==Talkback UI==
A: Make sure you turned it on. The first time you crash, a window appears asking whether you want to turn the agent on or off. If you have chosen to turn it off, you still can turn Talkback back on by running it manually (the executable in "components" folder) and selecting "Settings -> Turn Agent on".
The Talkback interface can be accessed by running talkback.exe in the components directory in the [[installation directory]]. The easiest way to find it is to search your computer for "talkback.exe".


==How does mozilla.org use Talkback data?==
The UI will contain a list of all the incident IDs (ex: TB12345678A) that were sent to Mozilla servers. This incident ID is very helpful for troubleshooting when posting in the forums or filing bugs.
Talkback data is used in two ways:
* Statistics are compiled based on the tops of the stack traces that all users submit.  Periodically, someone looks at these statistics and files bugs for the most frequent crashes, called "topcrashes".
* A stack trace, which can be extracted from a Talkback report, is an essential part of a bug report for any crash that is hard to reproduce. Stack traces often contain enough information about the causes of the crashes for developers to fix them even if they can't reproduce the crash based on your "sometimes crashes when..." report, steps to reproduce, or testcase.


==Stack traces==
==What data is sent==
===What is a stack trace?===
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.
A stack trace is a function call stack, often helpful for understanding the cause of a bug. For a crash, it shows the function in which the crash occurred, what function called that function, etc.


===Once I submit a Talkback report, how can I get a stack trace?===
==Uses of the data==
Each report the Agent sends has its own Talkback ID, which you can see in Talkback's window. The ID looks like "TB4895329Q" and this is what you need to post to bugzilla when you're asked to post a talkback ID.
* Statistics are compiled on all the incidents. Periodically, someone looks at these statistics and files bugs for the most frequent types of crashes, called "topcrashes".
* Individual incidents can be looked up with [http://talkback-public.mozilla.org/talkback/fastfind.jsp Talkback FastFind] to help users find immediate solutions to crashes.


However if you're curious, you can see the stack trace of your crash by entering your Talkback ID into [http://talkback-public.mozilla.org/talkback/fastfind.jsp Talkback FastFind].
==External links==
 
===Can I submit Talkback reports for hangs?===
While Talkback theoretically supports hang reports, I don't know how make it trigger for them.
 
timeless has written a program called [http://viper.haque.net/~timeless/crash/ crash.exe] that can be used to force Firefox to crash, but it makes Firefox crash in a new thread, so it doesn't create a useful stack trace for hangs.  A future version of crash.exe might let you specify a thread to crash, which could be used in combination with [http://www.sysinternals.com/ntw2k/freeware/procexp.shtml Sysinternals Process Explorer] to make the hanging thread crash.
 
==Talkback and Bugzilla==
===If I submit a crash report, should I still file a bug report in Bugzilla?===
Yes. Unless you file a bug, your crash report will only be used in statistics to find topcrashers.
 
===How can I submit a useful bug report for a crash?===
Once you reproduced the crash, send the Talkback report, then copy the ID from the Talkback window. (On some platforms, you must run talkback.exe before you'll see the Talkback window.) Go to [http://talkback-public.mozilla.org/talkback/fastfind.jsp Talkback FastFind] and enter your ID. If everything works correctly, you'll get a page with report details.
 
Try to find existing bug reports about your crash. Search based on the signature (listed separately in the Talkback report, usually the name of the top function in the stack trace). For example, if the signature is <code>nsXPCWrappedJSClass::CheckForException</code>, search for "CheckForException". If you find a bug with a similar stack and similar steps to reproduce or URL, just vote for the bug. But don't assume two crash bugs are the same just because the crashes happen with the same function at the top of the stack.
 
When submitting your bug, you can include the Talkback ID in your bug report instead of the full stack trace. In your summary for the bug, include the name of the function.  For example, "Crash [@ CSSStyleRuleImpl::DeclarationChanged] toggling visibility value via DOM Inspector".
 
It's also important to [http://www.mozilla.org/quality/help/pick-a-component-for-crashers.html pick the right component] for your crash.
 
If you can figure out easy steps to reproduce and create a small testcase, do so!
 
===Should I file the crash as a security-sensitive bug?===
Usually not. If the crash is just a denial of service (DoS), Mozilla's security group probably isn't interested.
 
If the crash is in NSS or NSPR, it should be considered a security hole.  These components are also used by some server software, so crashes in these components are considered security holes even if the most an attacker could do is cause a DoS.
 
If the top of the stack is a random memory address instead of a function name, that means Mozilla crashed when trying to jump to an incorrect address.  If the attacker can control the address Mozilla jumps to, he can probably cause Mozilla to execute arbitrary machine code instead of crashing.  Even if the address appears to be random, the attacker might be able to put enough copies of his code throughout memory with nop slides to exploit the crash.  In addition to looking at the stack, you can inspect the C++ code by clicking the links in the Talkback report.
 
If you file the bug as security-sensitive, say why you did, e.g. "I'm filing this crash bug as security-sensitive because it is in NSS and NSS maintainers consider DoSes to be security holes".
 
==More information==
* http://texturizer.net/firefox/faq.html#talkback  
* http://texturizer.net/firefox/faq.html#talkback  
* [http://talkback-public.mozilla.org/talkback/fastfind.jsp Talkback FastFind]
* [http://talkback-public.mozilla.org/talkback/fastfind.jsp Talkback FastFind]

Revision as of 18:51, 19 February 2006

Talkback (aka Quality Feedback Agent) is a program that activates when Mozilla Suite, Firefox, or Thunderbird crashes. It lets you send stack traces and other development information to mozilla.org engineers. This information helps developers make future versions of the software crash less.

Installing

Talkback is usually bundled with Firefox/Thunderbird/Mozilla Suite. However to install it you may need to do a "Custom" installation and select "Quality Feedback Agent" component manually. If you installed the program without Talkback, the best way to do this is to reinstall (you won't lose your settings).

How to tell whether Talkback is installed

If you're using Firefox 1.0.x, look in the "components" subdirectory of the application directory. If you have "talkback.exe" file there, you almost certainly have Talkback installed. If you're using Firefox 1.5.x, look in Extension manager for an extension named Talkback.

Turning Talkback on or off

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 Talkback UI.

Talkback UI

The Talkback interface can be accessed by running talkback.exe in the components directory in the installation directory. The easiest way to find it is to search your computer for "talkback.exe".

The UI will contain a list of all the incident IDs (ex: TB12345678A) that were sent to Mozilla servers. This incident ID is very helpful for troubleshooting when posting in the forums or filing bugs.

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 "topcrashes".
  • Individual incidents can be looked up with Talkback FastFind to help users find immediate solutions to crashes.

External links