Closed Bug 1715452 Opened 4 years ago Closed 4 years ago

[Mac]Firefox 89 makes my external screen to flicker while scrolling

Categories

(Core :: Layout: Scrolling and Overflow, defect, P2)

Firefox 89
defect

Tracking

()

RESOLVED FIXED
91 Branch
Tracking Status
firefox-esr78 --- unaffected
firefox89 --- fixed
firefox90 --- fixed
firefox91 --- fixed

People

(Reporter: vyrgozunqk, Assigned: emilio, NeedInfo)

References

(Regression)

Details

(Keywords: regression, Whiteboard: [sp3])

Attachments

(2 files)

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:89.0) Gecko/20100101 Firefox/89.0

Steps to reproduce:

Connect macbook pro to external 4K screen (Scalling to 2560x1440 is enabled) through display port and close the macbook pro 15" 2017 with radeon 560 and Core i7 with Intel UHD630.

Actual results:

During scrolling the entire screen flickers when firefox is expanded.

If I manually resize it to some smaller form factor, e.g. ~60% or less of the screen area, it gets better, and flickers rarely.

Expected results:

Scrolling should not lead to screen flickers.
This happens only in firefox and only after the 89 update.

The Bugbug bot thinks this bug should belong to the 'Core::Widget: Cocoa' component, and is moving the bug to that component. Please revert this change in case you think the bot is wrong.

Component: Untriaged → Widget: Cocoa
Product: Firefox → Core

Could you run mozregression and check when this started happening?

https://mozilla.github.io/mozregression/install.html

Component: Widget: Cocoa → Layout: Scrolling and Overflow
Flags: needinfo?(vyrgozunqk)

So it seems that choosing "release build" in the regression tool downloads one version above the chose one, I guess the nightly builds are one version above(p.s. I am not familiar with the firefox release cycle/ procedure).

I have tested with release build 87, which actually corresponds to: 88.0a1 (2021-02-22) (64-bit) → Works as supposed to, no flicker.

I have also tried testing with release build 88 from the regression tool, which actually downloads the 89.0a1 (2021-03-22) (64-bit), this is where I start seeing the issue.

Flags: needinfo?(vyrgozunqk)

(In reply to vyrgozunqk from comment #3)

So it seems that choosing "release build" in the regression tool downloads one version above the chose one, I guess the nightly builds are one version above(p.s. I am not familiar with the firefox release cycle/ procedure).

I have tested with release build 87, which actually corresponds to: 88.0a1 (2021-02-22) (64-bit) → Works as supposed to, no flicker.

I have also tried testing with release build 88 from the regression tool, which actually downloads the 89.0a1 (2021-03-22) (64-bit), this is where I start seeing the issue.

The regression tool will download multiple different versions and then continuously narrow down a range to figure out when a code change may have been introduced that could have triggered this. It will take a good 10-15 minutes to complete, depending on your Internet speed. At the end of the run it will display a URL that will help us figure out what may have triggered this bug.

All you should have to do is answer whether a build reproduced the bug ("bad") or didn't ("good"). This will repeat a good 20 or so times. If you could post the final URL ones mozregression completes, that would be really helpful.

Flags: needinfo?(vyrgozunqk)

Here's the result of bisection from 22-02-2021 to 01-06-2021:

2021-06-09T22:11:01.868000: INFO : Narrowed integration regression window from [d2b304c3, dbeaed67] (3 builds) to [3835cf26, dbeaed67] (2 builds) (~1 steps left)
2021-06-09T22:11:01.885000: DEBUG : Starting merge handling...
2021-06-09T22:11:01.885000: DEBUG : Using url: https://hg.mozilla.org/integration/autoland/json-pushes?changeset=dbeaed67b3b467c0828dc1b009cc0a4d90b0f400&full=1
2021-06-09T22:11:03.312000: DEBUG : Found commit message:
Bug 1697240 - Support painting mac scrollbars with WebRender. r=mstange

Depends on D107688

Differential Revision: https://phabricator.services.mozilla.com/D107689

2021-06-09T22:11:03.313000: DEBUG : Did not find a branch, checking all integration branches
2021-06-09T22:11:03.318000: INFO : The bisection is done.
2021-06-09T22:11:03.319000: INFO : Stopped

Flags: needinfo?(vyrgozunqk)

Thank you!

Severity: -- → S2
Status: UNCONFIRMED → NEW
Ever confirmed: true
Flags: needinfo?(emilio)
Priority: -- → P2
Regressed by: 1697240
Has Regression Range: --- → yes
See Also: → 1715588

Can you attach your about:support info? bug 1710877 looks fairly similar, I guess your second monitor is using the AMD card?

Flags: needinfo?(emilio) → needinfo?(vyrgozunqk)
See Also: → 1710877

Markus, maybe you can repro something like this? If not, should we disable widget.non-native-theme.webrender at least on late beta / release until we figure out how to repro / fix this?

Flags: needinfo?(mstange.moz)
Flags: needinfo?(vyrgozunqk)

I have attached the file and yes, when the external monitor is attached, everything goes through the AMD GPU.

I want to add, i've tried disabling widget.non-native-theme.webrender from the about:config. The flickering disappeared immediately.

(In reply to Emilio Cobos Álvarez (:emilio) from comment #8)

Markus, maybe you can repro something like this? If not, should we disable widget.non-native-theme.webrender at least on late beta / release until we figure out how to repro / fix this?

I have not been able to reproduce yet. Disabling that pref sounds like the right course of action.

Flags: needinfo?(mstange.moz)
Assignee: nobody → emilio
Status: NEW → ASSIGNED

Comment on attachment 9226585 [details]
Bug 1715452 - Disable widget.non-native-theme.webrender in macOS beta/release. r=mstange

Beta/Release Uplift Approval Request

  • User impact if declined: comment 0
  • Is this code covered by automated tests?: Yes
  • Has the fix been verified in Nightly?: No
  • Needs manual test from QE?: No
  • If yes, steps to reproduce:
  • List of other uplifts needed: none
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): Activating an slightly slower codepath that doesn't seem to trigger the issue.
  • String changes made/needed: none
Attachment #9226585 - Flags: approval-mozilla-release?
Attachment #9226585 - Flags: approval-mozilla-beta?
Pushed by ealvarez@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/1e2005661e70 Disable widget.non-native-theme.webrender in macOS beta/release. r=mstange
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 91 Branch

Comment on attachment 9226585 [details]
Bug 1715452 - Disable widget.non-native-theme.webrender in macOS beta/release. r=mstange

Approved for 90 beta and our dot release, thanks.

Attachment #9226585 - Flags: approval-mozilla-release?
Attachment #9226585 - Flags: approval-mozilla-release+
Attachment #9226585 - Flags: approval-mozilla-beta?
Attachment #9226585 - Flags: approval-mozilla-beta+

Change the status for beta to have the same as nightly and release.
For more information, please visit auto_nag documentation.

Blocks: 1853710
Whiteboard: [sp3]

Curious, if you still have the same setup, does flipping gfx.non-native-theme.webrender to true show the same issue nowadays on Firefox release?

We're thinking of re-enabling this optimization, but we couldn't reproduce this to begin with...

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

Attachment

General

Creator:
Created:
Updated:
Size: