New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 738169 link

Starred by 2 users

Issue metadata

Status: Archived
Owner:
not working at Google anymore
Closed: Sep 24
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocking:
issue 736876



Sign in to add a comment

Task Manager shows row with process ID '0' after ctrl+clicking back button

Project Member Reported by nick@chromium.org, Jun 29 2017

Issue description

OS: Windows
Version: 61.0.3144.0

Repro instructions:

 0. Show the Task Manager (Shift+Esc). Ensure the Process ID and Memory columns are visible.
 1. open a new tab
 2. navigate to http://www.chromium.org
 3. navigate to a chrome:// URL (e.g. chrome://settings)
 4. hit the back button
 5. Ctrl+click the forward button
 6. click the forward button

EXPECTED RESULT: A "Tab: chromium.org" row with a nonzero values in the 'process ID' and 'memory' values cells.
ACTUAL RESULT: The values are zero.

This seems to be due to the process ID races, and it seems to be a regression since M58.
 
Blocking: 736876

Comment 2 by nick@chromium.org, Jul 7 2017

Fix is pending: https://codereview.chromium.org/2961423002/
Looking...
Project Member

Comment 4 by bugdroid1@chromium.org, Aug 2 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6c760df2f6a9f5d1ce7051be6acfeebc26919774

commit 6c760df2f6a9f5d1ce7051be6acfeebc26919774
Author: nick <nick@chromium.org>
Date: Wed Aug 02 01:41:42 2017

[TaskManager] Allow a Task to mutate its PID after creation

Prior to this change, WebContentsTaskProvider would defer task creation if the
PID was not known at RenderFrameCreated time. However, for a newly-cloned
WebContents, no event ever occurred to re-create the Task once the process
finished launching. This was  bug 738169 .

Fix the problem by never deferring task_manager::Task creation; instead, create
Tasks for all live, current RenderFrameHosts. If the PID is not known immediately,
allow it to be set on the task at a later time (when RenderProcessHost::IsReady()
becomes true).

Because the TaskManagerImpl was written with the expectation that Tasks have
a constant PID, PID mutation is implemented in terms of temporarily removing the
task, mutating the PID, and re-adding it.

In WebContentsTaskProvider, we no longer need to implement RenderProcessGone.

In TaskGroup, don't waste time collecting stats for a null process ID.

Tests are added exercising this bug, and its subframe equivalent. Test coverage
is added for the PID==0 case, and we ensure that the "Memory" column is
populated with something nonzero.

BUG= 738169 

Review-Url: https://codereview.chromium.org/2961423002
Cr-Commit-Position: refs/heads/master@{#491180}

[modify] https://crrev.com/6c760df2f6a9f5d1ce7051be6acfeebc26919774/chrome/browser/task_manager/providers/task.cc
[modify] https://crrev.com/6c760df2f6a9f5d1ce7051be6acfeebc26919774/chrome/browser/task_manager/providers/task.h
[modify] https://crrev.com/6c760df2f6a9f5d1ce7051be6acfeebc26919774/chrome/browser/task_manager/providers/task_provider.cc
[modify] https://crrev.com/6c760df2f6a9f5d1ce7051be6acfeebc26919774/chrome/browser/task_manager/providers/task_provider.h
[modify] https://crrev.com/6c760df2f6a9f5d1ce7051be6acfeebc26919774/chrome/browser/task_manager/providers/web_contents/web_contents_task_provider.cc
[modify] https://crrev.com/6c760df2f6a9f5d1ce7051be6acfeebc26919774/chrome/browser/task_manager/sampling/task_group.cc
[modify] https://crrev.com/6c760df2f6a9f5d1ce7051be6acfeebc26919774/chrome/browser/task_manager/task_manager_browsertest.cc
[modify] https://crrev.com/6c760df2f6a9f5d1ce7051be6acfeebc26919774/chrome/browser/task_manager/task_manager_browsertest_util.cc
[modify] https://crrev.com/6c760df2f6a9f5d1ce7051be6acfeebc26919774/chrome/browser/task_manager/task_manager_browsertest_util.h
[modify] https://crrev.com/6c760df2f6a9f5d1ce7051be6acfeebc26919774/chrome/browser/task_manager/task_manager_tester.cc

Status: Archived (was: Started)

Sign in to add a comment