Closed Bug 1254834 Opened 9 years ago Closed 9 years ago

[e10s] Intermittent fractional-transform-2.html | failed reftest-no-paint

Categories

(Core :: Layout, defect)

Unspecified
Windows 8
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla48
Tracking Status
e10s + ---
firefox48 --- fixed

People

(Reporter: RyanVM, Assigned: kats)

References

(Blocks 1 open bug)

Details

(Keywords: intermittent-failure)

Attachments

(2 files)

Not a permafail, but definitely a new Win8 e10s reftest failure. https://treeherder.mozilla.org/logviewer.html#?job_id=17687187&repo=try#L66691 17:21:40 INFO - REFTEST TEST-START | file:///C:/slave/test/build/tests/reftest/tests/layout/reftests/invalidation/fractional-transform-2.html 17:21:40 INFO - REFTEST TEST-LOAD | file:///C:/slave/test/build/tests/reftest/tests/layout/reftests/invalidation/fractional-transform-2.html | 13272 / 13292 (99%) 17:21:41 INFO - REFTEST TEST-UNEXPECTED-FAIL | file:///C:/slave/test/build/tests/reftest/tests/layout/reftests/invalidation/fractional-transform-2.html | failed reftest-no-paint 17:21:41 INFO - REFTEST TEST-END | file:///C:/slave/test/build/tests/reftest/tests/layout/reftests/invalidation/fractional-transform-2.html 17:21:41 INFO - REFTEST INFO | Saved log: START file:///C:/slave/test/build/tests/reftest/tests/layout/reftests/invalidation/fractional-transform-2.html 17:21:41 INFO - REFTEST INFO | Saved log: [CONTENT] OnDocumentLoad triggering WaitForTestEnd 17:21:41 INFO - REFTEST INFO | Saved log: [CONTENT] WaitForTestEnd: Adding listeners 17:21:41 INFO - REFTEST INFO | Saved log: Initializing canvas snapshot 17:21:41 INFO - REFTEST INFO | Saved log: DoDrawWindow 0,0,800,1000 17:21:41 INFO - REFTEST INFO | Saved log: [CONTENT] MakeProgress: STATE_WAITING_TO_FIRE_INVALIDATE_EVENT 17:21:41 INFO - REFTEST INFO | Saved log: [CONTENT] MakeProgress: waiting for MozAfterPaint 17:21:41 INFO - REFTEST INFO | Saved log: [CONTENT] AfterPaintListener in file:///C:/slave/test/build/tests/reftest/tests/layout/reftests/invalidation/fractional-transform-2.html 17:21:41 INFO - REFTEST INFO | Saved log: [CONTENT] SendUpdateCanvasForEvent with 1 rects 17:21:41 INFO - REFTEST INFO | Saved log: [CONTENT] Rect: 0 0 800 1000 17:21:41 INFO - REFTEST INFO | Saved log: Updating canvas for invalidation 17:21:41 INFO - REFTEST INFO | Saved log: DoDrawWindow 0,0,800,1000 17:21:41 INFO - REFTEST INFO | Saved log: [CONTENT] MakeProgress: STATE_WAITING_TO_FIRE_INVALIDATE_EVENT 17:21:41 INFO - REFTEST INFO | Saved log: [CONTENT] MakeProgress: dispatching MozReftestInvalidate 17:21:41 INFO - REFTEST INFO | Saved log: [CONTENT] AttrModifiedListener fired 17:21:41 INFO - REFTEST INFO | Saved log: [CONTENT] MakeProgress: STATE_WAITING_FOR_REFTEST_WAIT_REMOVAL 17:21:41 INFO - REFTEST INFO | Saved log: [CONTENT] MakeProgress: STATE_WAITING_FOR_SPELL_CHECKS 17:21:41 INFO - REFTEST INFO | Saved log: [CONTENT] MakeProgress: STATE_WAITING_FOR_APZ_FLUSH 17:21:41 INFO - REFTEST INFO | Saved log: [CONTENT] MakeProgress: done requesting APZ flush 17:21:41 INFO - REFTEST INFO | Saved log: [CONTENT] MakeProgress: STATE_WAITING_FOR_APZ_FLUSH 17:21:41 INFO - REFTEST INFO | Saved log: [CONTENT] MakeProgress: apz-repaints-flushed fired 17:21:41 INFO - REFTEST INFO | Saved log: [CONTENT] MakeProgress: STATE_WAITING_TO_FINISH 17:21:41 INFO - REFTEST INFO | Saved log: [CONTENT] MakeProgress: waiting for MozAfterPaint 17:21:41 INFO - REFTEST INFO | Saved log: [CONTENT] AfterPaintListener in file:///C:/slave/test/build/tests/reftest/tests/layout/reftests/invalidation/fractional-transform-2.html 17:21:41 INFO - REFTEST INFO | Saved log: [CONTENT] SendUpdateCanvasForEvent with 1 rects 17:21:41 INFO - REFTEST INFO | Saved log: [CONTENT] Rect: 0 -197 800 1083 17:21:41 INFO - REFTEST INFO | Saved log: Updating canvas for invalidation 17:21:41 INFO - REFTEST INFO | Saved log: DoDrawWindow 0,0,800,1000 17:21:41 INFO - REFTEST INFO | Saved log: [CONTENT] MakeProgress: STATE_WAITING_TO_FINISH 17:21:41 INFO - REFTEST INFO | Saved log: [CONTENT] MakeProgress: waiting for MozAfterPaint 17:21:41 INFO - REFTEST INFO | Saved log: [CONTENT] AfterPaintListener in file:///C:/slave/test/build/tests/reftest/tests/layout/reftests/invalidation/fractional-transform-2.html 17:21:41 INFO - REFTEST INFO | Saved log: [CONTENT] SendUpdateCanvasForEvent with 1 rects 17:21:41 INFO - REFTEST INFO | Saved log: [CONTENT] Rect: 0 -617 783 3095 17:21:41 INFO - REFTEST INFO | Saved log: Updating canvas for invalidation 17:21:41 INFO - REFTEST INFO | Saved log: DoDrawWindow 0,0,783,1000 17:21:41 INFO - REFTEST INFO | Saved log: [CONTENT] MakeProgress: STATE_WAITING_TO_FINISH 17:21:41 INFO - REFTEST INFO | Saved log: [CONTENT] MakeProgress: Completed 17:21:41 INFO - REFTEST INFO | Saved log: [CONTENT] RecordResult fired 17:21:41 INFO - REFTEST INFO | Saved log: RecordResult fired 17:21:41 INFO - REFTEST INFO | Saved log: RecordResult fired
I think we need to go through all layout/reftests/invalidation/ tests that adjust the scroll position and set display ports on all of them.
Yeah I was just working on a patch to do that :) There's some tests which adjust the scroll position on a div rather than the top-level document, would those be affected too?
Attached patch PatchSplinter Review
Need to test it still. I put a displayport on the thing in masklayer-2 but not the one in paintedlayer-recycling-2.html because in that one the thing that's scrolling is a sibling of the no-paint so it shouldn't affect it.
(In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #2) > There's some tests which adjust the scroll position on a div rather than the > top-level document, would those be affected too? I think so! Though now I remember that the invalidations I was fixing were caused by two different things: Some were caused by the fact that a display item moved relative to its reference frame, and some were caused by the change in the visible region. The former can be fixed by having a constant display port. But for the latter, a constant display port will make the test not test what it was intended to test any more. For those, what we really want is to check whether a specific change of the display port dimensions causes invalidations. Not sure how to do that. Oh wait - of course it will! The display port dimensions are relative to the current scroll position! So we should just be able to set the display port to the scroll port size and we should be good. Unless the display port gets enlarged to nearest tile boundaries...
Setting the displayport-* properties sets the displayport to be relative to the scrollport, and skips the tile alignment stuff [1]. So that should basically simulate what happens with APZ off. Although thinking about it, we should probably reverse the order of the first two branches at [2] so that the rect data takes priority over displayport suppression. I'll file a bug for that. [1] http://mxr.mozilla.org/mozilla-central/source/layout/base/nsLayoutUtils.cpp?rev=565778f033af#875 [2] http://mxr.mozilla.org/mozilla-central/source/layout/base/nsLayoutUtils.cpp?rev=565778f033af#1072
Attachment #8728413 - Flags: review?(mstange)
Attachment #8728413 - Flags: review?(mstange) → review+
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla48
Comment on attachment 8735624 [details] MozReview Request: Bug 1254834 - Set the display port on the right element in fast-scrolling.html. r?kats https://reviewboard.mozilla.org/r/42877/#review39787
Attachment #8735624 - Flags: review?(bugmail.mozilla) → review+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: