Closed Bug 1292285 Opened 8 years ago Closed 7 years ago

Stylo Assertion failure: sheet->IsGecko() (GatherRuleProcessor must only be called for nsXBLPrototypeResources objects with Gecko-flavored style backends), at dom/xbl/nsXBLPrototypeResources.cpp:154

Categories

(Core :: Layout, defect, P1)

defect

Tracking

()

RESOLVED FIXED
mozilla56
Tracking Status
firefox-esr52 --- unaffected
firefox54 --- unaffected
firefox55 --- unaffected
firefox56 --- fixed

People

(Reporter: cpeterson, Assigned: heycam)

References

(Blocks 1 open bug)

Details

(Keywords: assertion, Whiteboard: [stylo:m2])

To reproduce, run `./mach reftest --disable-e10s <filename>` or replace <filename> with `layout/reftest/reftest.list`.

TEST-UNEXPECTED-FAIL | file:///home/shinglyu/workspace/stylo/gecko-dev/layout/reftests/webcomponents/input-transition-1.html | application terminated with exit code 11
REFTEST PROCESS-CRASH | file:///home/shinglyu/workspace/stylo/gecko-dev/layout/reftests/webcomponents/input-transition-1.html | application crashed [None]

Assertion failure: sheet->IsGecko() (GatherRuleProcessor must only be called for nsXBLPrototypeResources objects with Gecko-flavored style backends), at /files/mozilla/stylo/bb/gecko/dom/xbl/nsXBLPrototypeResources.cpp:154
Priority: -- → P1
Assignee: nobody → mbrubeck
The top of the stack is:

#01: nsXBLPrototypeResources::GatherRuleProcessor() (/home/mbrubeck/src/mozilla-central/dom/xbl/nsXBLPrototypeResources.cpp:151 (discriminator 1))
#02: nsXBLPrototypeResources::FlushSkinSheets() (/home/mbrubeck/src/mozilla-central/dom/xbl/nsXBLPrototypeResources.cpp:112)
#03: nsXBLPrototypeBinding::FlushSkinSheets() (/home/mbrubeck/src/mozilla-central/dom/xbl/nsXBLPrototypeBinding.cpp:257)
#04: mozilla::dom::ShadowRoot::StyleSheetChanged() (/home/mbrubeck/src/mozilla-central/dom/base/ShadowRoot.cpp:126)
#05: mozilla::StyleSheet::SetComplete() (/home/mbrubeck/src/mozilla-central/layout/style/StyleSheet.cpp:93)
#06: mozilla::css::Loader::DoSheetComplete(mozilla::css::SheetLoadData*, nsresult, nsTArray<RefPtr<mozilla::css::SheetLoadData> >&) (/home/mbrubeck/src/mozilla-central/layout/style/Loader.cpp:1898)
#07: mozilla::css::Loader::SheetComplete(mozilla::css::SheetLoadData*, nsresult) (/home/mbrubeck/src/mozilla-central/layout/style/Loader.cpp:1825)
#08: mozilla::css::Loader::ParseSheet(nsAString_internal const&, mozilla::css::SheetLoadData*, bool&) (/home/mbrubeck/src/mozilla-central/layout/style/Loader.cpp:1802)
#09: mozilla::css::Loader::LoadInlineStyle(nsIContent*, nsAString_internal const&, unsigned int, nsAString_internal const&, nsAString_internal const&, mozilla::dom::Element*, nsICSSLoaderObserver*, bool*, bool*) (/home/mbrubeck/src/mozilla-central/layout/style/Loader.cpp:2041)
#10: nsStyleLinkElement::DoUpdateStyleSheet(nsIDocument*, mozilla::dom::ShadowRoot*, nsICSSLoaderObserver*, bool*, bool*, bool) (/home/mbrubeck/src/mozilla-central/dom/base/nsStyleLinkElement.cpp:427)
#11: nsStyleLinkElement::UpdateStyleSheet(nsICSSLoaderObserver*, bool*, bool*, bool) (/home/mbrubeck/src/mozilla-central/dom/base/nsStyleLinkElement.cpp:223)
#12: nsHtml5DocumentBuilder::UpdateStyleSheet(nsIContent*) (/home/mbrubeck/src/mozilla-central/parser/html/nsHtml5DocumentBuilder.cpp:78)
#13: nsHtml5TreeBuilder::elementPopped(int, nsIAtom*, void*) (/home/mbrubeck/src/mozilla-central/parser/html/nsHtml5TreeBuilderCppSupplement.h:902)
This depends on shadow DOM support (bug 1293844).
Depends on: stylo-shadow
Ok - can we convert this into a warning instead for now?
Priority: P1 → P3
> Ok - can we convert this into a warning instead for now?

Well, in an opt build it crashes.  This is also hitting dom/events/test/test_bug1145910.html
Assignee: mbrubeck → nobody
We can mark any shadow-dom tests as skip-if stylo. Does this still reproduce on anything that doesn't explicitly pref-on shadow DOM?
I would think it would also reproduce any time someone dispatches the "chrome-flush-skin-caches" observer notification.
But also, some nightly users have shadow DOM enabled.  We should at the very least not crash in that configuration...
Bug 1373155 disabled shadow DOM in document styled by Servo, so we should no longer be able to create a ShadowRoot and have the chrome-flush-skin-caches notification crash.
I think this is fixed by bug 1373155.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Assignee: nobody → cam
Target Milestone: --- → mozilla56
You need to log in before you can comment on or make changes to this bug.