DCHECK failure in task manager for unresponsive OOPIF |
|||
Issue descriptionVersion: 53.0.2778.0 OS: Windows, Linux What steps will reproduce the problem? 1) Start debug build of Chrome with --site-per-process and open Task Manager. 2) Visit http://csreis.github.io/tests/cross-site-iframe.html. 3) Click "Go cross-site (simple page)" 4) Right click inside the iframe and open DevTools. (Important, so that we're inspecting the OOPIF's page.) 5) Type "while (1);" in the console. 6) Try to select text in the iframe and wait 20 seconds. What is the expected output? The unresponsiveness dialog should be shown. What do you see instead? The browser crashes on a DCHECK in WebContentsEntry::OnRendererUnresponsive: DCHECK_EQ(render_widget_host->GetProcess(), web_contents()->GetMainFrame()->GetProcess()); This isn't a safe assumption to make-- any widget in the tab might become unresponsive, even those in out-of-process iframes. Looks like the bug is that we end up notifying other code (the processes extension API) that the main frame's process is unresponsive when it's really a different frame's process. (Note that fixing this bug probably won't be sufficient to get the unresponsiveness dialog to appear for OOPIFs; we can file another bug if needed.)
,
Oct 19 2016
I've got a CL started at https://codereview.chromium.org/2427423003/. Seeing if I can add a test.
,
May 1 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0f90533beb304bab626934c8948ba1d002527a5e commit 0f90533beb304bab626934c8948ba1d002527a5e Author: creis <creis@chromium.org> Date: Mon May 01 17:07:30 2017 Fix incorrect DCHECK in task manager's WebContentsEntry. With out-of-process iframes, it is not safe to assume that an unresponsive event comes from the main frame's widget/process. BUG= 623228 TEST=See bug for repro steps. Review-Url: https://codereview.chromium.org/2427423003 Cr-Commit-Position: refs/heads/master@{#468335} [modify] https://crrev.com/0f90533beb304bab626934c8948ba1d002527a5e/chrome/browser/task_manager/providers/web_contents/subframe_task_browsertest.cc [modify] https://crrev.com/0f90533beb304bab626934c8948ba1d002527a5e/chrome/browser/task_manager/providers/web_contents/web_contents_task_provider.cc [modify] https://crrev.com/0f90533beb304bab626934c8948ba1d002527a5e/content/public/test/browser_test_utils.cc [modify] https://crrev.com/0f90533beb304bab626934c8948ba1d002527a5e/content/public/test/browser_test_utils.h
,
May 1 2017
|
|||
►
Sign in to add a comment |
|||
Comment 1 by creis@chromium.org
, Oct 18 2016