Intermittent bugs/1614788-1.svg == bugs/1614788-1-ref.svg | image comparison, max difference: 255, number of differing pixels: 45438
Categories
(Core :: SVG, defect, P5)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr68 | --- | unaffected |
firefox-esr78 | --- | unaffected |
firefox79 | --- | unaffected |
firefox80 | --- | unaffected |
firefox81 | --- | wontfix |
firefox82 | --- | wontfix |
firefox83 | --- | fixed |
People
(Reporter: intermittent-bug-filer, Assigned: hiro)
References
(Regressed 8 open bugs, Regression)
Details
(Keywords: intermittent-failure, regression, Whiteboard: [stockwell unknown])
Attachments
(4 files)
Filed by: btara [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer.html#?job_id=313062614&repo=autoland
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/LekSVl8dQO-9tCXE5m9NrQ/runs/0/artifacts/public/logs/live_backing.log
Reftest URL: https://hg.mozilla.org/mozilla-central/raw-file/tip/layout/tools/reftest/reftest-analyzer.xhtml#logurl=https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/LekSVl8dQO-9tCXE5m9NrQ/runs/0/artifacts/public/logs/live_backing.log&only_show_unexpected=1
[task 2020-08-14T21:36:17.440Z] 21:36:17 INFO - REFTEST TEST-START | layout/reftests/bugs/1614788-1.svg == layout/reftests/bugs/1614788-1-ref.svg
[task 2020-08-14T21:36:17.440Z] 21:36:17 INFO - REFTEST TEST-LOAD | http://10.0.2.2:8854/tests/layout/reftests/bugs/1614788-1.svg | 4932 / 7075 (69%)
[task 2020-08-14T21:36:17.440Z] 21:36:17 INFO - REFTEST TEST-LOAD | http://10.0.2.2:8854/tests/layout/reftests/bugs/1614788-1-ref.svg | 4932 / 7075 (69%)
[task 2020-08-14T21:36:17.441Z] 21:36:17 INFO - REFTEST INFO | REFTEST fuzzy test (0, 0) <= (255, 45438) <= (145, 48536)
[task 2020-08-14T21:36:17.447Z] 21:36:17 WARNING - REFTEST TEST-UNEXPECTED-FAIL | layout/reftests/bugs/1614788-1.svg == layout/reftests/bugs/1614788-1-ref.svg | image comparison, max difference: 255, number of differing pixels: 45438
[task 2020-08-14T21:36:17.492Z] 21:36:17 INFO - REFTEST IMAGE 1 (TEST): data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAPoCAYAAAAmy5q...
[task 2020-08-14T21:36:17.528Z] 21:36:17 INFO - REFTEST IMAGE 2 (REFERENCE): data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAA...
[task 2020-08-14T21:36:17.529Z] 21:36:17 INFO - REFTEST TEST-END | layout/reftests/bugs/1614788-1.svg == layout/reftests/bugs/1614788-1-ref.svg
Comment hidden (Intermittent Failures Robot) |
Comment 2•4 years ago
|
||
The test started to fail on 'slower' (?) platforms. Can you check what regressed it or what needs to be done?
Comment 3•4 years ago
|
||
Set release status flags based on info from the regressing bug 1656418
Comment 4•4 years ago
|
||
AFAIK we think bug 1656418 regressed it. Passing ni to hiro
Assignee | ||
Comment 5•4 years ago
•
|
||
I am assigning to me, that said I can't tell I can work on this soon.
Updated•4 years ago
|
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment 10•4 years ago
|
||
There have been 37 total failures in the last 7 days: https://treeherder.mozilla.org/intermittent-failures.html#/bugdetails?startday=2020-08-28&endday=2020-09-04&tree=trunk&bug=1659227
Recent failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=314859173&repo=autoland&lineNumber=17277
Assignee | ||
Comment 11•4 years ago
|
||
I am the owner. I am sorry I haven't worked on this yet. I know what the problem is.
We use a scrollable frame as the clip frame for partial prerender rects, but in SVG case there is no reasonable scrollable frame, so we need a different way to get the clip frame. I don't have enough knowledge about SVG stuff, so I have to ask someone who is familiar with SVG stuff.
Comment hidden (Intermittent Failures Robot) |
Comment 13•4 years ago
|
||
We reached 53 occurrences of this failure in the past week.
Most recent failure: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=315537933&repo=autoland&lineNumber=20032
Hiroyuki, any updates o this?
Assignee | ||
Comment 14•4 years ago
|
||
Yep, I will fix this next Monday.
Comment hidden (Intermittent Failures Robot) |
Assignee | ||
Comment 16•4 years ago
|
||
There are four different issues I've found so far.
- SVG{Inner,Outer}Frame clips descendants even if it's not scrollable at all (I didn't know that, thanks to Cameron)
- We use LayoutDeviceIntRect to represent the partial pre-render area, but in this test case the rect will be based on (2,1), it easily losts accuracy
- The animation in the test case jumps at positions where the partial pre-render rect is totally outside of the viewport, the current jank detect function fails on the cases
- With RDL incoming |aDirtyRect|s on ShouldPrerenderTransformedContent call are sometimes 0-width and 0-height, thus the expanded pre-render rect is not sufficient (i.e. the expanded rect is still smaller than the visible area)
I've already fixed 1 - 3 issues, but I don't quite understand about 4).
Attaching file is an example to see the incoming empty dirty rect on ShouldPrerenderTransformedContent call. There is no animation, no transform either, it's just a frame with will-change:transform
.
I've also seen the incoming empty dirty rect on a test case in bug 1661316 comment 8.
Assignee | ||
Comment 17•4 years ago
|
||
(In reply to Hiroyuki Ikezoe (:hiro) from comment #16)
- With RDL incoming |aDirtyRect|s on ShouldPrerenderTransformedContent call are sometimes 0-width and 0-height, thus the expanded pre-render rect is not sufficient (i.e. the expanded rect is still smaller than the visible area)
:mattwoodrow suggested to me using visibleRect instead for dirtyRect for partial pre-render check (ShouldPrerenderTransformedContent). Indeed it fixes bug 1661316 and the 4) issue.
I am going to fix bug 1661316 first.
Assignee | ||
Comment 18•4 years ago
|
||
In SVG frame tree SVG{Inner,Outer}Frame is normally not scrollable but clips
descendants, thus nsLayoutUtils::GetNearestScrollableFrame is not able to find
the clip/scroll frame. So in this change, we introduce
GetNearestOverflowClipFrame which is a similar function to
GetNearestScrollableFrame but it also checks whether the frame is SVGInnerFrame
or SVGOuterFrame which is clipping the given nsIFrame during walking up the
frame tree.
In this change we also change the logic to get the clip/scroll frame and the scroll
id as follows;
- Get the nearest overflow clip frame in the same document
- Use the root frame if there is no clip frame
- Then try to find the scroll id if the clip frame is asynchronously scrollable
so that it becomes clearer before. It's still messy though.
Assignee | ||
Comment 19•4 years ago
|
||
In SVG coordinates the rect size might be fractional.
Depends on D90647
Assignee | ||
Comment 20•4 years ago
|
||
This change regresses partial-prerender-translate-1.html which is a test case
that we don't consider transforms making the entire element outside of the clip
rect as jank (i.e. there is nothign to be composited). That said, it won't be
a big problem since even if the jank happened on the compositor, then there is
nothing to be painted on the main-thread, moreover with step timing functions
most of animation restyling are going to be skipped on the main-thread. So
the layout.animation.prerender.partial pref for the test case is dropped.
Depends on D90648
Comment hidden (Intermittent Failures Robot) |
Comment 22•4 years ago
|
||
Pushed by hikezoe.birchill@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/9bcb053caba3 Handle SVG{Inner,Outer}Frame as the clip frame for partial pre-render. r=heycam,botond https://hg.mozilla.org/integration/autoland/rev/2ca45c433eb7 Change the partial pre-render rect unit to LayoutDeviceRect. r=botond https://hg.mozilla.org/integration/autoland/rev/0a92348ed335 Jank if the partial pre-render area is outside of the clip rect regardless of whether the entire element is also outside of the clip rect or not. r=botond
Comment 23•4 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/9bcb053caba3
https://hg.mozilla.org/mozilla-central/rev/2ca45c433eb7
https://hg.mozilla.org/mozilla-central/rev/0a92348ed335
Comment 24•4 years ago
|
||
Since the status are different for nightly and release, what's the status for beta?
For more information, please visit auto_nag documentation.
Assignee | ||
Comment 25•4 years ago
|
||
The feature regressed this bug has not been enabled in beta/release channels.
Updated•4 years ago
|
Updated•3 years ago
|
Description
•