[Fission] ###!!! ASSERTION: No cached wrapper, but we have an inner window?: '!GetCurrentInnerWindowInternal()', file dom/base/nsGlobalWindowOuter.cpp, line 1476
Categories
(Core :: DOM: Core & HTML, defect, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox72 | --- | fixed |
People
(Reporter: smaug, Assigned: smaug)
References
Details
Attachments
(1 file)
Running dom/events/test/test_bug812744.html with --enable-fission triggers
###!!! ASSERTION: No cached wrapper, but we have an inner window?: '!GetCurrentInnerWindowInternal()', file dom/base/nsGlobalWindowOuter.cpp, line 1476
1:01.00 GECKO(16116) [Child 16340, Main Thread] ###!!! ASSERTION: No cached wrapper, but we have an inner window?: '!GetCurrentInnerWindowInternal()', file /home/smaug/mozilla/hg/inbound2/dom/base/nsGlobalWindowOuter.cpp, line 1476
1:02.94 GECKO(16116) #01: nsGlobalWindowOuter::EnsureScriptEnvironment() (/home/smaug/mozilla/hg/inbound2/dom/base/nsGlobalWindowOuter.cpp:1475)
1:03.08 GECKO(16116) #02: nsGlobalWindowInner::EnsureScriptEnvironment() (/home/smaug/mozilla/hg/inbound2/dom/base/nsGlobalWindowInner.cpp:1562)
1:04.30 GECKO(16116) #03: mozilla::EventListenerManager::SetEventHandler(nsAtom*, nsTSubstring<char16_t> const&, bool, bool, mozilla::dom::Element*) (/home/smaug/mozilla/hg/inbound2/dom/events/EventListenerManager.cpp:814)
1:05.54 GECKO(16116) #04: mozilla::dom::Element::SetEventHandler(nsAtom*, nsTSubstring<char16_t> const&, bool) (/home/smaug/mozilla/hg/inbound2/dom/base/Element.cpp:2181)
1:05.75 GECKO(16116) #05: nsGenericHTMLElement::AfterSetAttr(int, nsAtom*, nsAttrValue const*, nsAttrValue const*, nsIPrincipal*, bool) (/home/smaug/mozilla/hg/inbound2/dom/html/nsGenericHTMLElement.cpp:569)
1:05.78 GECKO(16116) #06: mozilla::dom::HTMLSharedElement::AfterSetAttr(int, nsAtom*, nsAttrValue const*, nsAttrValue const*, nsIPrincipal*, bool) (/home/smaug/mozilla/hg/inbound2/dom/html/HTMLSharedElement.cpp:224)
1:05.79 GECKO(16116) #07: mozilla::dom::Element::SetAttrAndNotify(int, nsAtom*, nsAtom*, nsAttrValue const*, nsAttrValue&, nsIPrincipal*, unsigned char, bool, bool, bool, mozilla::dom::Document*, mozAutoDocUpdate const&) (/home/smaug/mozilla/hg/inbound2/dom/base/Element.cpp:2484)
1:05.80 GECKO(16116) #08: mozilla::dom::Element::SetAttr(int, nsAtom*, nsAtom*, nsTSubstring<char16_t> const&, nsIPrincipal*, bool) (/home/smaug/mozilla/hg/inbound2/dom/base/Element.cpp:2339)
1:05.80 GECKO(16116) #09: mozilla::dom::Element::SetAttr(int, nsAtom*, nsTSubstring<char16_t> const&, nsIPrincipal*, bool) (/home/smaug/mozilla/hg/inbound2/ff_build/dist/include/mozilla/dom/Element.h:837)
1:05.81 GECKO(16116) #10: mozilla::dom::Element::SetAttribute(nsTSubstring<char16_t> const&, nsTSubstring<char16_t> const&, nsIPrincipal*, mozilla::ErrorResult&) (/home/smaug/mozilla/hg/inbound2/dom/base/Element.cpp:1341)
Assignee | ||
Updated•6 years ago
|
Assignee | ||
Comment 1•6 years ago
|
||
http://mozilla.pettay.fi/moztests/gone_inner.html is a testcase.
I wonder which behavior we want here.
Chrome doesn't set the event handler.
Assignee | ||
Updated•6 years ago
|
Assignee | ||
Comment 2•6 years ago
|
||
Assignee | ||
Comment 3•6 years ago
|
||
that patch is just a test for tweaking EventListenerManager, but the real bug is that one may access outerwindow which doesn't have wrapper but does have innerwindow.
Updated•6 years ago
|
Updated•6 years ago
|
Assignee | ||
Comment 4•6 years ago
|
||
Assignee | ||
Comment 5•6 years ago
|
||
Different approach
https://treeherder.mozilla.org/#/jobs?repo=try&revision=b426c137807294705ef5bba1f13291e58c1ce6d5
outer/inner window handling is rather broken in Fission. The wip makes the situation a bit saner when it comes to event handling, but
we'll need probably other changes for other cases.
Also, I do expect test failures.
Comment 6•6 years ago
|
||
Looks r+ already. What blocks us from landing the patch?
Comment 8•6 years ago
|
||
bugherder |
Updated•6 years ago
|
Description
•