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

Issue 799537 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Jan 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug
Hotlist-MemoryInfra



Sign in to add a comment

Memory Footprint column displays no data if one or more renderers are hung/busy

Project Member Reported by w...@chromium.org, Jan 5 2018

Issue description

Chrome Version: 64.0.3282.24 (Official Build) dev (64-bit)
OS: ChromeOS 

What steps will reproduce the problem?
(1) Open several tabs with different origins loaded, so you get several renderers.
(2) Do something to cause a renderer to 'hang', e.g:
  - Open DevTools in the renderer's tab.
  - In the Console tab of DevTools, execute a tight loop.
(3) Open the Task Manager.

What is the expected result?

Expect that Task Manager shows Memory Footprint for all renderers.

If that is not possible, due to the hang/busy-loop, expect that it shows Memory Footprint for all responsive renderers.

What happens instead?

Memory Footprint shows no data for any processes.


 
Cc: lalitm@chromium.org
I think this is due to the behavior of the memory-infra API in resource coordiator.
However IIRC lalitm@ recently added a timeout to skip child processes that timeout.
So the options here are:
1) lalitm@'s change is after 64.0.3282.24 
2) I'm missing something else
My change landed on 19th December. 64.0.3282.24 was released on 12th December so this should be fixed now.

Comment 3 by w...@chromium.org, Jan 8 2018

Cc: erikc...@chromium.org
Owner: lalitm@chromium.org
Status: Assigned (was: Untriaged)
I am able to repro the issue under Chrome 65.0.3299.0 as well.

1. Open DevTools to Inspect a tab.
2. Execute "for (i=0; ; i++) { }"
3. Open Task Manager.

The Memory Footprint will then never populate for any processes.
This is not a bug with memory_instrumentation but rather with task_manager. When we miss a dump we set the global_success value to false which causes task manager to not display any process. Instead we should just check if the global dump is not nullptr and try and extract as much information as possible from the dump even if the dump was not globally successful.
Cc: primiano@chromium.org hjd@chromium.org
The one line change in https://chromium-review.googlesource.com/c/chromium/src/+/857466 should fix this issue.
Project Member

Comment 6 by bugdroid1@chromium.org, Jan 9 2018

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

commit 7651526064768b668d0d3a4a7d21fb8179200360
Author: Lalit Maganti <lalitm@chromium.org>
Date: Tue Jan 09 20:58:34 2018

task-manager: use all available data about memory of processes

Even if the global dump's successs is false (which may happen if a child process is
stuck, times out, disconnects or crashes), data about the other processes
is still valid and can be displayed.

Change the code to check if the dump is not null rather than checking
for global success.

Bug:  799537 
Change-Id: I9686b304e493529b13b2839e0cabb742e2d6280f
Reviewed-on: https://chromium-review.googlesource.com/857466
Commit-Queue: Lalit Maganti <lalitm@chromium.org>
Reviewed-by: Ahmed Fakhry <afakhry@chromium.org>
Reviewed-by: Erik Chen <erikchen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#528098}
[modify] https://crrev.com/7651526064768b668d0d3a4a7d21fb8179200360/chrome/browser/task_manager/sampling/task_manager_impl.cc

Comment 7 by lalitm@chromium.org, Jan 10 2018

Status: Fixed (was: Assigned)
Should be fixed with above CL

Sign in to add a comment