Closed
Bug 990598
Opened 10 years ago
Closed 10 years ago
[e10s] Everything goes south after CPOW timeout
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
mozilla32
Tracking | Status | |
---|---|---|
e10s | + | --- |
People
(Reporter: billm, Assigned: billm)
References
Details
Attachments
(1 file, 1 obsolete file)
923 bytes,
patch
|
jimm
:
review+
|
Details | Diff | Splinter Review |
I've noticed that if a page is taking a long time and a CPOW times out during that time, we lose the ability to communicate with the child. I just have to restart Firefox.
Updated•10 years ago
|
tracking-e10s:
--- → +
Assignee | ||
Comment 1•10 years ago
|
||
Jim, it looks like you worked on some of this timeout stuff for plugins. Anyway, the problem is that, when ShouldContinueFromReplyTimeout return false, we're supposed to do something to kill the child and cleanup. Right now we're not doing that. For now I think the easiest thing would be to just not timeout. Eventually we probably want to do something like what PluginParent does.
Comment 2•10 years ago
|
||
I understand what this changes, but I'm not sure if it's ok to do this. With plugins, if a reply times out in the child, we crash the plugin process to try and free up the parent. If the parent detects a timeout in the child, we throw up a hang ui and then either wait or terminate the child. When we return false from this for content processes, the channel state gets set to timed out, and we synchronously close the connection - http://mxr.mozilla.org/mozilla-central/source/ipc/glue/MessageChannel.cpp#1369 http://mxr.mozilla.org/mozilla-central/source/ipc/glue/MessageChannel.cpp#1369 Returning true implies this will never happen and we will continue to wait forever implying the content process may end up being a zombie that sits around forever. A couple questions - what impact will this have on B2G? Does closing the connection shutdown the child process, or does it hang around forever? As you point out, we need a follow up bug to deal with this appropriately once we know what the correct behavior is supposed to be. (hang ui? terminate, etc.)
Assignee | ||
Comment 3•10 years ago
|
||
I found a better fix for this. With this change, we should never call the code from the previous patch. B2G should not be affected by this change. It never synchronously waits from the parent process, so the code in question will never be triggered. Closing the connecting does not kill the child. It seems to just sit there spewing errors until I kill it.
Attachment #8414155 -
Attachment is obsolete: true
Attachment #8414155 -
Flags: review?(jmathies)
Attachment #8414761 -
Flags: review?(jmathies)
Comment 4•10 years ago
|
||
Comment on attachment 8414761 [details] [diff] [review] no-timeout Looks
Attachment #8414761 -
Flags: review?(jmathies) → review+
Comment 5•10 years ago
|
||
.. good! Note this is basically a backout of bug 905896.
Assignee | ||
Comment 6•10 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/4c394a47bbc7
https://hg.mozilla.org/mozilla-central/rev/4c394a47bbc7
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla32
You need to log in
before you can comment on or make changes to this bug.
Description
•