Flash/Hang Debugging: Difference between revisions
(note that this is a WIP) |
(Removing questions about bug submission, adding google form.) |
||
| Line 1: | Line 1: | ||
A number of our Windows users are seeing flash hangs on a regular basis. If you would like to help Mozilla's engineers diagnose and fix those problems for our users once and for all, please follow the process below. | A number of our Windows users are seeing flash hangs on a regular basis. If you would like to help Mozilla's engineers diagnose and fix those problems for our users once and for all, please follow the process below. | ||
| Line 53: | Line 48: | ||
== Sending the Data to Mozilla == | == Sending the Data to Mozilla == | ||
The dump files will be too large to email or add to Bugzilla. You'll need to | The dump files will be too large to email or add to Bugzilla. You'll need to upload them to Dropbox or Google Drive, and then share them with bsmedberg@mozilla.com. | ||
Once you've done that, [http://goo.gl/forms/rMCgO5yelu please fill out the questions on this form]. | |||
Some of the information that form asks for will be in "about:support" - you can open about:support the same way you opened about:config earlier. | |||
Revision as of 02:12, 19 February 2015
A number of our Windows users are seeing flash hangs on a regular basis. If you would like to help Mozilla's engineers diagnose and fix those problems for our users once and for all, please follow the process below.
A typical Flash hang happens when a movie or animation starts and Firefox becomes unresponsive for several seconds or minutes.
Getting Started
First of all: thanks you for your help. Firefox and the Open Web will be better off once we've put this bug down for good.
Before we can begin, you'll need:
- An account on Google Drive, Dropbox or some other utility that allows you to share large files. These files will be too large to send over email, and may contain personal information, so please share them only with the form provided.
- Install a Windows tool called Process Explorer
- An up-to-date copy of Firefox. You can make sure your copy is up to date by looking in the Help menu, and selecting "About Firefox".
- An up-to-date-copy of Flash. (VERIFY THAT THIS IS WHAT WE WANT)
Setting Up
You'll need to start by opening About:Config to set some preferences. Type "about:config" in the URL bar and hit enter. If this is the first time you've done this, you'll be presented with a warning message telling you to be careful, and you should click the button saying you will.
Find the following prefs and set them the following prefs to disable the built-in plugin hang monitoring, use the standard Flash sandboxing configuration, and disabling JITs for better debuggability:
- Set dom.ipc.plugins.hangUITimeoutSecs to 0
- Set dom.ipc.plugins.timeoutSecs to 0
- Set dom.ipc.plugins.flash.disable-protected-mode to false
- Set dom.ipc.plugins.sandbox-level.flash to 0
- Set javascript.options.baselinejit to false
- Set javascript.options.ion;false
Once that's done, restart Firefox and start Process Explorer, and start browsing the internet.
Collecting Data
When you experience a Flash hang, open up Process Explorer to collect full debugging dumps from three processes. In process explorer you should see a list of nested processes including firefox.exe.
You want to select the following processes:
- firefox.exe
- plugin-container.exe (if there is more than one, you want the one with a child FlashPlayerPlugin process)
- there should be two FlashPlayerPlugin processes. You want the deeper (second) one - see the diagram below.
Check the CPU usage of the processes and make sure that it is close to 0. If it is close to 1, STOP NOW; and ask Benjamin Smedberg for assistance. For each of the three processes, choose Process -> Create Dump -> Create Full Dump
After you have collected the data, you should be able to kill the plugin-container process with a right-click in Process Explorer to un-hang Firefox.
Sending the Data to Mozilla
The dump files will be too large to email or add to Bugzilla. You'll need to upload them to Dropbox or Google Drive, and then share them with bsmedberg@mozilla.com.
Once you've done that, please fill out the questions on this form.
Some of the information that form asks for will be in "about:support" - you can open about:support the same way you opened about:config earlier.
