Assertion failure: !HaveChildren() || (mDependentBits & 0x01000000) (SetIsAnimationRule must only set the IS_ANIMATION_RULE bit before the rule node has children)

RESOLVED WONTFIX

Status

()

P3
normal
RESOLVED WONTFIX
2 years ago
7 months ago

People

(Reporter: truber, Unassigned)

Tracking

(Blocks: 2 bugs, {assertion, testcase})

Trunk
assertion, testcase
Points:
---
Dependency tree / graph
Bug Flags:
in-testsuite ?

Firefox Tracking Flags

(firefox-esr52 unaffected, firefox54 wontfix, firefox56 wontfix, firefox57 fixed, firefox58 fixed)

Details

(Whiteboard: [fixed by stylo])

Attachments

(1 attachment)

Created attachment 8842000 [details]
testcase.html

The attached testcase causes an assertion failure in mozilla-central rev 5d1ebf7782df.

Assertion failure: !HaveChildren() || (mDependentBits & 0x01000000) (SetIsAnimationRule must only set the IS_ANIMATION_RULE bit before the rule node has children), at /home/worker/workspace/build/src/layout/style/nsRuleNode.h:840
#01: nsStyleSet::RuleNodeWithReplacement at layout/style/nsStyleSet.cpp:1599
#02: nsStyleSet::ResolveStyleWithReplacement at mfbt/RefPtr.h:283
#03: mozilla::ElementRestyler::RestyleSelf at layout/base/GeckoRestyleManager.cpp:2495
#04: mozilla::ElementRestyler::Restyle at layout/base/GeckoRestyleManager.cpp:1809
#05: mozilla::ElementRestyler::ComputeStyleChangeFor at layout/base/GeckoRestyleManager.cpp:3073
#06: mozilla::GeckoRestyleManager::ComputeAndProcessStyleChange at layout/base/GeckoRestyleManager.cpp:3486
#07: mozilla::GeckoRestyleManager::RestyleElement at layout/base/GeckoRestyleManager.cpp:153
#08: mozilla::RestyleTracker::ProcessOneRestyle at layout/base/RestyleTracker.cpp:96
#09: mozilla::RestyleTracker::DoProcessRestyles at layout/base/RestyleTracker.cpp:264
#10: mozilla::GeckoRestyleManager::ProcessPendingRestyles at layout/base/GeckoRestyleManager.cpp:507
#11: mozilla::GeckoRestyleManager::RebuildAllStyleData at layout/base/GeckoRestyleManager.cpp:375
#12: CharSetChangingRunnable::Run at layout/base/nsPresContext.cpp:133
#13: nsThread::ProcessNextEvent at mfbt/Maybe.h:445
Flags: in-testsuite?
(Reporter)

Updated

2 years ago
Blocks: 1334591
Priority: -- → P3
I can't reproduce this on trunk (or on builds from around the time it got filed for that matter). Can you still reproduce, Jesse?
status-firefox54: affected → wontfix
Flags: needinfo?(jschwartzentruber)
I guess that's because stylo is enabled by default, this assertion happens only if stylo is disabled, IIUC.
Heh, I mid-aired on you about to say the same thing :)

I was able to reproduce when running the testcase locally after all, but as you said, only with Stylo disabled. Given the high likelihood of that shipping in 57 and the unlikelihood of anybody fixing this bug for the non-Stylo case, should we just close this out?
(In reply to Ryan VanderMeulen [:RyanVM] from comment #3)
> Heh, I mid-aired on you about to say the same thing :)
> 
> I was able to reproduce when running the testcase locally after all, but as
> you said, only with Stylo disabled. Given the high likelihood of that
> shipping in 57 and the unlikelihood of anybody fixing this bug for the
> non-Stylo case, should we just close this out?

Yeah, we (I) have no time to fix this in 57, we can also close this once stylo ships on Android too (if this bug still persists until that time. :-) ).
(Reporter)

Comment 5

a year ago
Thanks for figuring this out. Disabling stylo would have been my guess too.
Flags: needinfo?(jschwartzentruber)
Has Regression Range: --- → no
status-firefox56: --- → wontfix
status-firefox57: --- → fixed
status-firefox58: --- → fixed
status-firefox-esr52: --- → unaffected
Whiteboard: [fixed by stylo]
We no longer have the old style system.
Status: NEW → RESOLVED
Last Resolved: 7 months ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.