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

Issue 633426 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Sep 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug-Regression



Sign in to add a comment

"There is no Internet connection" error page consumes CPU

Reported by joliss42@gmail.com, Aug 2 2016

Issue description

Chrome Version       : 52.0.2743.82, 54.0.2815.0 canary
OS Version: OS X 10.11.6
URLs (if applicable) :
Other browsers tested:
  Add OK or FAIL after other browsers where you have tested this issue:
     Safari: OK
    Firefox: OK

What steps will reproduce the problem?
1. Turn off your WiFi.
2. Navigate to http://example.com/.

The error page ("There is no Internet connection") consumes about 5% CPU.

I'm attaching a screenshot.
 
There is no Internet connection.png
43.3 KB View Download
Cc: bengr@chromium.org mmenke@chromium.org
Components: Internals>Network
Labels: -Type-Bug -Pri-3 M-52 Pri-2 Type-Bug-Regression
Owner: kundaji@chromium.org
Status: Assigned (was: Unconfirmed)
====================================

Good Build:

39.0.2167.0   Base Position: 295026


Bad Build:

39.0.2168.0   Base Position: 297115

=====================================

Able to repro this issue on MAC (10.11.6) for the Google Chrome Stable Version - 52.0.2743.82

This is a regression issue broken in M39, below mentioned is the bisect info:

CHANGELOG URL: https://chromium.googlesource.com/chromium/src/+log/39.0.2167.0..39.0.2168.0?pretty=fuller&n=10000

Suspecting Commit: a9a4b7da98fa7832024b4f6ae7e595a8b7e4d2b2		

Review URL: https://codereview.chromium.org/568893002

@kundaji: Could you please look into the issue, and if it has nothing to do with your changes and if possible please do assign it to the concerned owner.

Thank you.

Note: Issue observed only on MAC OS. 
Cc: kundaji@chromium.org
Owner: edwardjung@chromium.org
That CL is pretty clearly unrelated - it's in the browser process, and only affects stat reporting, so there's basically no chance it caused this regression.  Assuming the regression range is correct, this is almost certainly https://codereview.chromium.org/545973003.
That would be the easter egg canvas animation timers to draw the blinking t-rex. I will look at if it can be made more efficient or stop it entirely since it seems it's less of an 'easter egg' these days. Note, when the tab is not focused the timers are paused so it only consumes CPU as the focused tab. 
Why are we even running the timers when the game isn't being played?
There is a canvas animation running that makes the t-rex blink at random intervals as an indicator of the easter egg.
Issue 634141 has been merged into this issue.

Comment 7 by dandv@google.com, Aug 4 2016

Issue 634141 seems related but not sure it's the same - that issue regards memory consumption, about 25MB extra per empty tab when the user visits it.
Re: #7 I'm not entirely sure that the extra memory usage when switching to the tabs is related to the easter egg. This just seems to be chrome loading the tab on focus following a crash or offline. The the memory footprint of the offline network error page is ~20mb which is in line with the reported 25mb increase per tab. 

chrome://flags/#enable-offline-auto-reload-visible-only  
Project Member

Comment 9 by bugdroid1@chromium.org, Aug 23 2016

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

commit 6417dc0d755a25243a88aa8d1a5c0cee19b9747e
Author: edwardjung <edwardjung@chromium.org>
Date: Tue Aug 23 22:55:53 2016

Reduce memory and CPU resources on offline interstitial while idle.

Previously the blink timer was running continuously using ~5% CPU whilst the
game is not activated in a focused tab.

+ Add blink rate limit to 3 blinks.
+ Kill animation timer when game is not activated.

This should mean a maximum of 21 seconds when the timer is running. After
that the CPU usage drops to <1%. There are some event listeners still running
to listen for when the easter egg is activated.

BUG= 633426 

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

[modify] https://crrev.com/6417dc0d755a25243a88aa8d1a5c0cee19b9747e/components/neterror/resources/offline.js

Status: Fixed (was: Assigned)
Added a blink animation limit, so now the CPU usage is minimal (0-0.1%) following the initial 3 blinks. Unfortunately requestAnimationFrame CPU usage is fairly high at 5% on the Mac even when there is no redrawing to be done but this is a known issue.

Sign in to add a comment