Closed Bug 1334982 Opened 8 years ago Closed 8 years ago

stylo: layout/style/crashtests/861489-1.html fatally asserts with "aRestyleHint == 0"

Categories

(Core :: CSS Parsing and Computation, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla54
Tracking Status
firefox54 --- fixed

People

(Reporter: heycam, Assigned: hiro)

References

Details

Attachments

(1 file)

Assertion failure: aRestyleHint == 0, at /home/worker/workspace/build/src/layout/base/ServoRestyleManager.cpp:53
#01: nsIPresShell::RestyleForAnimation [layout/base/PresShell.cpp:2988]
#02: mozilla::EffectCompositor::RequestRestyle [dom/animation/EffectCompositor.cpp:274]
#03: mozilla::dom::Animation::PostUpdate [mfbt/Maybe.h:94]
#04: nsAnimationManager::BuildAnimations [layout/style/nsAnimationManager.h:144]
#05: nsAnimationManager::UpdateAnimations [xpcom/ds/nsTArray.h:515]
#06: mozilla::ServoStyleSet::GetContext [mfbt/AlreadyAddRefed.h:67]
#07: mozilla::ServoStyleSet::GetContext [layout/style/ServoStyleSet.cpp:140]
#08: mozilla::ServoStyleSet::ResolveStyleFor [layout/style/ServoStyleSet.cpp:118]
#09: mozilla::ServoStyleSet::ResolveStyleFor [layout/style/ServoStyleSet.cpp:189]
#10: nsCSSFrameConstructor::ResolveStyleContext [layout/style/StyleSetHandleInlines.h:94]
#11: nsCSSFrameConstructor::ResolveStyleContext [layout/base/nsCSSFrameConstructor.cpp:4984]
#12: nsCSSFrameConstructor::ResolveStyleContext [layout/base/nsCSSFrameConstructor.cpp:5001]
#13: nsCSSFrameConstructor::AddFrameConstructionItems [layout/base/nsCSSFrameConstructor.cpp:5631]
#14: nsCSSFrameConstructor::ProcessChildren [layout/base/nsCSSFrameConstructor.cpp:10850]
#15: nsCSSFrameConstructor::ConstructBlock [layout/base/nsCSSFrameConstructor.cpp:11877]
#16: nsCSSFrameConstructor::ConstructNonScrollableBlockWithConstructor [layout/base/nsCSSFrameConstructor.cpp:4926]
#17: nsCSSFrameConstructor::ConstructNonScrollableBlock [layout/base/nsCSSFrameConstructor.cpp:4887]
#18: nsCSSFrameConstructor::ConstructFrameFromItemInternal [layout/base/nsCSSFrameConstructor.cpp:3859]
#19: nsCSSFrameConstructor::ConstructFramesFromItem [layout/base/nsCSSFrameConstructor.cpp:6168]
#20: nsCSSFrameConstructor::ConstructFramesFromItemList [layout/base/nsCSSFrameConstructor.cpp:10654]
#21: nsCSSFrameConstructor::ContentAppended [layout/base/nsCSSFrameConstructor.cpp:7516]
#22: nsCSSFrameConstructor::CreateNeededFrames [layout/base/nsCSSFrameConstructor.cpp:7139]
#23: nsCSSFrameConstructor::CreateNeededFrames [layout/base/nsCSSFrameConstructor.cpp:7142]
#24: nsCSSFrameConstructor::CreateNeededFrames [layout/base/nsCSSFrameConstructor.cpp:7160]
#25: mozilla::ServoRestyleManager::ProcessPendingRestyles [layout/base/ServoRestyleManager.cpp:344]
#26: mozilla::PresShell::FlushPendingNotifications [layout/base/PresShell.cpp:4172]
#27: mozilla::PresShell::FlushPendingNotifications [layout/base/PresShell.cpp:4063]
#28: nsDocument::FlushPendingNotifications [dom/base/nsDocument.cpp:7952]
#29: nsDocLoader::DocLoaderIsEmpty [uriloader/base/nsDocLoader.cpp:685]
#30: nsDocLoader::OnStopRequest [uriloader/base/nsDocLoader.cpp:613]
#31: mozilla::net::nsLoadGroup::RemoveRequest [netwerk/base/nsLoadGroup.cpp:635]
#32: nsDocument::DoUnblockOnload [dom/base/nsDocument.cpp:8806]
#33: nsDocument::UnblockOnload [dom/base/nsDocument.cpp:8731]
#34: nsDocument::DispatchContentLoadedEvents [dom/base/nsDocument.cpp:5186]
#35: mozilla::detail::RunnableMethodImpl<nsDocument*, void (nsDocument::*)(), true, false>::Run [xpcom/threads/nsThreadUtils.h:870]
Flags: needinfo?(hikezoe)
I was in the pitfall of bug 1334938 when I checked the try before landing bug 1328787.  We shouldn't replace restyle hints while we are in process of restyling.

https://treeherder.mozilla.org/#/jobs?repo=try&revision=18e9483aad20ea28e1579f8e698560062b685434
Flags: needinfo?(hikezoe)
(In reply to Hiroyuki Ikezoe (:hiro) from comment #1)
> https://treeherder.mozilla.org/#/
> jobs?repo=try&revision=18e9483aad20ea28e1579f8e698560062b685434

The try on debug build, layout/style/crashtests/1333001-1.html raised 5 assertions instead of 4.  I can't reproduce the 5 assertions locally. The extra assertion is:

[task 2017-01-30T23:25:11.473034Z] 23:25:11     INFO - [Child 1115] ###!!! ASSERTION: Need to flush before destroying!: 'mEntryList.empty()', file /home/worker/workspace/build/src/obj-firefox/dist/include/mozilla/OverflowChangedTracker.h, line 43

I don't know why, but I think it's not related to animation restyling.
Assignee: nobody → hikezoe
Status: NEW → ASSIGNED
Hmmm, too many animation-related mochitests are affected by this issue... I decide to cherry-pick the patch here rather than tagging skip-if on them.
Comment on attachment 8831872 [details]
Bug 1334982 - Convert animation restyle hints only if we are not in process of restyling.

https://reviewboard.mozilla.org/r/108376/#review109516
Attachment #8831872 - Flags: review?(cam) → review+
Pushed by hikezoe@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/b5508d5a8ca0
Convert animation restyle hints only if we are not in process of restyling. r=heycam
https://hg.mozilla.org/mozilla-central/rev/b5508d5a8ca0
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla54
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: