Closed Bug 1662625 Opened 4 years ago Closed 3 years ago

Intermittent layout/style/test/test_transitions_per_property.html | compositor transform transition from 'matrix(-1, 0, 0, -1, 0, 0)' to 'matrix(1, 0, 0, 1, 0, 0)' at 2/3rds duration matches computed style - got matrix(-0.999993, 0.00368473, -

Categories

(Core :: CSS Transitions and Animations, defect, P5)

defect

Tracking

()

RESOLVED FIXED
Fission Milestone M8

People

(Reporter: intermittent-bug-filer, Unassigned)

References

Details

(Keywords: intermittent-failure)

Filed by: abutkovits [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer.html#?job_id=314637928&repo=mozilla-central
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/B0dPW3qrStOrUMikeprjIw/runs/0/artifacts/public/logs/live_backing.log


[task 2020-09-02T01:47:48.733Z] 01:47:48 INFO - TEST-PASS | layout/style/test/test_transitions_per_property.html | compositor transform transition from 'skewY(60deg)' to 'skewY(-60deg) translateX(0)' at 2/3rds duration matches computed style: OMTA style and computed style should be equal - OMTA matrix(1, -0.36397, 0, 1, 0, 0), computed matrix(1, -0.36397, 0, 1, 0, 0)
[task 2020-09-02T01:47:48.733Z] 01:47:48 INFO - Buffered messages finished
[task 2020-09-02T01:47:48.900Z] 01:47:48 INFO - TEST-UNEXPECTED-FAIL | layout/style/test/test_transitions_per_property.html | compositor transform transition from 'matrix(-1, 0, 0, -1, 0, 0)' to 'matrix(1, 0, 0, 1, 0, 0)' at 2/3rds duration matches computed style - got matrix(-0.999993, 0.00368473, -0.00368473, -0.999993, 0.00000762939, 0), expected matrix(0.5, 0.866025, -0.866025, 0.5, 0, 0)

Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → INCOMPLETE
Status: RESOLVED → REOPENED
Resolution: INCOMPLETE → ---

ahal hit this test timeout on a number of different platforms and retries when trying to enable mochitest-plain in fission-xorigin mode on more platforms in bug 1694835:

https://treeherder.mozilla.org/jobs?repo=try&revision=a4813c46eff128482994870bf8a06677022cee24&selectedTaskRun=fNrj_SsRSbCCYrHVNOCUQQ.0

TBD whether this existing intermittent failure is occurring more frequently with fission-xorigin mode or not.

INFO - TEST-UNEXPECTED-FAIL | layout/style/test/test_transitions_per_property.html | compositor transform transition from 'matrix(2, 0, 0, 2, 10, 20) scale(2)' to 'none' at 2/3rds duration matches computed style - got matrix(3.99988, 0, 0, 3.99988, 9.99969, 19.9994), expected matrix(1.77778, 0, 0, 1.77778, 3.33333, 6.66667) 
INFO -     SimpleTest.ok@SimpleTest/SimpleTest.js:417:16
INFO -     window.omta_is_approx@layout/style/test/animation_utils.js:627:13
INFO -     runTransformTest@layout/style/test/test_transitions_per_property.html?currentTestURL=layout%2Fstyle%2Ftest%2Ftest_transitions_per_property.html&closeWhenDone=1&showTestReport=false&expected=pass:3151:17
INFO - Not taking screenshot here: see the one that was previously logged
INFO - TEST-UNEXPECTED-FAIL | layout/style/test/test_transitions_per_property.html | compositor transform transition from 'matrix(2, 0, 0, 2, 10, 20) scale(2)' to 'none' at 2/3rds duration matches computed style: OMTA style and computed style should be equal - OMTA matrix(3.99988, 0, 0, 3.99988, 9.99969, 19.9994), computed matrix(1.77778, 0, 0, 1.77778, 3.33333, 6.66667) 
INFO -     SimpleTest.ok@SimpleTest/SimpleTest.js:417:16
INFO -     window.omta_is_approx@layout/style/test/animation_utils.js:682:15
INFO -     runTransformTest@layout/style/test/test_transitions_per_property.html?currentTestURL=layout%2Fstyle%2Ftest%2Ftest_transitions_per_property.html&closeWhenDone=1&showTestReport=false&expected=pass:3151:17
Blocks: 1700781
Fission Milestone: --- → M8

(In reply to Chris Peterson [:cpeterson] from comment #22)

ahal hit this test timeout on a number of different platforms and retries when trying to enable mochitest-plain in fission-xorigin mode on more platforms in bug 1694835:

https://treeherder.mozilla.org/jobs?repo=try&revision=a4813c46eff128482994870bf8a06677022cee24&selectedTaskRun=fNrj_SsRSbCCYrHVNOCUQQ.0

TBD whether this existing intermittent failure is occurring more frequently with fission-xorigin mode or not.

NI'ing emilio to either look into this or assign this to someone.

Flags: needinfo?(emilio)

Well, compared to the failure rates in comment 23 those don't look like intermittents at all, they look like perma-failures. I don't see any run with those tests passing unless I'm missing something?

There's also other suspicious OMTA failure that seems worth investigating (test_animations_effect_timing_duration.html).

My guess is that this one is going to be hard to look at without a pernosco trace... But maybe Hiro or Boris know off the top of their head what might be going wrong?

Component: CSS Parsing and Computation → CSS Transitions and Animations
Flags: needinfo?(emilio)

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

Well, compared to the failure rates in comment 23 those don't look like intermittents at all, they look like perma-failures. I don't see any run with those tests passing unless I'm missing something?

There's also other suspicious OMTA failure that seems worth investigating (test_animations_effect_timing_duration.html).

Yeah, I am on that bug, actually I triggered a pernosco run via the pernosco self service, but probably it couldn't catch the failure since the failure happens only on opt builds, and I haven't succeeded to reproduce the failure locally both on debug/opt builds.

My guess is that this one is going to be hard to look at without a pernosco trace... But maybe Hiro or Boris know off the top of their head what might be going wrong?

Whereas, this failure happens on debug builds, so it's probably easier to track down. NI to me.

Flags: needinfo?(hikezoe.birchill)

Okay, now I am mostly 100% sure this is an issue in our machinery to query animating values from the compositor thread which happens only on WebRender.

When we query the value, we use a pair of the pointer of nsIFrame and the display item key for the WebRender backend, and in this test case (test_transitions_per_property.html), we reuse the target animation element, thus in the failure case, it's possible that we query the value for the previous test case's transform value. You might want to say that await waitForPaints() ensures the new transition has started, but actually it's also possible that we receive a MozAfterPaint which is corresponding for a previous transaction.

Anyways, to fix this, a relatively easy fix I can think of is, generating a new element on every test. We've been using this manner in dom/animation/test.

Flags: needinfo?(hikezoe.birchill)

My "100% sure" was probably wrong. There was an issue in our animation test machinery for WebRender. I found it in bug 1658914, hopefully the fix also fixes this.

Yesterday, I push a try run with the fix for bug 1658914, it didn't fix this failure, so my guess might be correct.

Looks like we haven't had any reports of this failure on trunk in the past month -- the most recent report for autoland/mozilla-central was on April 1:
https://treeherder.mozilla.org/intermittent-failures/bugdetails?bug=1662625&startday=2021-01-01&endday=2021-05-04&tree=all

(There was one more-recent report on 4/8, but that was on beta, FWIW.)

So it looks like something probably landed that fixed this. Calling it FIXED, please reopen if I'm misunderstanding or if we get new reports.

Status: REOPENED → RESOLVED
Closed: 3 years ago3 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.