Closed Bug 1488036 Opened 7 years ago Closed 7 years ago

Nightly makes the fans of ThinkPad T470s go crazy on startup

Categories

(Firefox :: Untriaged, defect)

63 Branch
x86
Windows 10
defect
Not set
normal

Tracking

()

VERIFIED INCOMPLETE
Performance Impact ?
Tracking Status
firefox63 --- affected

People

(Reporter: alex_mayorga, Unassigned)

References

()

Details

(Keywords: nightly-community)

¡Hola! I've recently noticed that Nightly makes the fans of ThinkPad T470s go crazy on startup so I've captured a Gecko profile at https://perfht.ml/2C9toA7 Hope this helps and the underlying issue could be addressed. Nothing fancy here, just 5 pinned tabs and maybe a couple of regular tabs. If anything else is needed, please ned info me. ¡Gracias! Alex
Whiteboard: [fxperf]
Hi alex_mayorga, These sorts of bugs can be pretty tricky to track down, since the Gecko Profiler and perf.html aren't optimized for finding things consuming CPU (rather, they're good at finding things that are janking the browser). If you set dom.performance.enable_scheduler_timing to true and restart the browser, you'll get access to a new about:performance page that might help narrow in on the culprit. If you open that soon after start-up, what shoots to the top of the list? Alternatively, you could try narrowing down which of the tabs you've got open are causing the fan spin up by closing them before restoring the session. Once we narrow in on which tab(s)* are causing the issue, we can start looking at what exactly they're doing and see if there's anything that can be done on our end. * Are you using the "new" Reddit UI? If so, my bets are on that, and / or Riot.
Flags: needinfo?(alex_mayorga)
I'm not certain this is a front-end performance issue, so I'm clearing fxperf. I've put this into the qf triage though.
Whiteboard: [fxperf] → [qf]
Firefox :: Untriaged is the right component for bugs that need investigation to find a proper home -- ::General is for bugs known not to have a more suitable category.
Component: General → Untriaged
¡Hola Mike! This is what I see that seems Nightly related: https://cl.ly/c22ef5e9fcb6/Image%202018-09-14%20at%2011.22.03%20AM.png The top five URLs on that view: https://workplace.zendesk.com/agent/ https://inbox.google.com/u/0/ https://chat.google.com/ https://web.telegram.org/#/im https://riot.im/develop/#/room/#mozilla_#firefox:matrix.org I only load Reddit when I want to waste time but it is not a pinned tab for me nor I keep the tab open when not on the site. Maybe I should be less chatty and kill some of those messaging tabs =) Not really an option to close any of these as they're my essential tools. Here's the view once the fans are quiet and with no PII of me: https://cl.ly/180d5dc4864e/Image%202018-09-14%20at%2011.29.48%20AM.png Hope this helps. ¡Gracias! Alex
Flags: needinfo?(alex_mayorga) → needinfo?(mconley)
If you disable serviceworkers (setting dom.serviceWorkers.enabled to false), does that help?
Flags: needinfo?(mconley) → needinfo?(alex_mayorga)
Another thing we've noticed is that the profile you posted isn't a start-up profile, so we're probably missing some information (we're gathering too late). Apparently, the way to get a start-up profile is to set an environment variable to ensure that the profiler is profiling ASAP. That environment variable is MOZ_PROFILER_STARTUP - if you set that to 1, and gather a profile right after start-up, that might have some actionable data.
¡Hola Mike! I followed these instructions https://developer.mozilla.org/en-US/docs/Mozilla/Performance/Profiling_with_the_Built-in_Profiler#Profiling_Firefox_Startup hopefully I did it right: https://perfht.ml/2MZ0nHw Please let me know if there's anything else I could provide to move this forward. ¡Gracias! Alex
Flags: needinfo?(alex_mayorga) → needinfo?(mconley)
Hi Alex, can you do the same thing again, and additionally set MOZ_PROFILER_STARTUP_ENTRIES=20000000 ? The profile only ended up containing data for the last 14 seconds, because the buffer was too small. You can also try capturing the profile earlier, so that there's a higher chance it will contain information about the execution during early startup.
Flags: needinfo?(mconley) → needinfo?(alex_mayorga)
¡Hola Markus! Tried again setting MOZ_PROFILER_STARTUP=1 and MOZ_PROFILER_STARTUP_ENTRIES=20000000 : http://bit.ly/2QWTjOS Please let me know if there's anything else I could provide to move this forward. ¡Gracias! Alex
Flags: needinfo?(alex_mayorga) → needinfo?(mstange)
Hey alex_mayorga, This profile is much better, thank you! Out of curiosity, do you have a single window open, or multiple windows open?
Flags: needinfo?(alex_mayorga)
Flags: needinfo?(mconley)
Flags: needinfo?(mstange)
Another follow-up question: which tabs are pinned, and are those pinned tabs restoring themselves in groups of 3?
Flags: needinfo?(mconley)
¡Hola Mike! I normally have two windows open, one with 3 pinned tabs and another one with 4 pinned tabs. Window 1 pinned tabs: https://web.telegram.org/#/im https://riot.im/develop/#/room/#mozilla_#mozilla-mexico:matrix.org https://mail.yahoo.com/d/folders/ Window 2 pinned tabs: https://chat.google.com/ https://inbox.google.com/ https://calendar.google.com/ https://<workplace>.zendesk.com/agent/filters https://dashboard.zopim.com/ TBH I have not really paid much attention at the grouping nor sequence on which the tabs restore, would try and be more minful next times. Hope this is helpful and let me know if there's anything else you might need. ¡Gracias! Alex
Flags: needinfo?(alex_mayorga) → needinfo?(mconley)
So it looks like we're restoring pinned tabs in groups of 3, across all open windows, so we're behaving as expected here. The pages that alex_mayorga is loading are quite heavy - Riot, for example, it doing a _ton_ of stuff in the background: https://perfht.ml/2RrqAlv One thing that might help with this is that we're looking to both increase the number of content processes to 8 in bug 1470280, and we're also planning on downgrading the priority of processes containing only background tabs in bug 1476981. I'm hoping that the combined effect is that there's a greater probability that the majority of those tabs that alex_mayorga is loading will be running in low priority content processes, and hopefully that will reduce their combined simultaneous load on the CPU. You can test these prefs right now, alex_mayorga - can you set dom.ipc.processCount to 8, and create a new bool pref called dom.ipc.processPriorityManager.enabled and set it to true, and see if you see similar CPU usage on a restart?
Flags: needinfo?(mconley) → needinfo?(alex_mayorga)
QA Contact: past
QA Contact: past
Mike, can you help with setting a component to this issue so it could be tracked better?
Flags: needinfo?(mconley)
Any updates here, alex_mayorga?
Flags: needinfo?(mconley)
I'm going to close this as incomplete. If you have any updates here alex_mayorga, please re-open. Thanks!
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → INCOMPLETE
¡Hola Mike! Sorry about the delay here. Here are two profiles FWIW: https://perfht.ml/2FvmOpw dom.ipc.processCount;8 and dom.ipc.processPriorityManager.enabled;false https://perfht.ml/2FGzwSv dom.ipc.processCount;8 and dom.ipc.processPriorityManager.enabled;true It seems to me like the 2nd one spins the fan a bit less but the fan goes crazy regardless. Hope this helps. ¡Gracias! Alex
Status: RESOLVED → REOPENED
Flags: needinfo?(alex_mayorga)
Resolution: INCOMPLETE → ---
Hey alex_mayorga, We've been looking at these profiles and unfortunately, nothing is jumping out at us. :( So, there are a few other avenues we can explore here, assuming that the problem is bad enough that you feel it's worth your time to get it for us: 1) Can you please paste your about:support into a new attachment? 2) Are you able to find a regression range using mozregression? 3) Can you capture and post a UIforETW trace using the tool mentioned here: https://randomascii.wordpress.com/2015/09/01/xperf-basics-recording-a-trace-the-ultimate-easy-way/ ? #3 might give us a better sense of what's occurring outside of Gecko that might be contributing to high CPU usage. Thanks, alex_mayorga. I know this is a lot, and I understand if you don't want to take the time, but these 3 pieces of information are at this time the best way forward for tracking down what's happening here.
Flags: needinfo?(alex_mayorga)
I am closing the issue as incomplete. Please feel free to reopen it again anytime you have the time to offer us the additional information described in comment 18. Thank you!
Status: REOPENED → RESOLVED
Closed: 7 years ago7 years ago
Resolution: --- → INCOMPLETE

¡Hola!

Apologies on the lack of response here, been busy IRL.

I've since seen this is less of an issue so I guess your great work as "software mechanics" has fixed it since.

¡Gracias!
Alex

Status: RESOLVED → VERIFIED
Flags: needinfo?(alex_mayorga)
Performance Impact: --- → ?
Whiteboard: [qf]
You need to log in before you can comment on or make changes to this bug.