Changes

Jump to: navigation, search

Flash/Hang Debugging

1,222 bytes added, 22:03, 18 February 2015
Significant changes - work in progress.
This page is intended for people who see Flash hangs on a regular basis. It contains instructions for how to collect additional information about these hangs. These instructions are Windows-specific.
== Setup ==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 [https://www.google.com/intl/en/drive/ Google Drive], [https://www.dropbox.com/ 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 and run a Windows tool called [https://technet.microsoft.com/en-us/sysinternals/bb896653.aspx Process Explorer]* Set 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 (on older branches: dom.ipc.plugins.sandbox.flash;false)** Set javascript.options.baselinejit;to false** Set javascript.options.ion;false** If you are using e10s enabled NightlyOnce that's done, disable e10s in the restart Firefox preferences. (Unless and start Process Explorer, and start browsing the hang is e10s-specificinternet.)
== Collecting Data ==
When you experience a Flash hang, use 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
[[File:Flash-getfulldump-ProcessExplorer.png|Process Explorer screenshot of collecting a 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 Process Explorer to un-hang Firefox.
== Sending the Data to Mozilla ==
The dump files will be too large for bugzillato email or add to Bugzilla. Upload You'll need to uploade them to a file-sharing service like dropbox Dropbox or google driveGoogle Drive, and then share them with bsmedberg@mozilla.com.   ---- ADD GOOGLE FORM HERE ---- Do not share these files with everyone: they are likely to contain some personal information such as passwords or bookmarks.
File a bug at bugzilla.mozilla.org product "Core" component "Plug-Ins". Include the following information:
Confirm, emeritus
421
edits

Navigation menu