Closed Bug 1586750 Opened 6 years ago Closed 6 years ago

[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)

defect

Tracking

()

RESOLVED FIXED
mozilla72
Fission Milestone M4
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

https://searchfox.org/mozilla-central/rev/b6f088f2f68d2a8ae0b49d6c8fbd7cbd3a65fa5b/dom/base/nsGlobalWindowOuter.cpp#1470,1475-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)

Depends on: 1586751
Blocks: 1586751
No longer depends on: 1586751

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: nobody → bugs

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.

Priority: -- → P2
Status: NEW → ASSIGNED
Fission Milestone: --- → M4

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.

Looks r+ already. What blocks us from landing the patch?

Flags: needinfo?(bugs)
Pushed by opettay@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/2d821f756648 don't compile event handlers on unloaded windows r=peterv
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla72
Flags: needinfo?(bugs)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: