Closed Bug 1612758 Opened 3 years ago Closed 1 month ago

Firefox severely freezing often on scroll

Categories

(Core :: Performance, defect, P3)

72 Branch
x86_64
Linux
defect

Tracking

()

RESOLVED INCOMPLETE

People

(Reporter: atreyas, Unassigned)

Details

User Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:72.0) Gecko/20100101 Firefox/72.0

Steps to reproduce:

Essentially any operation I perform on the browser is frozen for seconds at a time intermittently. Typically this would seem like a plugin or hardware acceleration issue, but it seems unrelated.

Profile report: https://perfht.ml/2RQencd

Any interaction on browser - scrolling/typing/playing video

Actual results:

Freezes the browser entirely. It seems like a GC Pause, however it is significantly frequent.

Expected results:

Firefox should scroll smoothly.

I can't find any indication in the profile about what the problem could be. The profile makes it look like everything was responsive all the time. Maybe the system is not delivering events to Firefox during the pauses?

Could you take another profile with screenshots enabled? There's a Screenshots checkbox in the profiler features. This might allow you to find the parts of the profile timeline during which the problem occurred.

Looking at this view of the profile, the only thing that looks slightly odd to me is the period between 5s and 8s during which there are some wheel DOM event markers in the parent process, but no composites on the compositor thread. But I don't know if there was active scrolling during that time; during the other active scrolling periods in the profile, the wheel events fire a lot more rapidly.

Here's a sample with screenshots. Essentially, somewhere in the rendering there are long pauses. The freezes in the interval are exactly there. I am trying to constantly scroll/type/interact with sites. Essentially any form of renders causes the freezes.

no composites on the compositor thread

That is exactly what seems odd. I will be scrolling/typing, and suddenly it will freeze

Here's the original one with the screenshots: https://perfht.ml/2P5nK6p

Here's another sample taken today (73.0): https://perfht.ml/32gKLbX

Hmm, I think the screenshots got lost when you uploaded the profile. Can you try again, and make sure that "Include screenshots" and "Include hidden threads" are checked?
But anyway, yeah, these profiles show the same problem - Firefox is not receiving any wheel events. Maybe there's something happening in the window manager at that time? I don't know how to find that out unfortunately.
Do other apps show similar symptoms, or is Firefox the only affected application?

Here is the updated screenshots. I am trying to run this on this page to include page values.

I'm unable to find instructions on how to see the screentshots, but I can't verify if it contains. Steps taken:

  1. Capture with Screenshots
  2. Share with "Include Screenshots" enabled

Link with both the streps: https://perfht.ml/2SYUGhZ

Does it need more duration for sampling?

(In reply to Markus Stange [:mstange] from comment #3)

Do other apps show similar symptoms, or is Firefox the only affected application?

No it's just firefox. I can open the same tabs on Chromium and everything works fine. I thought it was inputs, but I see the same with page loads. and any animations. The signs seems similar to long GC pauses due to memory leaks, but I see nothing to back that up. There is no (identifiable) increase in CPU or memory usage.

Curious, if I should look into i3 on this. However, I have noticed that for a few days, this wasn't an issue even on firefox.

Hi Atreya,

Out of curiosity, are you able to reproduce if you use a new profile?: https://support.mozilla.org/en-US/kb/profile-manager-create-remove-switch-firefox-profiles?redirectlocale=en-US&redirectslug=profile-manager-create-and-remove-firefox-profiles

Alternatively, can you reproduce on Firefox Beta or Firefox Nightly? https://www.mozilla.org/en-US/firefox/channel/desktop/

Flags: needinfo?(atreyas)

The latest firefox update (73.0.1) seems to have fixed this. Feel free to resolve.

Flags: needinfo?(atreyas)

[Tracking Requested - why for this release]:

OS: Unspecified → Linux
Hardware: Unspecified → x86_64

I think I spoke too soon. This is back in form. I wonder if there is an interaction between i3wm and firefox that is causing this. I can fully reproduce this on a new profile. I have not tried nightly. This really feels like GC collection issues, but I can't see any GC pauses. Attaching profiler result from new profile

I am unsure why screenshots aren't captured or rather how it's taken (possibly due to org blocking the screenshot tool)

Component: Performance → General
Product: Core → WebExtensions
Component: General → Performance
Product: WebExtensions → Core

We're trying to reproduce this here, can you help fill in Steps to Reproduce? On ad-hoc testing on linux desktops with GNOME 3, MATE (gnome 2), and Cinnamon, are not seeing this. Can you give a specific URL, and fill in some details about your computing environment, including any attached USB or input devices? Have you tried another window manager on your machine?

Flags: needinfo?(atreyas)
Priority: -- → P3

I am using i3 window manager. Actually now that I am testing this out in more configurations, I am noticing an unusual pattern here. If the laptop is connected to a single monitor that's duplicating the laptop screen, the rendering only freezes on the laptop display, but is smooth on the other one. However, if it's on the However, I still only observe this on Firefox, and no other application. Might be worth trying out wayland instead of X.

Severity: normal → S3

Clear a needinfo that is pending on an inactive user.

Inactive users most likely will not respond; if the missing information is essential and cannot be collected another way, the bug maybe should be closed as INCOMPLETE.

For more information, please visit auto_nag documentation.

Flags: needinfo?(atreyas)
Status: UNCONFIRMED → RESOLVED
Closed: 1 month ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.