Closed
Bug 1160140
Opened 10 years ago
Closed 10 years ago
[e10s] Windows content processes wait for UI events in MessageChannel::WaitForInterruptNotify() for plugin ipc
Categories
(Core :: DOM: Content Processes, defect)
Tracking
()
RESOLVED
WONTFIX
People
(Reporter: jimm, Assigned: jimm)
References
Details
Attachments
(1 file)
3.57 KB,
patch
|
Details | Diff | Splinter Review |
Deferred message protection appears to be on for this side of the connection, but I don't think we need it.
where we get caught up in:
http://hg.mozilla.org/mozilla-central/annotate/8aff0d2a7bc7/ipc/glue/WindowsMessageLoop.cpp#l1116
where we want to be:
http://hg.mozilla.org/mozilla-central/annotate/8aff0d2a7bc7/ipc/glue/WindowsMessageLoop.cpp#l1032
hang stack I noticed this on:
CONTENT
-----------------------------------------------------------------------------------
0 NtWaitForMultipleObjects
1 RtlAnsiStringToUnicodeString
2 TF_Notify
3 __crtCompareStringA_stat
4 WaitForMultipleObjectsExImplementation
5 CallHookWithSEH
6 _fnHkINLPMSG
7 _crtCompareStringA
8 RealMsgWaitForMultipleObjectsEx
9 ZwUserPeekMessage
10 MsgWaitForMultipleObjectsEx
11 PeekMessageW
12 MsgWaitForMultipleObjects
13 PR_Unlock src
14 mozilla::ipc::MessageChannel::WaitForInterruptNotify() src
15 mozilla::ipc::MessageChannel::Call(IPC::Message *,IPC::Message *) src
16 mozilla::plugins::PPluginScriptableObjectParent::CallHasProperty(mozilla::plugins::PluginIdentifier const &,bool *) src
17 mozilla::plugins::PluginScriptableObjectParent::ScriptableHasProperty(NPObject *,void *) src
18 NPObjWrapper_Resolve src
19 js::jit::ComputeGetPropResult src
20 js::jit::DoGetPropFallback src
21 unknown: offset=unknown function=unknown
Updated•10 years ago
|
tracking-e10s:
--- → m7+
![]() |
Assignee | |
Updated•10 years ago
|
Assignee: nobody → jmathies
![]() |
Assignee | |
Comment 2•10 years ago
|
||
This turns off deferred processing between the content and plugin processes.
Attachment #8617525 -
Flags: review?(wmccloskey)
Comment on attachment 8617525 [details] [diff] [review]
patch v.1
Review of attachment 8617525 [details] [diff] [review]:
-----------------------------------------------------------------
Are you sure we can eliminate these calls? Can something like this happen?
1. Plugin sends sync or rpc message to content process.
2. Content process sends sync message to chrome process.
3. Chrome process does something to its window that somehow sends a Windows message that must be processed synchronously by the plugin's event queue.
Step 3 is a little hazy since I forgot how all this stuff works. But it seems like we might still be able to deadlock.
Also, it's probably better that Aaron reviews this. I don't feel comfortable with all this Window event queue stuff.
Attachment #8617525 -
Flags: review?(wmccloskey) → review?(aklotz)
Comment 4•10 years ago
|
||
Do you have any additional information about the hang that inspired this bug? Any chance I could see the original crash report (or similar)?
Flags: needinfo?(jmathies)
![]() |
Assignee | |
Updated•10 years ago
|
Flags: needinfo?(jmathies)
Attachment #8617525 -
Flags: review?(aklotz)
![]() |
Assignee | |
Comment 5•10 years ago
|
||
(In reply to Bill McCloskey (:billm) from comment #3)
> Comment on attachment 8617525 [details] [diff] [review]
> patch v.1
>
> Review of attachment 8617525 [details] [diff] [review]:
> -----------------------------------------------------------------
>
> Are you sure we can eliminate these calls? Can something like this happen?
>
> 1. Plugin sends sync or rpc message to content process.
> 2. Content process sends sync message to chrome process.
> 3. Chrome process does something to its window that somehow sends a Windows
> message that must be processed synchronously by the plugin's event queue.
Seems plausible. I haven't seen any evidence of this, although I probably wouldn't see much without this turned off. We can keep this overhead and wontfix this I guess.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → WONTFIX
You need to log in
before you can comment on or make changes to this bug.
Description
•