Closed Bug 1245830 Opened 8 years ago Closed 8 years ago

Intermittent e10s test_layerization.html | inner3 becomes layerized after scroll

Categories

(Core :: Panning and Zooming, defect)

All
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla47
Tracking Status
e10s + ---
firefox47 --- fixed

People

(Reporter: kats, Assigned: kats)

References

(Blocks 1 open bug)

Details

(Keywords: intermittent-failure)

Attachments

(1 file)

This started popping up on Linux debug builds after I landed bug 990916, and is almost definitely a regression from that. Bug 1245285 took the heat for it and got backed out. I'm filing this as an intermittent because I'm pretty sure the backout won't actually fix the intermittent, and anyway I need somewhere to put the patch to fix this intermittent.

I'm pretty sure (at least in the "inner3 becomes layerized after scroll" case) what's happening is that it gets inner3 gets layerized and then the displayport expires and it becomes unlayerized, all before our 100ms setTimeout expires. This is quite plausible on a debug build, because they are slower. Not yet sure about the "test timed out" scenario.
Summary: Intermittent e10s test_layerization.html | test timed out or inner3 becomes layerized after scroll → Intermittent e10s test_layerization.html | test timed out | inner3 becomes layerized after scroll
Blocks: e10s-tests
tracking-e10s: --- → +
So what's happening with the "inner3 becomes layerized after scroll" failure is that it gets layerized and expires before the setTimeout in the test expires. It's basically a race condition. I think we don't really need to ensure that inner3 gets layerized, because the first half of the test already ensures that the layerization machinery works. Additionally, if outer3 becomes unlayerized then we know that this code is working as intended.
Attachment #8716331 - Flags: review?(botond)
For the "test timed out" cases (e.g. [1]) it looks like the scrollWheelOver call on inner3 isn't triggering a scroll event. From the screenshot it looks like inner3 didn't even get scrolled. I'm not sure why that happens, it should be no different than the scrollWheelOver(inner4) that happens earlier in the test and that hasn't been failing.

[1] https://treeherder.mozilla.org/logviewer.html#?job_id=21078772&repo=mozilla-inbound
(In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #2)
> Created attachment 8716331 [details] [diff] [review]
> Don't assert inner3 layerization
> 
> So what's happening with the "inner3 becomes layerized after scroll" failure
> is that it gets layerized and expires before the setTimeout in the test
> expires.

I'm not following this - the assertion that inner3 is layerized happens *before* any setTimeout calls in that part of the test.
Err sorry - basically the waitForAllPaints/flushApzRepaints block can take arbitrarily long. It imposes a minimum bound on the time, but no upper bound. Another way of looking at it is that the setTimeout at [1] is the one that takes a really long time. There's other places in that waitForAllPaints/flushApzRepaints block that could also eat up time because of async messages.

[1] http://hg.mozilla.org/mozilla-central/file/c1e7b164b6f5/gfx/layers/apz/test/mochitest/apz_test_utils.js#l109
Comment on attachment 8716331 [details] [diff] [review]
Don't assert inner3 layerization

Review of attachment 8716331 [details] [diff] [review]:
-----------------------------------------------------------------

Thanks, that makes more sense.
Attachment #8716331 - Flags: review?(botond) → review+
https://hg.mozilla.org/mozilla-central/rev/43099ff72249
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla47
Blocks: 1246480
Summary: Intermittent e10s test_layerization.html | test timed out | inner3 becomes layerized after scroll → Intermittent e10s test_layerization.html | inner3 becomes layerized after scroll
I'm trying to uplift this to aurora to fix up e10s tests on that branch. Hitting conflicts with this one, likely because bug 990916 wasn't uplifted. Happy to come back to this if that gets uplifted, though.
Flags: needinfo?(bugmail.mozilla)
This is a regression from bug 990916, so you probably don't need it on aurora. If you are seeing this intermittent on aurora let me know because I'd be interested to figure out why it's happening there.
Flags: needinfo?(bugmail.mozilla)
It was just one on a list of bugs relman put together for things that might need uplifting. If 990916 isn't on 46, I'm happy to leave this on 47 with it.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: