Flash/Hang Debugging: Difference between revisions
(Adding a mai to link.) |
m (correction) |
||
| Line 40: | Line 40: | ||
The "CPU Usage" column of thesee processes should be zero, or close to it. If so, right-click on each of the three processes and choose Process -> Create Dump -> Create Full Dump, as in the picture below. | The "CPU Usage" column of thesee processes should be zero, or close to it. If so, right-click on each of the three processes and choose Process -> Create Dump -> Create Full Dump, as in the picture below. | ||
If the "CPU Usage" column is closer to 1, we're having a different problem; please [mailto:bsmedberg@mozilla.com?Flash_CPU_1 email Benjamin Smedberg] at this point for clarification. | If the "CPU Usage" column is closer to 1, we're having a different problem; please [mailto:bsmedberg@mozilla.com?subject=Flash_CPU_1 email Benjamin Smedberg] at this point for clarification. | ||
[[File:Flash-getfulldump-ProcessExplorer.png|Process Explorer screenshot of collecting a full dump]] | [[File:Flash-getfulldump-ProcessExplorer.png|Process Explorer screenshot of collecting a full dump]] | ||
Revision as of 15:44, 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
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 or attach to Bugzilla, and may contain personally identifiable information, including passwords.
- 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 them as listed. This will disable the built-in plugin hang monitoring, use the standard Flash sandboxing configuration, and disable Firefix's Just-in-time JS compiler suite ("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 to false
Once that's done, restart Firefox and start Process Explorer, and start browsing the internet as usual.
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.
The "CPU Usage" column of thesee processes should be zero, or close to it. If so, right-click on each of the three processes and choose Process -> Create Dump -> Create Full Dump, as in the picture below.
If the "CPU Usage" column is closer to 1, we're having a different problem; please email Benjamin Smedberg at this point for clarification.
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. Please note that these files may contain personally identifiable information, including passwords.
--- really not happy with that last bit - mhoye ---
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.
Once you have submitted that form, you're done! We hope that by solving this problem, the web will be a better experience for everyone, and Mozilla thanks you for your time and effort.
