Closed Bug 614359 Opened 14 years ago Closed 11 years ago

toolkit/mozapps/extensions tests trigger ASSERTION: XPConnect is being called on a scope without a 'Components' property

Categories

(Toolkit :: Add-ons Manager, defect)

x86
All
defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: dbaron, Unassigned)

References

Details

(Keywords: assertion)

A bunch of mochitests in tooklit/mozapps/extensions trigger:

ASSERTION: XPConnect is being called on a scope without a 'Components' property

In particular, they're triggering it because of the following C++ stack:

DEBUG_CheckForComponentsInScope [js/src/xpconnect/src/xpcwrappednativescope.cpp:782]
XPCWrappedNativeScope::FindInJSObjectScope [js/src/xpconnect/src/xpcwrappednativescope.cpp:857]
XPCWrappedNativeScope::FindInJSObjectScope [js/src/xpconnect/src/xpcprivate.h:1541]
GetContextFromObject [js/src/xpconnect/src/xpcwrappedjsclass.cpp:563]
nsXPCWrappedJSClass::DelegatedQueryInterface [js/src/xpconnect/src/xpcwrappedjsclass.cpp:688]
nsXPCWrappedJS::QueryInterface [js/src/xpconnect/src/xpcwrappedjs.cpp:187]
nsXPTCStubBase::QueryInterface [xpcom/reflect/xptcall/src/xptcall.cpp:53]
nsQueryInterface::operator() [nsCOMPtr.cpp:47]
nsCOMPtr<nsIControllerContext>::assign_from_qi [nsCOMPtr.h:1212]
nsCOMPtr<nsIControllerContext>::nsCOMPtr [nsCOMPtr.h:596]
nsGlobalWindow::ClearControllers [dom/base/nsGlobalWindow.cpp:1058]
nsGlobalWindow::SetDocShell [dom/base/nsGlobalWindow.cpp:2250]
nsDocShell::Destroy [docshell/base/nsDocShell.cpp:4525]

when we're calling into the gViewController object defined in toolkit/mozapps/extensions/content/extensions.js

It seems like most other callers of window.controllers.appendController() also call removeController() before the window closes, but this one doesn't.  We probably could change things to make that OK, but right now it triggers this assertion in the following mochitests:

chrome://mochitests/content/browser/toolkit/mozapps/extensions/test/browser-window/browser_bug557943.js
chrome://mochitests/content/browser/toolkit/mozapps/extensions/test/browser-window/browser_bug562797.js (6 times)
chrome://mochitests/content/browser/toolkit/mozapps/extensions/test/browser-window/browser_bug562899.js
chrome://mochitests/content/browser/toolkit/mozapps/extensions/test/browser-window/browser_bug562992.js
chrome://mochitests/content/browser/toolkit/mozapps/extensions/test/browser-window/browser_bug567137.js (3 times)
chrome://mochitests/content/browser/toolkit/mozapps/extensions/test/browser-window/browser_bug572561.js (3 times)
chrome://mochitests/content/browser/toolkit/mozapps/extensions/test/browser-window/browser_bug577990.js (7 or 8 times?)
chrome://mochitests/content/browser/toolkit/mozapps/extensions/test/browser-window/browser_bug591465.js
chrome://mochitests/content/browser/toolkit/mozapps/extensions/test/browser-window/browser_bug608316.js
chrome://mochitests/content/browser/toolkit/mozapps/extensions/test/browser-window/browser_details.js
chrome://mochitests/content/browser/toolkit/mozapps/extensions/test/browser-window/browser_discovery.js (5 times)
chrome://mochitests/content/browser/toolkit/mozapps/extensions/test/browser-window/browser_globalwarnings.js (2 times)
chrome://mochitests/content/browser/toolkit/mozapps/extensions/test/browser-window/browser_install.js
chrome://mochitests/content/browser/toolkit/mozapps/extensions/test/browser-window/browser_manualupdates.js
chrome://mochitests/content/browser/toolkit/mozapps/extensions/test/browser-window/browser_recentupdates.js (2 times)
chrome://mochitests/content/browser/toolkit/mozapps/extensions/test/browser-window/browser_searching.js (2 times)
chrome://mochitests/content/browser/toolkit/mozapps/extensions/test/browser-window/browser_sorting.js
chrome://mochitests/content/browser/toolkit/mozapps/extensions/test/browser-window/browser_uninstalling.js



(I did the larger counts pretty quickly and probably got some wrong.)
OS: Linux → All
Bug 747434 removed the assertion.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.