docshell/test/navigation/test_opener.html causes ASSERTION: XPConnect is being called on a scope without a 'Components' property

RESOLVED WORKSFORME

Status

()

Core
Document Navigation
RESOLVED WORKSFORME
8 years ago
5 years ago

People

(Reporter: dbaron, Unassigned)

Tracking

({assertion})

Trunk
x86
All
assertion
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(URL)

docshell/test/navigation/test_opener.html causes
ASSERTION: XPConnect is being called on a scope without a 'Components' property

at the following C++ stack:

DEBUG_CheckForComponentsInScope [js/src/xpconnect/src/xpcwrappednativescope.cpp:
782]
XPCWrappedNativeScope::FindInJSObjectScope [js/src/xpconnect/src/xpcwrappednativ
escope.cpp:859]
XPCConvert::NativeInterface2JSObject [js/src/xpconnect/src/xpcconvert.cpp:1164]
NativeInterface2JSObject [js/src/xpconnect/src/nsXPConnect.cpp:1197]
nsXPConnect::WrapNativeToJSVal [js/src/xpconnect/src/nsXPConnect.cpp:1255]
nsDOMClassInfo::WrapNative [dom/base/nsDOMClassInfo.h:271]
nsDOMClassInfo::WrapNative [dom/base/nsDOMClassInfo.h:146]
nsWindowSH::SetProperty [dom/base/nsDOMClassInfo.cpp:5397]
xpc::holder_set [js/src/xpconnect/wrappers/XrayWrapper.cpp:195]
js::CallJSPropertyOpSetter [js/src/jscntxtinlines.h:738]
js::CallSetter [js/src/jscntxtinlines.h:753]
js::JSProxyHandler::set [js/src/jsproxy.cpp:152]
xpc::XrayWrapper<JSCrossCompartmentWrapper, xpc::CrossCompartmentXray>::set [js/src/xpconnect/wrappers/XrayWrapper.cpp:757]
js::JSProxy::set [js/src/jsproxy.cpp:774]
js::proxy_SetProperty [js/src/jsproxy.cpp:881]
JSObject::setProperty [js/src/jsobj.h:1095]
js::mjit::stubs::SetName<0> [js/src/methodjit/StubCalls.cpp:263]
DisabledSetPropIC<0> [js/src/methodjit/PolyIC.cpp:1679]
js::mjit::ic::SetProp [js/src/methodjit/PolyIC.cpp:1719]
UNKNOWN 0x3d64821
js::mjit::EnterMethodJIT [js/src/methodjit/MethodJIT.cpp:745]
CheckStackAndEnterMethodJIT [js/src/methodjit/MethodJIT.cpp:770]
js::mjit::JaegerShot [js/src/methodjit/MethodJIT.cpp:788]
js::RunScript [js/src/jsinterp.cpp:654]
js::Invoke [js/src/jsinterp.cpp:737]
js::ExternalInvoke [js/src/jsinterp.cpp:858]
js::ExternalInvoke [js/src/jsinterp.h:955]
JS_CallFunctionValue [js/src/jsapi.cpp:4973]
nsJSContext::CallEventHandler [dom/base/nsJSEnvironment.cpp:2177]
nsJSEventListener::HandleEvent [dom/src/events/nsJSEventListener.cpp:228]
nsEventListenerManager::HandleEventSubType [content/events/src/nsEventListenerManager.cpp:1114]
nsEventListenerManager::HandleEventInternal [content/events/src/nsEventListenerManager.cpp:1211]
nsEventListenerManager::HandleEvent [content/events/src/nsEventListenerManager.h:146]
nsEventTargetChainItem::HandleEvent [content/events/src/nsEventDispatcher.cpp:213]
nsEventTargetChainItem::HandleEventTargetChain [content/events/src/nsEventDispatcher.cpp:343]
nsEventDispatcher::Dispatch [content/events/src/nsEventDispatcher.cpp:628]
DocumentViewerImpl::LoadComplete [layout/base/nsDocumentViewer.cpp:1034]
nsDocShell::EndPageLoad [docshell/base/nsDocShell.cpp:6028]
nsDocShell::OnStateChange [docshell/base/nsDocShell.cpp:5881]
nsDocLoader::FireOnStateChange [uriloader/base/nsDocLoader.cpp:1318]
nsDocLoader::doStopDocumentLoad [uriloader/base/nsDocLoader.cpp:953]
nsDocLoader::DocLoaderIsEmpty [uriloader/base/nsDocLoader.cpp:820]
nsDocLoader::OnStopRequest [uriloader/base/nsDocLoader.cpp:705]
nsLoadGroup::RemoveRequest [netwerk/base/src/nsLoadGroup.cpp:680]
nsDocument::DoUnblockOnload [content/base/src/nsDocument.cpp:7269]
nsDocument::UnblockOnload [content/base/src/nsDocument.cpp:7210]
nsDocument::DispatchContentLoadedEvents [content/base/src/nsDocument.cpp:4184]
nsRunnableMethodImpl<void (nsDocument::*)(), true>::Run [nsThreadUtils.h:346]
nsThread::ProcessNextEvent [xpcom/threads/nsThread.cpp:626]
NS_ProcessNextEvent_P [nsThreadUtils.cpp:250]
mozilla::ipc::MessagePump::Run [ipc/glue/MessagePump.cpp:110]
MessageLoop::RunInternal [ipc/chromium/src/base/message_loop.cc:220]
MessageLoop::RunHandler [ipc/chromium/src/base/message_loop.cc:203]
MessageLoop::Run [ipc/chromium/src/base/message_loop.cc:176]
nsBaseAppShell::Run [widget/src/xpwidgets/nsBaseAppShell.cpp:187]
nsAppStartup::Run [toolkit/components/startup/src/nsAppStartup.cpp:191]
XRE_main [toolkit/xre/nsAppRunner.cpp:3691]
main [browser/app/nsBrowserApp.cpp:158]
libc.so.6 + 0x16bb6
The current JS stack is:
0 navigateByLocation(wnd = ?unknown?) ["http://mochi.test:8888/tests/docshell/test/navigation/NavigationUtils.js":54]
    this = [object Window @ 0xc016168 (native @ 0xaf47ba0)]
1 anonymous([object Event @ 0xca11418 (native @ 0xc6b6798)]) ["http://mochi.test:8888/tests/docshell/test/navigation/test_opener.html":14]
    this = [object Window @ 0xc016168 (native @ 0xaf47ba0)]
And the object whose scope lacks a 'Components' property is:
object 0xa9b70f78
class 0x34a5260 Proxy
flags: none
not native
proto <Proxy object at 0xa9b62090>
parent <Window object at 0xac22d5f0>
slots:

which is a proxy for:
object 0xac219828
class 0x34a5300 Proxy
flags: delegate
not native
proto <XPC_WN_ModsAllowed_NoCall_Proto_JSClass object at 0xaa885a80>
parent <Window object at 0xac2f5fc8>
slots:

which is a proxy for:
object 0xac2f5fc8
class 0xa01acac Window
flags: delegate own_shape has_equality hasPropertyTable
properties:
    permanent "HTMLCollection": slot 142
    permanent "Event": slot 141
    permanent "Location": slot 140
    enumerate getter shared "InstallTrigger": slot -1
    enumerate readonly "document": slot 139
    permanent "Node": slot 138
    permanent "Document": slot 137
    permanent "HTMLDocument": slot 136
    "TraceMallocDumpAllocations": slot 135
    "TraceMallocLogTimestamp": slot 134
    "TraceMallocCloseLogFD": slot 133
    "TraceMallocChangeLogFD": slot 132
    "TraceMallocOpenLogFile": slot 131
    "TraceMallocEnable": slot 130
    "TraceMallocDisable": slot 129
    "_options": slot 128
    "netscape": slot 127
    enumerate readonly permanent "window": slot 126
    readonly permanent "XPCNativeWrapper": slot 125
    readonly permanent "Components": slot 124
    "eval": slot 123
    "Object": slot 81
    "Function": slot 82
proto <XPC_WN_ModsAllowed_NoCall_Proto_JSClass object at 0xaa885a80>
parent null
private 0xaf93e68
slots:
   0 (reserved) = undefined
   1 (reserved) = <function Object at 0xa8343c30 (JSFunction at 0xa8343c30)>
   2 (reserved) = <function Function at 0xa8343a00 (JSFunction at 0xa8343a00)>
   3 (reserved) = undefined
[ lots more details about the Window snipped]

Comment 1

5 years ago
Bug 747434 removed the assertion.
Status: NEW → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.