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

Issue 841951 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: May 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug
Hotlist-MemoryInfra

Blocked on:
issue 826913



Sign in to add a comment

High browser process CPU consumption and occasional hangs apparently due to memory instrumentation

Project Member Reported by kbr@chromium.org, May 10 2018

Issue description

In  Issue 826913  browser hangs were reported that were caused by memory instrumentation. I'm continuing to see issues in recent Canarys. I have about 30 tabs open in one window and Calendar open in a second window.

The browser gets more and more sluggish over a period of days, until it gets to the point where it's hanging with the pinwheel spinning for many seconds at a time. This often happens when using Command-Tab to switch tasks and come back to the browser. Switching tabs is often sluggish and I see UI delays of hundreds of milliseconds, if not more than a second, when performing interactive tasks like typing into Google Docs.

This behavior has been present for about a month.

Here's a symbolized sample gathered recently when this was happening. I see a lot of references to heap_profiling code which I suspect is adding significant overhead to all memory allocations.

Can this be triaged in its current form? Are there other similar reports? What other information can I gather?

 
high-browser-cpu-consumption.txt
3.1 MB View Download

Comment 1 by kbr@chromium.org, May 11 2018

My browser process just became unresponsive again for several seconds. Here's a sample gathered during that time. It woke up while the sample was being gathered. Took a quick scan through it and am not sure that memory instrumentation is implicated. On the other hand it didn't look like the main thread was blocked, but it visibly was. Not sure yet what is going on.

high-browser-cpu-consumption-2.txt
1.2 MB View Download
Hm. The top culprits in the sample are all pointing at the heap profiler. Try going to about://flags and setting #memlog to "none by default".

But looking at the post common posted tasks - your main thread and background thread are very busy doing something related to cookies + extensions. 

Comment 3 by kbr@chromium.org, May 14 2018

Currently #memlog is set to "Disabled" in my Canary's about:flags. Not sure whether that setting might have been changed since I gathered the above sample. If it's set to Disabled, does that definitely mean that the heap profiler should not be showing up? That way I can report whether something's broken in the handling of that flag.

#memlog - Disabled is the default, but you're being affected by a Finch experiment. I'm not aware of a mechanism to propagate finch experiments back into chrome://flags.

Comment 5 by kbr@chromium.org, May 15 2018

Ah, I see. OK, have set #memlog to "none by default" and will report back here if I continue to see these browser hangs. What's the name of this experiment and which release channels are affected by it?

The experiment name is OOPHeapProfiling*.

It affects 5% of Canary/Dev. 50% of Canary/Dev for Googlers. It's known to have a visible effect [~30% in the higher percentiles] on certain malloc-heavy code paths in the browser [e.g. Omnixbox].

Given this report and a couple of others, I intend to dial down the sampling parameters to reduce overhead by 10x [we think this shouldn't affect accuracy of the data being reported].
Owner: erikc...@chromium.org
Status: Assigned (was: Untriaged)
Status: Fixed (was: Assigned)
I've reduced the sampling rate on desktop to 100k, which should reduce overhead by ~10X. Please let me know if you still see issues on latest canary.

Sign in to add a comment