Graph rendering is broken (gets fixed by disabling accelerated canvas)
Categories
(Core :: Graphics: Canvas2D, defect)
Tracking
()
People
(Reporter: insuna, Unassigned)
References
Details
(Keywords: regression)
Attachments
(2 files)
User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:126.0) Gecko/20100101 Firefox/126.0
Steps to reproduce:
Open any kind of bar or line graph, some circle graphs too.
Wait for a few minutes to a few hours. Mouse-Over the graphs or reload the page repeatedly.
(I have skipped Firefox 124 when updating from 123, so I can't be sure whether it started to appear in Firefox 124 or 125, but it's been appearing in 125 and 126 for me so far)
Actual results:
The graphs will flicker wildly and if there are multiple different graphs of the same size on the site they will occasionally switch between each other back and forth, show old data, etc.
Expected results:
Graphs should remain stable and show what they're supposed to. A graph that's supposed to show one specific thing should never be replaced by a cached version of another graph.
Things I tried to resolve this: Clear cache, delete site data, reset browser data. All of them helped for a short while, but the problem would always come back within minutes to hours.
Other affected things: HPE iLO Remote Control, AMI MegaRAC Remote Control (H5)
Comment 2•10 months ago
|
||
The Bugbug bot thinks this bug should belong to the 'Core::Widget: Gtk' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.
Comment 3•10 months ago
|
||
- Can you type about:support in your browser and copy-paste its contents on this bug?
- Can you share a publicly accessible URL where this bug can be reproduced by Firefox developers?
- If this bug didnt occur in Firefox123 then you can use the mozregression tool (https://mozilla.github.io/mozregression/) to perform a bisection that will pinpoint the change that is causing the issue for you.
(In reply to Mayank Bansal from comment #3)
- Can you type about:support in your browser and copy-paste its contents on this bug?
- Can you share a publicly accessible URL where this bug can be reproduced by Firefox developers?
- If this bug didnt occur in Firefox123 then you can use the mozregression tool (https://mozilla.github.io/mozregression/) to perform a bisection that will pinpoint the change that is causing the issue for you.
I can't be sure if it will work with this URL, but it should. It needs some time to read data into presumably the cache before it breaks.
I'll post mozregression results as soon as I'm done
(In reply to insuna from comment #5)
(In reply to Mayank Bansal from comment #3)
- Can you type about:support in your browser and copy-paste its contents on this bug?
- Can you share a publicly accessible URL where this bug can be reproduced by Firefox developers?
- If this bug didnt occur in Firefox123 then you can use the mozregression tool (https://mozilla.github.io/mozregression/) to perform a bisection that will pinpoint the change that is causing the issue for you.
I can't be sure if it will work with this URL, but it should. It needs some time to read data into presumably the cache before it breaks.
I'll post mozregression results as soon as I'm done
Forgot to paste the URL: https://play.grafana.org/d/cvDFGseGz/graphite-templated-nested?orgId=1
Mozregression stopped working at this point:
2024-03-23T21:35:21.630000: INFO : Narrowed integration regression window from [a8924225, b804b229] (3 builds) to [7800a7cc, b804b229] (2 builds) (~1 steps left)
2024-03-23T21:35:21.633000: DEBUG : Starting merge handling...
2024-03-23T21:35:21.633000: DEBUG : Using url: https://hg.mozilla.org/mozilla-central/json-pushes?changeset=b804b2295fce6e8be4e3510d733f82e29639bb5e&full=1
2024-03-23T21:35:21.633000: DEBUG : redo: attempt 1/3
2024-03-23T21:35:21.633000: DEBUG : redo: retry: calling _default_get with args: ('https://hg.mozilla.org/mozilla-central/json-pushes?changeset=b804b2295fce6e8be4e3510d733f82e29639bb5e&full=1',), kwargs: {}, attempt #1
2024-03-23T21:35:21.635000: DEBUG : urllib3.connectionpool: Resetting dropped connection: hg.mozilla.org
2024-03-23T21:35:22.593000: DEBUG : urllib3.connectionpool: https://hg.mozilla.org:443 "GET /mozilla-central/json-pushes?changeset=b804b2295fce6e8be4e3510d733f82e29639bb5e&full=1 HTTP/1.1" 200 None
2024-03-23T21:35:22.765000: DEBUG : Found commit message:
Backed out changeset 21b754dc819c (bug 1820287) for causing bc failures on browser_creditCard_telemetry.js. CLOSED TREE
2024-03-23T21:35:22.766000: DEBUG : Did not find a branch, checking all integration branches
2024-03-23T21:35:22.766000: DEBUG : Using url: https://hg.mozilla.org/integration/autoland/json-pushes?changeset=b804b2295fce6e8be4e3510d733f82e29639bb5e&full=1
2024-03-23T21:35:22.766000: DEBUG : redo: attempt 1/3
2024-03-23T21:35:22.766000: DEBUG : redo: retry: calling _default_get with args: ('https://hg.mozilla.org/integration/autoland/json-pushes?changeset=b804b2295fce6e8be4e3510d733f82e29639bb5e&full=1',), kwargs: {}, attempt #1
2024-03-23T21:35:23.507000: DEBUG : urllib3.connectionpool: https://hg.mozilla.org:443 "GET /integration/autoland/json-pushes?changeset=b804b2295fce6e8be4e3510d733f82e29639bb5e&full=1 HTTP/1.1" 200 None
2024-03-23T21:35:23.536000: DEBUG : Using url: https://hg.mozilla.org/integration/mozilla-inbound/json-pushes?changeset=b804b2295fce6e8be4e3510d733f82e29639bb5e&full=1
2024-03-23T21:35:23.536000: DEBUG : redo: attempt 1/3
2024-03-23T21:35:23.536000: DEBUG : redo: retry: calling _default_get with args: ('https://hg.mozilla.org/integration/mozilla-inbound/json-pushes?changeset=b804b2295fce6e8be4e3510d733f82e29639bb5e&full=1',), kwargs: {}, attempt #1
2024-03-23T21:35:23.807000: DEBUG : urllib3.connectionpool: https://hg.mozilla.org:443 "GET /integration/mozilla-inbound/json-pushes?changeset=b804b2295fce6e8be4e3510d733f82e29639bb5e&full=1 HTTP/1.1" 404 None
2024-03-23T21:35:23.836000: DEBUG : Didn't find b804b2295fce6e8be4e3510d733f82e29639bb5e in mozilla-inbound
2024-03-23T21:35:23.836000: DEBUG : Repo 'autoland' seems to have the earliest push
2024-03-23T21:35:23.836000: INFO : ************* Switching to autoland by process of elimination (no branch detected in commit message)
Last build that I could test with Mozregression that turned out to be bug free after loads of builds with bugs was this: 7800a7cccda7eb305d8cd32bb4c36c0674cf20e1
Comment 8•10 months ago
|
||
So based on the second line from your log, the regression range is : https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=7800a7cc&tochange=b804b229 . But this is a wide range and its not immediately obvious what would be the breaking change.
Did mozregression stop at the last line in your log? From the log, it looks like mozregression was switching to the autoland branch for bisection - autoland branch will help to pinpoint the exact change that is causing the bug for you.
Can you try doing a bisection again and let the tool switch to autoland and continue the bisection? You dont need to do the bisection from scratch - you can pass the parameters like this:
mozregression --good 7800a7cc --bad b804b229
I'll do (In reply to Mayank Bansal from comment #8)
So based on the second line from your log, the regression range is : https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=7800a7cc&tochange=b804b229 . But this is a wide range and its not immediately obvious what would be the breaking change.
Did mozregression stop at the last line in your log? From the log, it looks like mozregression was switching to the autoland branch for bisection - autoland branch will help to pinpoint the exact change that is causing the bug for you.
Can you try doing a bisection again and let the tool switch to autoland and continue the bisection? You dont need to do the bisection from scratch - you can pass the parameters like this:
mozregression --good 7800a7cc --bad b804b229
I'll do that. mozregression just stopped and didn't download any of the autoland things, and I wasn't sure how to continue. I'm continuing with your suggestion now and I'll report back once I have more info
Reporter | ||
Comment 10•10 months ago
|
||
(In reply to Mayank Bansal from comment #8)
Mozregression once again got stuck here:
Narrowed integration regression window from [04a36fc9, a73c4546] (20 builds) to [04a36fc9, 84a4dd92] (11 builds) (~3 steps left)
unfortunately if I try to use those IDs I always get errors about them not being valid changesets or valid build ids.
Comment 11•10 months ago
|
||
Thanks for your help so far! I have only this last thing you can try:
mozregression --repo mozilla-central --good 7800a7cc --bad b804b229
But if this doesnt work, then I am out of ideas (and I cant reproduce your bug on my Windows machine). A Firefox dev will have to investigate further here.
All i can think of is to maybe download the mozregression GUI tool, and try doing a bisection from there.
Reporter | ||
Comment 12•10 months ago
|
||
(In reply to Mayank Bansal from comment #11)
Thanks for your help so far! I have only this last thing you can try:
mozregression --repo mozilla-central --good 7800a7cc --bad b804b229
But if this doesnt work, then I am out of ideas (and I cant reproduce your bug on my Windows machine). A Firefox dev will have to investigate further here.
All i can think of is to maybe download the mozregression GUI tool, and try doing a bisection from there.
I've been using the mozregression gui tool unfortunately and that's what's been crashing :( I'll see if I can fiddle with the settings to make it work. Thank you for the advice!
Reporter | ||
Comment 13•10 months ago
|
||
Looks like the buck stops here.
Error: The url 'https://hg.mozilla.org/mozilla-central/json-pushes?fromchange=04a36fc99efd70e08f2ee5da673e29696db90fc4&tochange=84a4dd92c8959a0988bcee669581dcf4120a37b3' contains no pushlog. Maybe use another range ?
Reporter | ||
Comment 14•10 months ago
|
||
OK with some coercing it finished:
2024-03-24T18:15:49.339000: INFO : Narrowed integration regression window from [456ba9da, 84a4dd92] (3 builds) to [456ba9da, d563b223] (2 builds) (~1 steps left)
2024-03-24T18:15:49.346000: DEBUG : Starting merge handling...
2024-03-24T18:15:49.346000: DEBUG : Using url: https://hg.mozilla.org/integration/autoland/json-pushes?changeset=d563b223de0a99077acb177bd125b4d588557fae&full=1
2024-03-24T18:15:49.346000: DEBUG : redo: attempt 1/3
2024-03-24T18:15:49.347000: DEBUG : redo: retry: calling _default_get with args: ('https://hg.mozilla.org/integration/autoland/json-pushes?changeset=d563b223de0a99077acb177bd125b4d588557fae&full=1',), kwargs: {}, attempt #1
2024-03-24T18:15:49.348000: DEBUG : urllib3.connectionpool: Resetting dropped connection: hg.mozilla.org
2024-03-24T18:15:50.836000: DEBUG : urllib3.connectionpool: https://hg.mozilla.org:443 "GET /integration/autoland/json-pushes?changeset=d563b223de0a99077acb177bd125b4d588557fae&full=1 HTTP/1.1" 200 None
2024-03-24T18:15:50.863000: DEBUG : Found commit message:
Bug 1876029 - expect ContentVisibilityAutoStateChangeEvent to be defined for every branch. r=emilio DONTBUILD
The interface has been made available on all branches in bug 1874874.
Differential Revision: https://phabricator.services.mozilla.com/D199334
2024-03-24T18:15:50.864000: DEBUG : Did not find a branch, checking all integration branches
2024-03-24T18:15:50.865000: INFO : The bisection is done.
2024-03-24T18:15:50.866000: INFO : Stopped
Comment 15•10 months ago
|
||
Perfect!
Can you try this :
type about:config in your browser.
Type "layout.css.content-visibility.enabled" and toggle the value to "FALSE"
Restart the browser
And then check if the issue is solved for you?
Updated•10 months ago
|
Reporter | ||
Comment 16•10 months ago
|
||
(In reply to Mayank Bansal from comment #15)
Perfect!
Can you try this :
type about:config in your browser.
Type "layout.css.content-visibility.enabled" and toggle the value to "FALSE"
Restart the browser
And then check if the issue is solved for you?
Unfortunately that does not seem to have fixed it. :/
Comment 17•10 months ago
|
||
Does it work if you set gfx.canvas.accelerated=False, restart browser, and then test again?
Comment 18•10 months ago
|
||
@Mayank https://phabricator.services.mozilla.com/D199334 is just changing the test expectation for ContentVisibilityAutoStateChangeEvent on non-nightly branches, it does not actually change behavior. So I understand this is not related to content-visibility.
Comment 19•10 months ago
|
||
:aryx, since you are the author of the regressor, bug 1876029, could you take a look? Also, could you set the severity field?
For more information, please visit BugBot documentation.
Reporter | ||
Comment 20•10 months ago
|
||
(In reply to Mayank Bansal from comment #17)
Does it work if you set gfx.canvas.accelerated=False, restart browser, and then test again?
That seems to have completely fixed it. I'll have to test longer to be 100% sure, but with that setting no more glitching graphs.
Updated•10 months ago
|
Reporter | ||
Comment 21•10 months ago
|
||
I did additionally try to keep gfx.canvas.accelerated=True but gfx.canvas.accelerated.async-present=False, but the issue still occured. I don't know if this helps any, but I guess trying and knowing more things is better than nothing.
Comment 22•9 months ago
|
||
The severity field is not set for this bug.
:lsalzman, could you have a look please?
For more information, please visit BugBot documentation.
Updated•6 months ago
|
Comment 23•5 months ago
|
||
Linux 6.6.42-1-lts, Firefox 128.0.3, X11, nvidia 555.58.02.
Have experienced what I assume is this bug on soundcloud.com waveforms and jackbox.tv drawing games where they appear as flashing of different canvas images as you move the mouse.
Have also experienced that exported html5 godot game engine games most often freeze completely making any UI element non-interactable after leaving them in a background tab, but also intermittently showing the same flashing in addition. Confirmed this does not happen on macos firefox 128.0.
In any case the bug only seems to happen after a period of time has passed, possibly only while the tab is kept in the background.
ETP exceptions did nothing, reducing background tab throttling did nothing.
The setting gfx.canvas.accelerated=false is still a workaround.
Updated•1 month ago
|
Description
•