Closed Bug 822766 Opened 11 years ago Closed 11 years ago

"ASSERTION: can't call on root" (ReplaceAnimationRule calling nsRuleNode::GetLevel)

Categories

(Core :: CSS Parsing and Computation, defect)

x86_64
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla20

People

(Reporter: jruderman, Assigned: bzbarsky)

References

Details

(Keywords: assertion, testcase)

Attachments

(3 files)

Attached file testcase
###!!! ASSERTION: can't call on root: '!IsRoot()', file layout/style/nsRuleNode.h, line 650
Attached file stack
Hmm.  Seems like this would get hit if aOldAnimRule is the least-specific rule involved, right?
Blocks: 653645
Though it's not quite clear to me how you can end up with an animation rule that's least-specific if the animation comes from author rules...
In this case, when ReplaceAnimationRule is called aOldRuleNode is a rulenode for an animation rule and its parent is the root, and aNewAnimationRule is null, so it all makes sense.
Assignee: nobody → bzbarsky
Whiteboard: [need review]
Comment on attachment 694527 [details] [diff] [review]
Be a bit more careful with our level assert in ReplaceAnimationRule.

r=dbaron

I presume you tested the crashtest aborted without the patch?
Attachment #694527 - Flags: review?(dbaron) → review+
It doesn't abort, but it does assert without the patch, so fails tests.
https://hg.mozilla.org/integration/mozilla-inbound/rev/079d46ec65d2
Flags: in-testsuite+
Whiteboard: [need review]
Target Milestone: --- → mozilla20
https://hg.mozilla.org/mozilla-central/rev/079d46ec65d2
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: