Regression in messages getting to renderer processes |
|||||||||||
Issue descriptionRepro: On a laptop: - Run a page that does some animation, for example vsynctester.com - Detach from AC power - run `powercfg -energy duration 5` and note that the renderer process is still setting timer frequency to "10000", rather than "40000" like the browser (and like it ought to). Previously a refactoring broke this in a different way and it was repaired here https://bugs.chromium.org/p/chromium/issues/detail?id=696197#c25. Dale points out a similar UMA regression visible on Android https://uma.googleplex.com/p/chrome/timeline_v2?sid=693dd3d6b527539934932a8e234ecbc0 . I did a continuous bisect and it identified https://codereview.chromium.org/2795883002 as the regression CL.
,
Apr 25 2017
This issue is marked as a release blocker with no milestone associated. Please add an appropriate milestone. All release blocking issues should have milestones associated to it, so that the issue can tracked and the fixes can be pushed promptly. Thanks for your time! To disable nags, add the Disable-Nags label. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Apr 25 2017
The above CL landed in 59.0.3066.0
,
Apr 25 2017
A friendly reminder that M59 Beta launch is coming soon! Your bug is labelled as Release Block Beta. All fixes need to be merged into the release branch (3071) latest by tomorrow, 04/26 4:00 PM PT in order to make into the desktop Beta final build cut. Thank you!
,
Apr 25 2017
I spoke with scottmg@ and we don't have to gate beta on this, stable is sufficient. That said - we should fix this and merge it to the beta branch ASAP, as power regressions suck. Adding benhenry@ as an FYI in case this is something we can monitor in the future.
,
Apr 25 2017
,
Apr 25 2017
Do we need this in M59? It landed right around the branch point, but is large so maybe a revert won't go cleanly. I think until we know what's wrong it's hard to say if this is limited to just a power regression or if other important messages (as the bug title indicates) are being dropped.
,
Apr 27 2017
I'll look at this.
,
Apr 27 2017
This issue is already fixed on trunk, it turns out (although I don't know if the fix was made with awareness of the issue). The issue is that https://codereview.chromium.org/2795883002 moved services away from implementing OnConnect() but left several clients still relying on the relevant service implementing OnConnect() (the default impl is do-nothing). One of those clients was ChildThreadImpl, which connected to the Device Service via connector->Connect("services:device")->GetRemoteInterfaces() in order to then connect to the PowerMonitor. Since the Device Service no longer implemented OnConnect() as of the CL in question, the InterfaceProvider returned from that client-side invocation was empty. This CL fixed the problem as part of eliminating OnConnect() entirely: https://codereview.chromium.org/2804373002. The earlier CL had left other similar problematic client-side invocations, but all of them were fixed in that followup CL as part of completely eliminating the client-side usage of Connector::Connect(). Totally agreed about an end-to-end test. Filed crbug.com/715985 , which the team doing the Device Service will own.
,
Apr 27 2017
On second thought, moving to fixed so that QA can verify that the problematic behavior described in the OP is no longer reproducible on trunk (I don't have a Windows laptop to build on -- I did as complete testing as I could on Linux to verify my reasoning, but couldn't do the full end-to-end verification there).
,
Apr 27 2017
[Auto-generated comment by a script] We noticed that this issue is targeted for M-59; it appears the fix may have landed after branch point, meaning a merge might be required. Please confirm if a merge is required here - if so add Merge-Request-59 label, otherwise remove Merge-TBD label. Thanks.
,
Apr 27 2017
,
Apr 27 2017
Why do you think this should not be merged?
,
Apr 27 2017
The CL with the fix is 464167, whereas 59 was cut at 464641. Although that raises a different and interesting question. 464167 landed on April 12, whereas this bug report is from April 21. scottmg@, did you do the testing in the OP on a build that included 464167? If so, it would seem that my reasoning isn't actually sufficient (the testing that I was able to do on Linux and Android indicates that at least on those platforms, 464167 restored the connection that had been broken in https://codereview.chromium.org/2795883002).
,
Apr 27 2017
blergh.
,
Apr 27 2017
I did the continuous bisect on the small range in 59.0.3065.0..59.0.3067.0 to identify the individual CL, as we'd already narrowed it down to that range. So I don't think there's anything to be merged as the breakage was 59.0.3066.0, the fix was 59.0.3070.0, and the branch was 59.0.3071.0. But we should still get QA to confirm. |
|||||||||||
►
Sign in to add a comment |
|||||||||||
Comment 1 by dalecur...@chromium.org
, Apr 21 2017