Closed Bug 1636843 Opened 5 years ago Closed 5 years ago

'gfx.vsync.use-waitforvblank' causes Firefox to lock up after being left idle

Categories

(Core :: Graphics, defect, P5)

76 Branch
Desktop
Windows 10
defect

Tracking

()

RESOLVED WONTFIX
Tracking Status
firefox-esr68 --- unaffected
firefox75 --- unaffected
firefox76 --- disabled
firefox77 --- wontfix
firefox78 --- wontfix

People

(Reporter: lukebezzina, Unassigned)

References

(Blocks 1 open bug)

Details

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0

Steps to reproduce:

Firefox 76.0.1
Build ID 20200507114007
OS: Windows 10 (1903)
GPU: AMD Radeon R4 Graphics (not WebRender qualified)

  1. Set pref 'gfx.vsync.use-waitforvblank' to true and restart Firefox

  2. Leave PC idle for a while, and wait until the screen times out / enters sleep mode

Actual results:

Upon returning, both Windows and Firefox will slow to a crawl or completely lock up while the fans and disk make a lot of noise (sometimes necessitating a hard reboot) -- This seems to be caused by Firefox's memory/disk/CPU usage suddenly skyrocketing to crazy proportions (beyond capacity to Windows' capacity handle) after entering idle mode.

I have confirmed over multiple tests that this only seems to occur when 'gfx.vsync.use-waitforvblank' is set to true.

I also tested it by flipping the same pref on my other laptop with Intel graphics and the same thing happened, albeit less consistently.

Expected results:

Firefox should return from idle/sleep mode without sudden crazy resource usage.

Bugbug thinks this bug should belong to this component, but please revert this change in case of error.

Component: Untriaged → Graphics: WebRender
Product: Firefox → Core

(In reply to Luke from comment #0)

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0

Steps to reproduce:

Firefox 76.0.1
Build ID 20200507114007
OS: Windows 10 (1903)
GPU: AMD Radeon R4 Graphics (not WebRender qualified)

  1. Set pref 'gfx.vsync.use-waitforvblank' to true and restart Firefox

  2. Leave PC idle for a while, and wait until the screen times out / enters sleep mode

Actual results:

Upon returning, both Windows and Firefox will slow to a crawl or completely lock up while the fans and disk make a lot of noise (sometimes necessitating a hard reboot) -- This seems to be caused by Firefox's memory/disk/CPU usage suddenly skyrocketing to crazy proportions (beyond capacity to Windows' capacity handle) after entering idle mode.

I have confirmed over multiple tests that this only seems to occur when 'gfx.vsync.use-waitforvblank' is set to true.

I also tested it by flipping the same pref on my other laptop with Intel graphics and the same thing happened, albeit less consistently.

Expected results:

Firefox should return from idle/sleep mode without sudden crazy resource usage.

Component: Graphics: WebRender → Graphics
OS: Unspecified → Windows
Hardware: Unspecified → Desktop

Thanks for the report! Could you check if this problem occurs with https://beta.mozilla.org as well? It has waitforvblank enabled by default.

Summary: 'gfx.vsync.use-waitforvblank' causes Windows to lock up after being left idle → 'gfx.vsync.use-waitforvblank' causes Fire to lock up after being left idle
Summary: 'gfx.vsync.use-waitforvblank' causes Fire to lock up after being left idle → 'gfx.vsync.use-waitforvblank' causes Firefox to lock up after being left idle
Flags: needinfo?(bpeers)

Hi Luke, thanks for the report. use-waitforvblank was a bit experimental and it does have issues with sleep/idle. So unfortunately for 76.0 I recommend leaving the feature disabled during regular browsing.

The current Beta 77.0b4 as well as latest Nightly both have a fix for this, in fact vsync is enabled by default and the flag has changed to force-disable-waitforvblank to force disable it in case of trouble.
If you're comfortable running a beta or nightly, please check if the issue has been solved for you. Thanks!

Flags: needinfo?(bpeers) → needinfo?(lukebezzina)

Marking "won't fix" for 76.0; should be fixed with 77.0b4 (commit)

Status: UNCONFIRMED → RESOLVED
Closed: 5 years ago
Priority: -- → P5
Resolution: --- → WONTFIX

(In reply to Bert Peers [:bpeers] from comment #4)

Hi Luke, thanks for the report. use-waitforvblank was a bit experimental and it does have issues with sleep/idle. So unfortunately for 76.0 I recommend leaving the feature disabled during regular browsing.

The current Beta 77.0b4 as well as latest Nightly both have a fix for this, in fact vsync is enabled by default and the flag has changed to force-disable-waitforvblank to force disable it in case of trouble.
If you're comfortable running a beta or nightly, please check if the issue has been solved for you. Thanks!

I'll keep the flag off for now and just wait for the next release. Thanks for the explanation!

Flags: needinfo?(lukebezzina)
You need to log in before you can comment on or make changes to this bug.