Open Bug 1528292 Opened 6 years ago Updated 3 years ago

severe video stutter, system stalling in firefox 65 on linux

Categories

(Core :: Graphics, defect, P3)

65 Branch
defect

Tracking

()

UNCONFIRMED

People

(Reporter: jfhart085, Unassigned, NeedInfo)

References

Details

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

Steps to reproduce:

build firefox-65 from source under Linux.
run it.

Actual results:

runs normally (well) except when playing video from any source, including local files. Video stutters frequently, system stalls when this happens, audio remains normal (Pulse audio). Memory usage appears very high compared with firefox-57. Firefox-57 plays video normally without system stalling or video stutter.

Linux DellXPS 4.10.0 #5 SMP Sat Aug 25 22:33:54 EDT 2018 x86_64 GNU/Linux
Intel(R) Core(TM)2 Quad CPU Q9550 @ 2.83GHz
8GB ram
2GB swap - need more here ?

Expected results:

video playback without stutter or system stalling.

Component: Untriaged → Graphics
Product: Firefox → Core
Component: Graphics → Audio/Video: Playback

mozconfig used:

#mk_add_options MOZ_MAKE_FLAGS="-j1"
#ac_add_options --disable-dbus
ac_add_options --disable-necko-wifi
ac_add_options --disable-gconf
ac_add_options --enable-system-sqlite
ac_add_options --with-system-libevent
ac_add_options --with-system-libvpx
ac_add_options --with-system-nspr
ac_add_options --with-system-nss
ac_add_options --with-system-icu
ac_add_options --enable-official-branding
ac_add_options --with-system-graphite2
ac_add_options --with-system-harfbuzz

The BLFS editors recommend not changing anything below this line:

ac_add_options --prefix=/usr
ac_add_options --enable-application=browser

ac_add_options --disable-crashreporter
ac_add_options --disable-updater
ac_add_options --disable-tests
ac_add_options --enable-optimize
ac_add_options --enable-system-ffi
ac_add_options --enable-system-pixman
ac_add_options --with-system-bz2
ac_add_options --with-system-jpeg
ac_add_options --with-system-png
ac_add_options --with-system-zlib

mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/firefox-build-dir

also used where applicable

LLVM-7.0 with discriminator patch
gcc 5.3.0
rustc-1.32.0
g++ 5.3.0

solution - change the following settings from defaults:

layers.acceleration.force-enabled true
layers.omtp.enabled true

If those prefs fixed it, this must be a gfx issue.

Component: Audio/Video: Playback → Graphics

Can you reproduce the problem using an official build? Is this a regression in 65? i.e. did video work better in older versions?

Flags: needinfo?(jfhart085)
Summary: severe video stutter, system stalling in firefox 65 → severe video stutter, system stalling in firefox 65 on linux

The problem is also present with the official builds for 65.0 and 65.0.1.
It was not present with firefox 57 in the build done from source.

note:
the default value for layers.omtp.enabled is already correct, only the value for "layers.acceleration.force-enabled" needs to be changed to "true"

Flags: needinfo?(jfhart085)

If the problem was not present in Firefox 57 it should be possible to find a regression window that caused the problem. You can do that with https://mozilla.github.io/mozregression/

Flags: needinfo?(jfhart085)

I have installed and run mozregression as per the above comment.

"mozregression" was unable to pinpoint any regression.

I tried both of the following ranges as follows:

mozregression --good 2017-11-12 --bad 2019-01-24
mozregression --good 2017-11-12 --bad 2019-02-20

None of the presented builds exhibited the video problem or system stalling.

The final response from mozregression was as follows:

Was this nightly build good, bad, or broken? (type 'good', 'bad', 'skip', 'retry' or 'exit' and press Enter): good
5:06.73 ERROR: Build was expected to be bad! The initial good/bad range seems incorrect.

I went back and retested the following official builds and got the associated results in agreement with my original report:

linux-x86_64/en-US/firefox-57.0.tar.bz2 # no problems noted
linux-x86_64/en-US/firefox-65.0.tar.bz2 # video stalling/stutter, system stalling
linux-x86_64/en-US/firefox-65.0.1.tar.bz2 # video stalling/stutter, system stalling

The above binary archives were downloaded from archive.mozilla.org/pub/firefox/releases

In each case the default value of "layers.acceleration.force-enabled" was "false" when firefox was started.

Changing this value eliminates the problem

Flags: needinfo?(jfhart085)

Do you see the problem if you use a fresh profile with firefox-65?

Flags: needinfo?(jfhart085)

I have just run that test, and I do see the problem when using a fresh profile with firefox-65.

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

So to confirm when you run mozregression with you don't see ever see the problem but when you run firefox-65 on a fresh profile you do see it?

Flags: needinfo?(jfhart085)

That is correct. I see it when using downloaded "binary" builds from mozilla.org, or Firefox-65 built from source here. I see it with either a fresh profile, or when using my own. I do not see the problem when I use mozregression. I think I had the date ranges correct, but you may wish to confirm this.

Firefox-57 does not exhibit the problem with "layers.acceleration.force-enabled" set to "false" (the default), but Firefox-65 does. The problem disappears for Firefox-65 (no mozregression) when that parameter is set to "true".

I checked the value for "layers.acceleration.force-enabled" when running mozconfig to make sure it was "false", but did not see the problem occur.

Firefox-65 (no mozregression) is quite unusable for video here with that "layers.acceleration.force-enabled" set to "false" (the default), and stalls the system badly. With the value set to "true", all is well.

"mozregression" did not run Firefox-65 itself as far as I know, but may have run versions before and after it. If the problem was only in Firefox-65 but not later, "mozregression" might not turn it up. I'll try one of the versions after 65 and see what happens.

Flags: needinfo?(jfhart085)
See Also: → 1524156

My testing indicates that the problem begins with firefox-60.0b12.

Just wanted to note that I've been experiencing the same problem for weeks, currently I'm on 70.0.1 (64-bit) (Arch Linux).
I can also confirm that setting layers.acceleration.force-enabled to true seems to fix the problem for me.

It might be worthy of note that the problem is bad enough that even scrolling in about:config, with no other tab / window open exhibits the problem.

I also tried on a new user account, where the problem also exists with only about:config opened, although it is not as bad as on my main profile.

I am only experiencing this on my laptop though, which means Intel integrated GPU. On my workstations, both Linux and Windows10, the problem does not appear, so here goes the CPU info for the laptop:

vendor_id	: GenuineIntel
cpu family	: 6
model		: 142
model name	: Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz
stepping	: 11
microcode	: 0xc6
cpu MHz		: 800.135
cache size	: 8192 KB

RAM usage is nothing out of the ordinary with 4/32GB used.

0xfd000000, were you able to run a mozregression to find when the issue appeared?

Flags: needinfo?(0xfd000000)
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.