Closed
Bug 1386864
Opened 7 years ago
Closed 7 years ago
stylo: Assertion failure: IsResolved() (Resolve() must be called first), at /home/ikezoe/autoland/layout/style/nsStyleStruct.h:355
Categories
(Core :: CSS Parsing and Computation, defect, P2)
Core
CSS Parsing and Computation
Tracking
()
RESOLVED
FIXED
mozilla57
Tracking | Status | |
---|---|---|
firefox-esr52 | --- | unaffected |
firefox55 | --- | wontfix |
firefox56 | --- | wontfix |
firefox57 | --- | fixed |
People
(Reporter: hiro, Assigned: u459114)
References
Details
Attachments
(2 files)
Happens while running test_transitions_per_property.html
Updated•7 years ago
|
Priority: -- → P2
Updated•7 years ago
|
Comment 1•7 years ago
|
||
This is a regression, but I'm not sure where is this from. Unfortunately, if we don't fix this, we cannot enable test_transitions_per_property.html.
Reporter | ||
Comment 2•7 years ago
|
||
Yeah, it's really unfortunate. We definitely should run test_transitions_per_property.html to avoid this kind of regressions.
Comment 3•7 years ago
|
||
call stack
GECKO(15097) | Assertion failure: IsResolved() (Resolve() must be called first), at ./layout/style/nsStyleStruct.h:355
GECKO(15097) | #01: AddAndRemoveImageAssociations(nsFrame*, nsStyleImageLayers const*, nsStyleImageLayers const*) (nsStyleStruct.h:543, in XUL)
GECKO(15097) | #02: nsFrame::DidSetStyleContext(nsStyleContext*) (nsFrame.cpp:922, in XUL)
GECKO(15097) | #03: nsIFrame::SetStyleContext(nsStyleContext*) (nsStyleContext.h:81, in XUL)
GECKO(15097) | #04: mozilla::ServoRestyleManager::ProcessPostTraversal(mozilla::dom::Element*, mozilla::ServoStyleContext*, mozilla::ServoRestyleState&, mozilla::ServoTraversalFlags) (ServoRestyleManager.cpp:657, in XUL)
GECKO(15097) | #05: mozilla::ServoRestyleManager::ProcessPostTraversal(mozilla::dom::Element*, mozilla::ServoStyleContext*, mozilla::ServoRestyleState&, mozilla::ServoTraversalFlags) (ServoRestyleManager.cpp:714, in XUL)
GECKO(15097) | #06: mozilla::ServoRestyleManager::ProcessPostTraversal(mozilla::dom::Element*, mozilla::ServoStyleContext*, mozilla::ServoRestyleState&, mozilla::ServoTraversalFlags) (ServoRestyleManager.cpp:714, in XUL)
GECKO(15097) | #07: mozilla::ServoRestyleManager::ProcessPostTraversal(mozilla::dom::Element*, mozilla::ServoStyleContext*, mozilla::ServoRestyleState&, mozilla::ServoTraversalFlags) (ServoRestyleManager.cpp:714, in XUL)
GECKO(15097) | #08: mozilla::ServoRestyleManager::DoProcessPendingRestyles(mozilla::ServoTraversalFlags) (ServoRestyleManager.cpp:925, in XUL)
GECKO(15097) | #09: mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) (ServoRestyleManager.cpp:996, in XUL)
GECKO(15097) | #10: nsDocument::FlushPendingNotifications(mozilla::FlushType) (nsDocument.h:1025, in XUL)
GECKO(15097) | #11: nsComputedDOMStyle::UpdateCurrentStyleSources(bool) (nsComputedDOMStyle.cpp:807, in XUL)
GECKO(15097) | #12: nsComputedDOMStyle::GetPropertyCSSValue(nsAString const&, mozilla::ErrorResult&) (nsComputedDOMStyle.cpp:1011, in XUL)
GECKO(15097) | #13: nsComputedDOMStyle::GetPropertyValue(nsAString const&, nsAString&) (AlreadyAddRefed.h:121, in XUL)
GECKO(15097) | #14: mozilla::dom::CSSStyleDeclarationBinding::getPropertyValue(JSContext*, JS::Handle<JSObject*>, nsICSSDeclaration*, JSJitMethodCallArgs const&) (nsICSSDeclaration.h:126, in XUL)
GECKO(15097) | #15: mozilla::dom::GenericBindingMethod(JSContext*, unsigned int, JS::Value*) (BindingUtils.cpp:3055, in XUL)
Comment 4•7 years ago
|
||
This happened while running "transitions not supported for property mask-image"
CJ, do you have any suggestion for this assertion, e.g. any possible idea?
Flags: needinfo?(cku)
Comment 5•7 years ago
|
||
Hi, CJ,
And this assertion happened in this line [1], the |prop| is "mask-image", |val| is
"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAKElEQVR42u3NQQ0AAAgEoNP+nTWFDzcoQE1udQQCgUAgEAgEAsGTYAGjxAE/G/Q2tQAAAABJRU5ErkJggg==), none"
[1] http://searchfox.org/mozilla-central/rev/30a47c4339bd397b937abdb2305f99d3bb537ba6/layout/style/test/test_transitions_per_property.html#987
Comment 6•7 years ago
|
||
Looks like you know how to fix it, so assign to you. Thanks, CJ. :)
Assignee: nobody → cku
Flags: needinfo?(cku)
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment 9•7 years ago
|
||
Thanks you ~~~~~~~~
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Attachment #8893713 -
Flags: review?(cam)
Attachment #8893714 -
Flags: review?(cam)
Comment 12•7 years ago
|
||
I had verified these patches by test_transitions_per_property.html
Comment 13•7 years ago
|
||
mozreview-review |
Comment on attachment 8893713 [details]
Bug 1386864 - Part 1. Compare image-data of two style-image objects only if both of them are resolved.
https://reviewboard.mozilla.org/r/164826/#review170484
Attachment #8893713 -
Flags: review?(cam) → review+
Comment 14•7 years ago
|
||
mozreview-review |
Comment on attachment 8893714 [details]
Bug 1386864 - Part 2. Implement CompareLayers to reuse the code in AddAndRemoveImageAssociations.
https://reviewboard.mozilla.org/r/164828/#review170486
::: layout/generic/nsFrame.cpp:831
(Diff revision 2)
> static
> void
> +CompareLayers(const nsStyleImageLayers* aFirstLayers,
Nit: "static void" on one line, here and below.
::: layout/generic/nsFrame.cpp:845
(Diff revision 2)
> + continue;
> + }
> +
> + // aCallback is called when the style image in aFirstLayers is thought to
> + // be different with the corresponded one in aSecondLayers
> + if (!aSecondLayers || i >= aSecondLayers->mImageCount ||
I think aSecondLayers is always non-null? If so, please remove the null check.
Attachment #8893714 -
Flags: review?(cam) → review+
Assignee | ||
Comment 15•7 years ago
|
||
mozreview-review-reply |
Comment on attachment 8893714 [details]
Bug 1386864 - Part 2. Implement CompareLayers to reuse the code in AddAndRemoveImageAssociations.
https://reviewboard.mozilla.org/r/164828/#review170486
> I think aSecondLayers is always non-null? If so, please remove the null check.
Depdend on the caller side, tt can be null
https://hg.mozilla.org/mozilla-central/file/c48b603e7650/layout/generic/nsFrame.cpp#l911
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment 21•7 years ago
|
||
Pushed by cku@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/2dc62e1b19a9
Part 1. Compare image-data of two style-image objects only if both of them are resolved. r=heycam
https://hg.mozilla.org/integration/autoland/rev/7f21a31de9fa
Part 2. Implement CompareLayers to reuse the code in AddAndRemoveImageAssociations. r=heycam
Comment 22•7 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/2dc62e1b19a9
https://hg.mozilla.org/mozilla-central/rev/7f21a31de9fa
Status: NEW → RESOLVED
Closed: 7 years ago
status-firefox57:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla57
Updated•7 years ago
|
status-firefox55:
--- → wontfix
status-firefox56:
--- → wontfix
status-firefox-esr52:
--- → unaffected
Comment 23•7 years ago
|
||
https://hg.mozilla.org/projects/date/rev/2dc62e1b19a9802ce958066629522b46f6f4d19a
Bug 1386864 - Part 1. Compare image-data of two style-image objects only if both of them are resolved. r=heycam
https://hg.mozilla.org/projects/date/rev/7f21a31de9faa0ba282c541efdf1017e86a74c69
Bug 1386864 - Part 2. Implement CompareLayers to reuse the code in AddAndRemoveImageAssociations. r=heycam
You need to log in
before you can comment on or make changes to this bug.
Description
•