Closed Bug 1332922 Opened 7 years ago Closed 7 years ago

Intermittent dom/base/test/test_intersectionobservers.html | supports CSS transitions and transforms [observe] - got +0, expected 1

Categories

(Core :: Layout, defect)

defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 1359317
Tracking Status
firefox53 --- wontfix
firefox54 --- wontfix
firefox55 --- affected

People

(Reporter: aryx, Unassigned)

References

Details

(Keywords: intermittent-failure)

Attachments

(1 file)

https://treeherder.mozilla.org/logviewer.html#?job_id=71001990&repo=mozilla-inbound

[task 2017-01-22T07:32:29.941503Z] 07:32:29     INFO - TEST-PASS | dom/base/test/test_intersectionobservers.html | handles root/target elements not yet in the DOM [observe] 
[task 2017-01-22T07:32:29.943830Z] 07:32:29     INFO - TEST-PASS | dom/base/test/test_intersectionobservers.html | handles root/target elements not yet in the DOM [observe] 
[task 2017-01-22T07:32:29.946297Z] 07:32:29     INFO - TEST-PASS | dom/base/test/test_intersectionobservers.html | handles sub-root element scrolling [observe] 
[task 2017-01-22T07:32:29.948461Z] 07:32:29     INFO - TEST-PASS | dom/base/test/test_intersectionobservers.html | handles sub-root element scrolling [observe] 
[task 2017-01-22T07:32:29.950607Z] 07:32:29     INFO - TEST-PASS | dom/base/test/test_intersectionobservers.html | supports CSS transitions and transforms [observe] 
[task 2017-01-22T07:32:29.954550Z] 07:32:29     INFO - Buffered messages finished
[task 2017-01-22T07:32:29.968681Z] 07:32:29     INFO - TEST-UNEXPECTED-FAIL | dom/base/test/test_intersectionobservers.html | supports CSS transitions and transforms [observe] - got +0, expected 1
[task 2017-01-22T07:32:29.968907Z] 07:32:29     INFO -     SimpleTest.is@SimpleTest/SimpleTest.js:271:5
[task 2017-01-22T07:32:29.970328Z] 07:32:29     INFO -     fn@dom/base/test/test_intersectionobservers.html:94:13
[task 2017-01-22T07:32:29.970583Z] 07:32:29     INFO -     io<@dom/base/test/test_intersectionobservers.html:873:11
[task 2017-01-22T07:32:29.970826Z] 07:32:29     INFO -     IntersectionCallback*@dom/base/test/test_intersectionobservers.html:871:14
[task 2017-01-22T07:32:29.971944Z] 07:32:29     INFO -     next@dom/base/test/test_intersectionobservers.html:144:9
[task 2017-01-22T07:32:29.972218Z] 07:32:29     INFO -     next/<@dom/base/test/test_intersectionobservers.html:146:11
[task 2017-01-22T07:32:29.973524Z] 07:32:29     INFO -     io<@dom/base/test/test_intersectionobservers.html:856:11
[task 2017-01-22T07:32:29.974998Z] 07:32:29     INFO -     IntersectionCallback*@dom/base/test/test_intersectionobservers.html:853:14
[task 2017-01-22T07:32:29.976816Z] 07:32:29     INFO -     next@dom/base/test/test_intersectionobservers.html:144:9
[task 2017-01-22T07:32:29.978589Z] 07:32:29     INFO -     next/<@dom/base/test/test_intersectionobservers.html:146:11
[task 2017-01-22T07:32:29.980514Z] 07:32:29     INFO -     runSequence@dom/base/test/test_intersectionobservers.html:1097:15
[task 2017-01-22T07:32:29.982462Z] 07:32:29     INFO -     runSequence/<@dom/base/test/test_intersectionobservers.html:1094:9
[task 2017-01-22T07:32:29.984681Z] 07:32:29     INFO -     @dom/base/test/test_intersectionobservers.html:845:15
[task 2017-01-22T07:32:29.986799Z] 07:32:29     INFO -     fn@dom/base/test/test_intersectionobservers.html:165:11
[task 2017-01-22T07:32:29.988839Z] 07:32:29     INFO -     IntersectionCallback*@dom/base/test/test_intersectionobservers.html:790:14
[task 2017-01-22T07:32:29.992834Z] 07:32:29     INFO -     next@dom/base/test/test_intersectionobservers.html:144:9
[task 2017-01-22T07:32:29.994613Z] 07:32:29     INFO -     next/<@dom/base/test/test_intersectionobservers.html:146:11
[task 2017-01-22T07:32:29.997680Z] 07:32:29     INFO -     io<@dom/base/test/test_intersectionobservers.html:773:11
[task 2017-01-22T07:32:29.999139Z] 07:32:29     INFO -     IntersectionCallback*@dom/base/test/test_intersectionobservers.html:770:14
[task 2017-01-22T07:32:30.000569Z] 07:32:29     INFO -     next@dom/base/test/test_intersectionobservers.html:144:9
[task 2017-01-22T07:32:30.002069Z] 07:32:30     INFO -     next/<@dom/base/test/test_intersectionobservers.html:146:11
[task 2017-01-22T07:32:30.003742Z] 07:32:30     INFO -     runSequence@dom/base/test/test_intersectionobservers.html:1097:15
[task 2017-01-22T07:32:30.005656Z] 07:32:30     INFO -     runSequence/<@dom/base/test/test_intersectionobservers.html:1094:9
[task 2017-01-22T07:32:30.009084Z] 07:32:30     INFO -     @dom/base/test/test_intersectionobservers.html:759:15
[task 2017-01-22T07:32:30.011476Z] 07:32:30     INFO -     fn@dom/base/test/test_intersectionobservers.html:165:11
[task 2017-01-22T07:32:30.013367Z] 07:32:30     INFO -     IntersectionCallback*@dom/base/test/test_intersectionobservers.html:695:14
[task 2017-01-22T07:32:30.015138Z] 07:32:30     INFO -     next@dom/base/test/test_intersectionobservers.html:144:9
[task 2017-01-22T07:32:30.017039Z] 07:32:30     INFO -     next/<@dom/base/test/test_intersectionobservers.html:146:11
[task 2017-01-22T07:32:30.018996Z] 07:32:30     INFO -     runSequence@dom/base/test/test_intersectionobservers.html:1097:15
[task 2017-01-22T07:32:30.024528Z] 07:32:30     INFO -     runSequence/<@dom/base/test/test_intersectionobservers.html:1094:9
[task 2017-01-22T07:32:30.026391Z] 07:32:30     INFO -     io<@dom/base/test/test_intersectionobservers.html:680:15
[task 2017-01-22T07:32:30.028580Z] 07:32:30     INFO -     IntersectionCallback*@dom/base/test/test_intersectionobservers.html:670:18
[task 2017-01-22T07:32:30.030117Z] 07:32:30     INFO -     runSequence@dom/base/test/test_intersectionobservers.html:1093:7
[task 2017-01-22T07:32:30.032277Z] 07:32:30     INFO -     runSequence/<@dom/base/test/test_intersectionobservers.html:1094:9
[task 2017-01-22T07:32:30.034761Z] 07:32:30     INFO -     io<@dom/base/test/test_intersectionobservers.html:661:15
[task 2017-01-22T07:32:30.038168Z] 07:32:30     INFO -     IntersectionCallback*@dom/base/test/test_intersectionobservers.html:653:18
[task 2017-01-22T07:32:30.039881Z] 07:32:30     INFO -     runSequence@dom/base/test/test_intersectionobservers.html:1093:7
[task 2017-01-22T07:32:30.041662Z] 07:32:30     INFO -     runSequence/<@dom/base/test/test_intersectionobservers.html:1094:9
[task 2017-01-22T07:32:30.043736Z] 07:32:30     INFO -     io<@dom/base/test/test_intersectionobservers.html:644:15
[task 2017-01-22T07:32:30.045772Z] 07:32:30     INFO -     IntersectionCallback*@dom/base/test/test_intersectionobservers.html:634:18
[task 2017-01-22T07:32:30.047872Z] 07:32:30     INFO -     runSequence@dom/base/test/test_intersectionobservers.html:1093:7
[task 2017-01-22T07:32:30.050402Z] 07:32:30     INFO -     runSequence/<@dom/base/test/test_intersectionobservers.html:1094:9
[task 2017-01-22T07:32:30.051805Z] 07:32:30     INFO -     io<@dom/base/test/test_intersectionobservers.html:625:15
[task 2017-01-22T07:32:30.055369Z] 07:32:30     INFO -     IntersectionCallback*@dom/base/test/test_intersectionobservers.html:613:18
[task 2017-01-22T07:32:30.057383Z] 07:32:30     INFO -     runSequence@dom/base/test/test_intersectionobservers.html:1093:7
[task 2017-01-22T07:32:30.060759Z] 07:32:30     INFO -     @dom/base/test/test_intersectionobservers.html:611:9
[task 2017-01-22T07:32:30.062193Z] 07:32:30     INFO -     next@dom/base/test/test_intersectionobservers.html:144:9
[task 2017-01-22T07:32:30.063965Z] 07:32:30     INFO -     next/<@dom/base/test/test_intersectionobservers.html:146:11
[task 2017-01-22T07:32:30.066132Z] 07:32:30     INFO -     runSequence@dom/base/test/test_intersectionobservers.html:1097:15
[task 2017-01-22T07:32:30.073150Z] 07:32:30     INFO -     runSequence/<@dom/base/test/test_intersectionobservers.html:1094:9
[task 2017-01-22T07:32:30.074847Z] 07:32:30     INFO -     @dom/base/test/test_intersectionobservers.html:592:15
[task 2017-01-22T07:32:30.076616Z] 07:32:30     INFO -     fn@dom/base/test/test_intersectionobservers.html:165:11
[task 2017-01-22T07:32:30.078432Z] 07:32:30     INFO -     IntersectionCallback*@dom/base/test/test_intersectionobservers.html:512:14
[task 2017-01-22T07:32:30.081627Z] 07:32:30     INFO -     next@dom/base/test/test_intersectionobservers.html:144:9
[task 2017-01-22T07:32:30.083482Z] 07:32:30     INFO -     next/<@dom/base/test/test_intersectionobservers.html:146:11
[task 2017-01-22T07:32:30.085285Z] 07:32:30     INFO -     runSequence@dom/base/test/test_intersectionobservers.html:1097:15
[task 2017-01-22T07:32:30.088960Z] 07:32:30     INFO -     runSequence/<@dom/base/test/test_intersectionobservers.html:1094:9
[task 2017-01-22T07:32:30.090557Z] 07:32:30     INFO -     @dom/base/test/test_intersectionobservers.html:500:15
[task 2017-01-22T07:32:30.092339Z] 07:32:30     INFO -     fn@dom/base/test/test_intersectionobservers.html:165:11
[task 2017-01-22T07:32:30.094615Z] 07:32:30     INFO -     IntersectionCallback*@dom/base/test/test_intersectionobservers.html:462:14
[task 2017-01-22T07:32:30.096737Z] 07:32:30     INFO -     next@dom/base/test/test_intersectionobservers.html:144:9
[task 2017-01-22T07:32:30.098649Z] 07:32:30     INFO -     next/<@dom/base/test/test_intersectionobservers.html:146:11
[task 2017-01-22T07:32:30.102403Z] 07:32:30     INFO -     runSequence@dom/base/test/test_intersectionobservers.html:1097:15
[task 2017-01-22T07:32:30.105851Z] 07:32:30     INFO -     runSequence/<@dom/base/test/test_intersectionobservers.html:1094:9
[task 2017-01-22T07:32:30.107660Z] 07:32:30     INFO -     @dom/base/test/test_intersectionobservers.html:452:15
[task 2017-01-22T07:32:30.109504Z] 07:32:30     INFO -     fn@dom/base/test/test_intersectionobservers.html:165:11
[task 2017-01-22T07:32:30.111310Z] 07:32:30     INFO -     IntersectionCallback*@dom/base/test/test_intersectionobservers.html:422:14
Attached file transform test case
I've hit this issue, but it's not intermittent for me - I consistently see incorrect intersection rects when a CSS transform is present.
See Also: → 1324135
(In reply to David Eckel from comment #1)
> Created attachment 8853597 [details]
> transform test case
> 
> I've hit this issue, but it's not intermittent for me - I consistently see
> incorrect intersection rects when a CSS transform is present.

Actually, the intersection rects are correct when the intersection is reported in your test case:

 container positionWiggle visible DOMRect { x: 820, y: 538.86669921875, 
                                            width: 200, height: 1.133331298828125, 
                                            top: 538.86669921875, right: 1020, bottom: 540.0000305175781, left: 820 } 


 container translateWiggle visible DOMRect { x: 320, y: 539,
                                             width: 200, height: 1, 
                                             top: 539, right: 520, bottom: 540, left: 320 } 

The issue is that both Blink and Gecko optimize animated translations where the animation occurs on a separate compositor thread. The animation thread updates the main thread periodically (every 200ms, in the Gecko case) and computed style information gets updated at that same interval. IntersectionObserver is notified of intersections at that same interval. You can see this variance when changing the animation from 4s to 1s.
(In reply to Jet Villegas (:jet) from comment #2)
> The issue is that both Blink and Gecko optimize animated translations where
> the animation occurs on a separate compositor thread. The animation thread
> updates the main thread periodically (every 200ms, in the Gecko case) and
> computed style information gets updated at that same interval.
> IntersectionObserver is notified of intersections at that same interval. You
> can see this variance when changing the animation from 4s to 1s.

Actually, this is incorrect. The intersection geometry update doesn't depend on timing in this test case. It seems more like an issue with the computation for intersectionRectRelativeToContainer in DOMIntersectionObserver::Update(). 

In any case, I think this is a different bug from the intermittent test failure reported by the automated tests.

Tobias: can you file a new bug for this one?
Flags: needinfo?(tschneider)
Depends on: 1359317
Flags: needinfo?(tschneider)
Fixed via Bug 1359317.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Resolution: FIXED → DUPLICATE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: