Closed Bug 1360681 Opened 7 years ago Closed 7 years ago

Browser freezes for 30-60 seconds and 100% CPU when scrolling, mouseover, switching tabs, or typing

Categories

(Core :: General, defect)

53 Branch
x86_64
Linux
defect
Not set
normal

Tracking

()

RESOLVED INVALID

People

(Reporter: mars, Unassigned)

References

(Depends on 1 open bug)

Details

(Keywords: perf, Whiteboard: [addon:evernote])

After a week of regular usage my browser gradually starts hanging for longer and longer periods of time when I interact with elements outside the active web page.  The problem gets worse until I eventually restart the browser. 

Any of the following might cause the CPU to spike to 100% for 30-60 seconds, during which time the browser is frozen:

- Moving the mouse over UI buttons outside the active page, like the URL bar or Close Tab button.  The mouse cursor will remain as a pointer, and buttons like the close tab or bookmark button won't paint or respond until the freeze is over.
- Switching tabs.
- Opening a new tab or window.
- Clicking on a link in a different window.
- Typing into a text field.
- Switching tabs and then scrolling the new page with the mouse wheel.
- Switching browser windows.  The new window won't paint (shows a blank box).

I successfully profiled a freeze in FF 53.0 here: https://perfht.ml/2pd0EOC.  The profile clearly shows "34172.28ms event processing delay on default thread", which matches the freeze I saw when I captured the profile.

I've attempted to reproduce the issue with a new profile, without Add-ons, and in Safe Mode, but it is difficult given the amount of time required for the problem to manifest itself.

This issue was affecting me on Nightly as of 9 months ago, but I could not successfully capture the problem with a profile.  I attempted a bisection of Nightly releases between September 2016 and June 2016 to isolate the freeze, but it was too difficult to reproduce the problem.

A few months ago I switched from Nightly to Release to get away from this issue (and to start using my day-to-day Add-ons again), which worked for a while, but for the last few months Release has been affected, too.

I am running a HiDPI display (Dell 4K monitor, P2715Q).


Name: Firefox
Version: 53.0
Build ID: 20170418123315
User Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:53.0) Gecko/20100101 Firefox/53.0
OS: Linux 4.4.0-71-generic
Multiprocess Windows: 0/11 (Disabled by add-ons)
Safe Mode: false
There appears to be a lot of time spent in https://dxr.mozilla.org/mozilla-central/rev/1c6fa11d1fed893b00d94b6a899c307262674613/toolkit/components/extensions/ExtensionContent.jsm#525-539 and https://dxr.mozilla.org/mozilla-central/rev/1c6fa11d1fed893b00d94b6a899c307262674613/toolkit/components/extensions/MessageChannel.jsm#776-783 although I'm not quite sure how to read the profiler - the big red bar stretches for 30s, but the main thread for that period only shows 6400ms on the call stack.
Here is what I can see from the profile on comment 0.

(Firefox 53 is *ancient* from a performance perspective!  I suggest doing all performance testing on the latest Nightly.)

* 2.2 seconds WindowDestroyedEvent, bug 816784
* 1.8 seconds in NukeSandbox, bug 1362105.  This comes from ExtensionContent.jsm.
* 1.2 seconds in GC (GarbageCollectNow) (there is a lot of JS running in the parent process)
* ~500ms of running JS for an add-on with this URL scheme: moz-extension://58404fdf-9af6-4936-86c3-ce5cf412c2d2/...  Whatever this add-on is, it is hurting the performance of your browser a lot.  Can you try finding out which one of your add-ons it is and see if disabling it helps?
Depends on: 816784, 1362105
Also if you wanted to try reprofiling on Nightly, please increase the buffer size in the profiler settings (by expanding the settings section).  The default is 9MB, you can try 36MB for example, that will help capture a longer period of time, and may help uncover more info from your profile.
Another thing you may want to do is to try to figure out why your browser is not running in e10s mode.  That isn't helpful for performance.  :-)
I found moz-extension://58404fdf-9af6-4936-86c3-ce5cf412c2d2/... in about:config, under 'extensions.webextensions.uuids' (thanks jdm!).  It's the Evernote Web Clipper extension, Version: 6.10.2.  I have since switched to Nightly, running the same extensions, but without Evernote Web Clipper.  'ps' says the browser has been up for over 10 days now, and performance still feels good.  Thanks!
per comment 5
Status: NEW → RESOLVED
Closed: 7 years ago
Keywords: perf
Resolution: --- → INVALID
Whiteboard: [addon:evernote]
You need to log in before you can comment on or make changes to this bug.