Electrolysis/plugins: Difference between revisions

 
(24 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= Plugins and e10s meeting notes =
= Plugins and e10s =
== Preferences related to plugins and process timeouts ==
=== Platform Prefs ===


{{bug|0669200}}: Support windowed plugin instances for multiple content processes
{| class="wikitable"
|-
! Preference !! Default !! Description
|-
| dom.ipc.plugins.timeoutSecs || 45 || How long a chrome to plugin synchronous IPC message is allowed to process before we consider it "hung".
|-
| dom.ipc.plugins.contentTimeoutSecs || 10 || How long a content to plugin synchronous IPC message is allowed to process before we notify the chrome process of a plugin hang.
|-
| dom.ipc.plugins.processLaunchTimeoutSecs || 45 || How long a plugin launch is allowed to take before we consider it failed.
|-
| dom.ipc.plugins.parentTimeoutSecs || -1 || How long a plugin process will wait for a response from the parent to a synchronous request before terminating itself. After this point the child assumes the parent is hung. Currently disabled.
|}


== mac update ==
=== Windows specific ===


{{bug|1044182}}: Plugin focus is broken in e10s on Mac
{| class="wikitable"
|-
! Preference !! Default !! Description
|-
| dom.ipc.plugins.hangUITimeoutSecs || 11 || How long a chrome to plugin synchronous IPC message is allowed to process before we display the plugin hang dialog.
|-
| dom.ipc.plugins.hangUIMinDisplaySecs || 10 || Minimum time that the plugin hang UI will be displayed.
|-
| dom.ipc.plugins.flash.disable-protected-mode || false || We set this if we detect multiple chrome hangs during a session. We do not set it back. Active in both non-e10s and e10s.
|}
 
=== Firefox Specific ===
 
{| class="wikitable"
|-
! Preference !! Default !! Description
|-
| dom.ipc.reportProcessHangs || false in debug builds, true otherwise || Enable or disable the ipc ProcessHangMonitor.
|}
 
No timeouts are set for DEBUG builds, see all.js and firefox.js.


== typical messaging deadlocks ==
== typical messaging deadlocks ==
Line 46: Line 79:


<pre>
<pre>
chrome -> | sync ipc -> plugin
chrome | sync ipc -> plugin
</pre>
chrome -> sync ipc -> content -> sync ipc -> plugin | sync ipc -> chrome
* can't happen ({{bug|1093693}})
 
<pre>
chrome -> sync sendmessage -> plugin
chrome -> sync sendmessage -> plugin -> sync ipc -> content ?|? sync ipc -> chrome
</pre>
</pre>
* happens while chrome is dispatching messages, no sync/rpc calls on the stack?
* {{bug|1093693}}
* content could be in a sync call to either when this happens


<pre>
<pre>
chrome -> sync ipc -> content -> sync ipc -> plugin | sync ipc -> chrome
chrome -> sync sendmessage -> plugin -> sync ipc -> content -> sync ipc -> chrome
</pre>
</pre>
* can't happen ({{bug|1093693}})
* happens while chrome is dispatching messages, or in a sync/rpc ipc call.
 
* we have assertion mechanisms to warn about this in non-e10s.
* {{bug|1098057}}
<pre>
<pre>
chrome -> sync ipc -> content ?|? sync ipc -> plugin -> sync sendmessage -> chrome
chrome -> sync ipc -> content -> sync ipc -> plugin -> sync sendmessage -> chrome
</pre>
</pre>
* can't happen?
* {{bug|1098055}}


<pre>
<pre>
Line 76: Line 104:
** there's no hang dialog
** there's no hang dialog
** we have bugs on dealing with content hangs which overlap this
** we have bugs on dealing with content hangs which overlap this
** needs a fix?
** {{bug|1096664}}


== plugin deadlock ==
== plugin deadlock ==
Line 115: Line 143:


Follow up:
Follow up:
* {{bug|1095754}}: Sync remote plugin widget clipping, bounds, and visibility with the render frame  
* {{bug|1095754}}: Sync remote plugin widget clipping, bounds, and visibility with the render frame
* file a support request fishing for help?


== follow up bugs ==
== follow up bugs ==
Line 123: Line 152:
* {{bug|1095761}}: Fixup Windows focus routing in the PluginInstances for e10s
* {{bug|1095761}}: Fixup Windows focus routing in the PluginInstances for e10s
* {{bug|1095776}}: Deal with spurious WM_PAINT messages on plugin parent windows
* {{bug|1095776}}: Deal with spurious WM_PAINT messages on plugin parent windows
* {{bug|1098055}}: Sync SendMessage calls from plugin may deadlock in the new plugin model
* {{bug|1098057}}: Sync SendMessage calls from chrome may deadlock in the new plugin model
* {{bug|1096664}}: Plugin hang detector is currently disabled with e10s
* {{bug|1096080}}: ProcessFirstMinidump processing appears broken
Confirmed users
1,982

edits