Closed Bug 1012527 Opened 10 years ago Closed 10 years ago

"ASSERTION: Why did this not get handled while processing mRestyleRoots?" when setting style.overflow = "scroll" and waiting for paints

Categories

(Core :: Layout, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: birtles, Unassigned)

References

Details

Attachments

(2 files)

Attached file test_me.html (deleted) —
With the attached test case running on the build machines I consistently get the following assertion twice on the B2G ICS emulator debug build:

05:35:00     INFO -  [Child 726] ###!!! ASSERTION: Why did this not get handled while processing mRestyleRoots?: '!element->HasFlag(collector->tracker->RootBit()) || (element->GetFlattenedTreeParent() && (!element->GetFlattenedTreeParent()->GetPrimaryFrame()|| element->GetFlattenedTreeParent()->GetPrimaryFrame()->IsLeaf())) || (aData.mChangeHint & nsChangeHint_ReconstructFrame)', file ../../../gecko/layout/base/RestyleTracker.cpp, line 87

Example try run:
https://tbpl.mozilla.org/?tree=Try&rev=a8052dcec743

The attached test case basically:

1. Sets style.overflow = "scroll"
2. Waits for paints
3. Sets style.overflow = ""
Attached patch reducedTest (deleted) — Splinter Review
Test packages up as a mochitest patch
I'll add that I cannot reproduce these assertions on a local emulator debug build, only on try server.
My patches in bug 931668 solve this.  At least, they cause the assertions not to fire (i.e. we end up restyling the appropriate restyle roots).  I haven't looked into why this should only fire on B2G emulator builds.  The bug 931668 patches track restyle roots and explicitly restyle them if we end up not restyling them for whatever reason (in bug 931668, this is due to the added optimisation of stopping a restyle early, but for this bug it's probably accidentally not getting to the restyle root because of some bad assumptions about the frame tree / style context tree structure).
Depends on: 931668
Here's a try push where test_animations_omta.html now fails due to not triggering the assertion: https://tbpl.mozilla.org/?tree=Try&rev=c49f231897a4
\o/ Thanks Cameron!
Fixed with bug 931668 landed.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: