Prerender-related failure to get routing id via RenderFrameImpl::createChildFrame |
|||
Issue descriptionRepro: 1. Launch DCHECKs-enabled build of Chrome 2. Type "d" into omnibox 3. Have omnibox auto-complete into a docs document (e.g. ocs.google.com/document/d/1rkc5KV2QNAKwnjCbaomyc_B2EMGN1XvKUEQSf995fjw/edit) Expected behavior: nothing exciting Actual behavior: [15368:15368:0726/133545:FATAL:render_frame_impl.cc(2815)] Check failed: false. Failed to allocate routing id for child frame. blink::WebFrame* RenderFrameImpl::createChildFrame( ... // Allocation of routing id failed, so we can't create a child frame. This can // happen if the synchronous IPC message above has failed. if (child_routing_id == MSG_ROUTING_NONE) { NOTREACHED() << "Failed to allocate routing id for child frame."; return nullptr; }
,
Jul 26 2016
I agree with lukasza's approach of handling this as a normal case in https://codereview.chromium.org/2182273003/. The sync IPC will likely fail any time the RenderFrameMessageFilter is gone, including prerender cancel or normal tab closure.
,
Jul 27 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c4df88364164c2b0bf8eda3d16a50da716f308e0 commit c4df88364164c2b0bf8eda3d16a50da716f308e0 Author: lukasza <lukasza@chromium.org> Date: Wed Jul 27 15:40:54 2016 FrameHostMsg_CreateChildFrame can legitimately fail during renderer shutdown. https://crbug.com/631600 shows a legitimate scenario where the browser destroys WebContents (and consequently RenderProcessHost), but the renderer process keeps running for a while and calls RenderFrameImpl::createChildFrame. In this case we expect to fail sending FrameHostMsg_CreateChildFrame IPC and therefore to exit early via: if (child_routing_id == MSG_ROUTING_NONE) return nullptr; BUG= 631600 Review-Url: https://codereview.chromium.org/2182273003 Cr-Commit-Position: refs/heads/master@{#408136} [modify] https://crrev.com/c4df88364164c2b0bf8eda3d16a50da716f308e0/content/renderer/render_frame_impl.cc
,
Jul 27 2016
|
|||
►
Sign in to add a comment |
|||
Comment 1 by lukasza@chromium.org
, Jul 26 2016