Closed Bug 291456 Opened 19 years ago Closed 6 years ago

unhandled/unhandable error: NS_ERROR("Can't get globalObject.Object.prototype"); [@ js_FindConstructor]

Categories

(Core :: XPConnect, defect, P5)

x86
Windows XP
defect

Tracking

()

RESOLVED INACTIVE

People

(Reporter: timeless, Unassigned)

Details

(Keywords: assertion, crash)

Crash Data

cvs update. apply patch for JS_RUNTIME_SIZE. build. set JS_RUNTIME_SIZE=2 \mozilla\dbg-i686-pc-cygwin\dist\bin\xpcshell.exe ###!!! ASSERTION: Can't get globalObject.Object.prototype: 'Error', file r:/mozilla/js/src/xpconnect/src/xpcwrappednativescope.cpp, line 196 void XPCWrappedNativeScope::SetGlobal(XPCCallContext& ccx, JSObject* aGlobal) ... NS_ERROR("Can't get globalObject.Object.prototype"); XPCWrappedNativeScope* XPCWrappedNativeScope::GetNewOrUsed(XPCCallContext& ccx, JSObject* aGlobal) ... scope->SetGlobal(ccx, aGlobal); } return scope; I believe this means the scope being returned is not rooted and will be reaped. stack for error: > xpc3250.dll!XPCWrappedNativeScope::GetNewOrUsed(XPCCallContext & ccx={...}, JSObject * aGlobal=0x00ba5ea0) Line 128 C++ xpc3250.dll!nsXPConnect::InitClasses(JSContext * aJSContext=0x00bab178, JSObject * aGlobalJSObj=0x00ba5ea0) Line 435 + 0xd C++ xpc3250.dll!nsXPConnect::InitClassesWithNewWrappedGlobal(JSContext * aJSContext=0x00bab178, nsISupports * aCOMObj=0x00c25f0c, const nsID & aIID={...}, int aCallJS_InitStandardClasses=0x00000000, nsIXPConnectJSObjectHolder * * _retval=0x0012f9a0) Line 493 + 0x17 C++ xpc3250.dll!mozJSComponentLoader::GlobalForLocation(const char * aLocation=0x00bd07f8, nsIFile * component=0x00000000) Line 974 + 0x55 C++ xpc3250.dll!mozJSComponentLoader::ModuleForLocation(const char * registryLocation=0x00bd07f8, nsIFile * component=0x00000000) Line 839 + 0x13 C++ xpc3250.dll!mozJSComponentLoader::GetFactory(const nsID & aCID={...}, const char * aLocation=0x00bd07f8, const char * aType=0x00bcbcf0, nsIFactory * * _retval=0x0012fb84) Line 384 + 0xe C++ xpcom_core.dll!nsFactoryEntry::GetFactory(nsIFactory * * aFactory=0x0012fb84, nsComponentManagerImpl * mgr=0x0038f370) Line 302 + 0x3a C++ xpcom_core.dll!nsComponentManagerImpl::CreateInstanceByContractID(const char * aContractID=0x00b9f8e8, nsISupports * aDelegate=0x00000000, const nsID & aIID={...}, void * * aResult=0x0012fbe4) Line 1989 + 0x10 C++ xpcom_core.dll!nsComponentManagerImpl::GetServiceByContractID(const char * aContractID=0x00b9f8e8, const nsID & aIID={...}, void * * result=0x0012fc4c) Line 2421 + 0x32 C++ xpcom_core.dll!CallGetService(const char * aContractID=0x00b9f8e8, const nsID & aIID={...}, void * * aResult=0x0012fc4c) Line 93 C++ xpcom_core.dll!nsGetServiceByContractIDWithError::operator()(const nsID & aIID={...}, void * * aInstancePtr=0x0012fc4c) Line 286 + 0x13 C++ xpcom_core.dll!nsCOMPtr_base::assign_from_gs_contractid_with_error(const nsGetServiceByContractIDWithError & gs={...}, const nsID & iid={...}) Line 141 + 0x10 C++ xpcom_core.dll!nsCOMPtr<nsISupports>::nsCOMPtr<nsISupports>(const nsGetServiceByContractIDWithError & gs={...}) Line 1007 C++ xpcom_core.dll!NS_CreateServicesFromCategory(const char * category=0x004ddbc0, nsISupports * origin=0x00000000, const char * observerTopic=0x004ddbb0) Line 817 C++ xpcom_core.dll!NS_InitXPCOM2_P(nsIServiceManager * * result=0x0012ff40, nsIFile * binDirectory=0x00000000, nsIDirectoryServiceProvider * appFileLocationProvider=0x00000000) Line 683 + 0x11 C++ xpcshell.exe!main(int argc=0x00000001, char * * argv=0x00387050, char * * envp=0x00382f98) Line 1499 + 0x22 C++ xpcshell.exe!mainCRTStartup() Line 398 + 0x11 C kernel32.dll!_BaseProcessStart@4() + 0x23 stack for garbage collection which reaped mGlobalJSObject: > js3250.dll!js_NewString(JSContext * cx=0x00bab178, unsigned short * chars=0x00c26940, unsigned int length=0x0000001b, unsigned int gcflag=0x00000000) Line 2463 + 0x12 C js3250.dll!js_NewStringCopyN(JSContext * cx=0x00bab178, const unsigned short * s=0x0012f36c, unsigned int n=0x0000001b, unsigned int gcflag=0x00000000) Line 2578 + 0x15 C js3250.dll!js_AtomizeString(JSContext * cx=0x00bab178, JSString * str=0x0012f360, unsigned int flags=0x00000080) Line 647 + 0x40 C js3250.dll!js_Atomize(JSContext * cx=0x00bab178, const char * bytes=0x00d0ee54, unsigned int length=0x0000001b, unsigned int flags=0x00000000) Line 717 + 0x16 C js3250.dll!js_FindConstructor(JSContext * cx=0x00bab178, JSObject * start=0x00ba5ea0, const char * name=0x00d0ee54, long * vp=0x0012f41c) Line 1964 + 0x1c C js3250.dll!GetClassPrototype(JSContext * cx=0x00bab178, JSObject * scope=0x00ba5ea0, const char * name=0x00d0ee54, JSObject * * protop=0x0012f480) Line 3625 + 0x15 C js3250.dll!js_NewObject(JSContext * cx=0x00bab178, JSClass * clasp=0x00d12f18, JSObject * proto=0x00000000, JSObject * parent=0x00ba5ea0) Line 1864 + 0x17 C js3250.dll!JS_NewObject(JSContext * cx=0x00bab178, JSClass * clasp=0x00d12f18, JSObject * proto=0x00000000, JSObject * parent=0x00ba5ea0) Line 2175 + 0x15 C xpc3250.dll!XPCWrappedNativeProto::Init(XPCCallContext & ccx={...}, const XPCNativeScriptableCreateInfo * scriptableCreateInfo=0x0012f694) Line 110 + 0x29 C++ xpc3250.dll!XPCWrappedNativeProto::GetNewOrUsed(XPCCallContext & ccx={...}, XPCWrappedNativeScope * Scope=0x00c261e8, nsIClassInfo * ClassInfo=0x00c26898, const XPCNativeScriptableCreateInfo * ScriptableCreateInfo=0x0012f694, int ForceNoSharing=0x00000000) Line 222 + 0x23 C++ xpc3250.dll!XPCWrappedNative::GetNewOrUsed(XPCCallContext & ccx={...}, nsISupports * Object=0x00c26890, XPCWrappedNativeScope * Scope=0x00c261e8, XPCNativeInterface * Interface=0x00ba9198, XPCWrappedNative * * resultWrapper=0x0012f6e4) Line 359 + 0x1c C++ xpc3250.dll!nsXPCComponents::AttachNewComponentsObject(XPCCallContext & ccx={...}, XPCWrappedNativeScope * aScope=0x00c261e8, JSObject * aGlobal=0x00ba5ea0) Line 2982 + 0x37 C++ xpc3250.dll!nsXPConnect::InitClasses(JSContext * aJSContext=0x00bab178, JSObject * aGlobalJSObj=0x00ba5ea0) Line 442 + 0x11 C++ xpc3250.dll!nsXPConnect::InitClassesWithNewWrappedGlobal(JSContext * aJSContext=0x00bab178, nsISupports * aCOMObj=0x00c25f0c, const nsID & aIID={...}, int aCallJS_InitStandardClasses=0x00000000, nsIXPConnectJSObjectHolder * * _retval=0x0012f9a0) Line 493 + 0x17 C++ xpc3250.dll!mozJSComponentLoader::GlobalForLocation(const char * aLocation=0x00bd07f8, nsIFile * component=0x00000000) Line 974 + 0x55 C++ xpc3250.dll!mozJSComponentLoader::ModuleForLocation(const char * registryLocation=0x00bd07f8, nsIFile * component=0x00000000) Line 839 + 0x13 C++ xpc3250.dll!mozJSComponentLoader::GetFactory(const nsID & aCID={...}, const char * aLocation=0x00bd07f8, const char * aType=0x00bcbcf0, nsIFactory * * _retval=0x0012fb84) Line 384 + 0xe C++ xpcom_core.dll!nsFactoryEntry::GetFactory(nsIFactory * * aFactory=0x0012fb84, nsComponentManagerImpl * mgr=0x0038f370) Line 302 + 0x3a C++ xpcom_core.dll!nsComponentManagerImpl::CreateInstanceByContractID(const char * aContractID=0x00b9f8e8, nsISupports * aDelegate=0x00000000, const nsID & aIID={...}, void * * aResult=0x0012fbe4) Line 1989 + 0x10 C++ xpcom_core.dll!nsComponentManagerImpl::GetServiceByContractID(const char * aContractID=0x00b9f8e8, const nsID & aIID={...}, void * * result=0x0012fc4c) Line 2421 + 0x32 C++ xpcom_core.dll!CallGetService(const char * aContractID=0x00b9f8e8, const nsID & aIID={...}, void * * aResult=0x0012fc4c) Line 93 C++ xpcom_core.dll!nsGetServiceByContractIDWithError::operator()(const nsID & aIID={...}, void * * aInstancePtr=0x0012fc4c) Line 286 + 0x13 C++ xpcom_core.dll!nsCOMPtr_base::assign_from_gs_contractid_with_error(const nsGetServiceByContractIDWithError & gs={...}, const nsID & iid={...}) Line 141 + 0x10 C++ xpcom_core.dll!nsCOMPtr<nsISupports>::nsCOMPtr<nsISupports>(const nsGetServiceByContractIDWithError & gs={...}) Line 1007 C++ xpcom_core.dll!NS_CreateServicesFromCategory(const char * category=0x004ddbc0, nsISupports * origin=0x00000000, const char * observerTopic=0x004ddbb0) Line 817 C++ xpcom_core.dll!NS_InitXPCOM2_P(nsIServiceManager * * result=0x0012ff40, nsIFile * binDirectory=0x00000000, nsIDirectoryServiceProvider * appFileLocationProvider=0x00000000) Line 683 + 0x11 C++ xpcshell.exe!main(int argc=0x00000001, char * * argv=0x00387050, char * * envp=0x00382f98) Line 1499 + 0x22 C++ xpcshell.exe!mainCRTStartup() Line 398 + 0x11 C kernel32.dll!_BaseProcessStart@4() + 0x23 Death occurs because scope was converted from a JSObject into a JSString by the stack above. too bad that scope was the parent in JS_NewObject: + (JSString*)parent 0x00ba5ea0 {length=0x0000001b chars=0x00c26940 "XPC_WN_NoMods_Proto_JSClass" } JSString * the crash is at: start = OBJ_GET_PARENT(cx, obj); + (JSString*)obj 0x00ba5ea0 {length=0x0000001b chars=0x00c26940 "XPC_WN_NoMods_Proto_JSClass" } JSString * > js3250.dll!js_FindConstructor(JSContext * cx=0x00bab178, JSObject * start=0x00ba5ea0, const char * name=0x00d0ee54, long * vp=0x0012f41c) Line 1972 C js3250.dll!GetClassPrototype(JSContext * cx=0x00bab178, JSObject * scope=0x00ba5ea0, const char * name=0x00d0ee54, JSObject * * protop=0x0012f480) Line 3625 + 0x15 C js3250.dll!js_NewObject(JSContext * cx=0x00bab178, JSClass * clasp=0x00d12f18, JSObject * proto=0x00000000, JSObject * parent=0x00ba5ea0) Line 1864 + 0x17 C js3250.dll!JS_NewObject(JSContext * cx=0x00bab178, JSClass * clasp=0x00d12f18, JSObject * proto=0x00000000, JSObject * parent=0x00ba5ea0) Line 2175 + 0x15 C xpc3250.dll!XPCWrappedNativeProto::Init(XPCCallContext & ccx={...}, const XPCNativeScriptableCreateInfo * scriptableCreateInfo=0x0012f694) Line 110 + 0x29 C++ xpc3250.dll!XPCWrappedNativeProto::GetNewOrUsed(XPCCallContext & ccx={...}, XPCWrappedNativeScope * Scope=0x00c261e8, nsIClassInfo * ClassInfo=0x00c26898, const XPCNativeScriptableCreateInfo * ScriptableCreateInfo=0x0012f694, int ForceNoSharing=0x00000000) Line 222 + 0x23 C++ xpc3250.dll!XPCWrappedNative::GetNewOrUsed(XPCCallContext & ccx={...}, nsISupports * Object=0x00c26890, XPCWrappedNativeScope * Scope=0x00c261e8, XPCNativeInterface * Interface=0x00ba9198, XPCWrappedNative * * resultWrapper=0x0012f6e4) Line 359 + 0x1c C++ xpc3250.dll!nsXPCComponents::AttachNewComponentsObject(XPCCallContext & ccx={...}, XPCWrappedNativeScope * aScope=0x00c261e8, JSObject * aGlobal=0x00ba5ea0) Line 2982 + 0x37 C++ xpc3250.dll!nsXPConnect::InitClasses(JSContext * aJSContext=0x00bab178, JSObject * aGlobalJSObj=0x00ba5ea0) Line 442 + 0x11 C++ xpc3250.dll!nsXPConnect::InitClassesWithNewWrappedGlobal(JSContext * aJSContext=0x00bab178, nsISupports * aCOMObj=0x00c25f0c, const nsID & aIID={...}, int aCallJS_InitStandardClasses=0x00000000, nsIXPConnectJSObjectHolder * * _retval=0x0012f9a0) Line 493 + 0x17 C++ xpc3250.dll!mozJSComponentLoader::GlobalForLocation(const char * aLocation=0x00bd07f8, nsIFile * component=0x00000000) Line 974 + 0x55 C++ xpc3250.dll!mozJSComponentLoader::ModuleForLocation(const char * registryLocation=0x00bd07f8, nsIFile * component=0x00000000) Line 839 + 0x13 C++ xpc3250.dll!mozJSComponentLoader::GetFactory(const nsID & aCID={...}, const char * aLocation=0x00bd07f8, const char * aType=0x00bcbcf0, nsIFactory * * _retval=0x0012fb84) Line 384 + 0xe C++ xpcom_core.dll!nsFactoryEntry::GetFactory(nsIFactory * * aFactory=0x0012fb84, nsComponentManagerImpl * mgr=0x0038f370) Line 302 + 0x3a C++ xpcom_core.dll!nsComponentManagerImpl::CreateInstanceByContractID(const char * aContractID=0x00b9f8e8, nsISupports * aDelegate=0x00000000, const nsID & aIID={...}, void * * aResult=0x0012fbe4) Line 1989 + 0x10 C++ xpcom_core.dll!nsComponentManagerImpl::GetServiceByContractID(const char * aContractID=0x00b9f8e8, const nsID & aIID={...}, void * * result=0x0012fc4c) Line 2421 + 0x32 C++ xpcom_core.dll!CallGetService(const char * aContractID=0x00b9f8e8, const nsID & aIID={...}, void * * aResult=0x0012fc4c) Line 93 C++ xpcom_core.dll!nsGetServiceByContractIDWithError::operator()(const nsID & aIID={...}, void * * aInstancePtr=0x0012fc4c) Line 286 + 0x13 C++ xpcom_core.dll!nsCOMPtr_base::assign_from_gs_contractid_with_error(const nsGetServiceByContractIDWithError & gs={...}, const nsID & iid={...}) Line 141 + 0x10 C++ xpcom_core.dll!nsCOMPtr<nsISupports>::nsCOMPtr<nsISupports>(const nsGetServiceByContractIDWithError & gs={...}) Line 1007 C++ xpcom_core.dll!NS_CreateServicesFromCategory(const char * category=0x004ddbc0, nsISupports * origin=0x00000000, const char * observerTopic=0x004ddbb0) Line 817 C++ xpcom_core.dll!NS_InitXPCOM2_P(nsIServiceManager * * result=0x0012ff40, nsIFile * binDirectory=0x00000000, nsIDirectoryServiceProvider * appFileLocationProvider=0x00000000) Line 683 + 0x11 C++ xpcshell.exe!main(int argc=0x00000001, char * * argv=0x00387050, char * * envp=0x00382f98) Line 1499 + 0x22 C++ xpcshell.exe!mainCRTStartup() Line 398 + 0x11 C kernel32.dll!_BaseProcessStart@4() + 0x23 reproducable? yes.
Summary: unhandled/unhandable error: NS_ERROR("Can't get globalObject.Object.prototype"); → unhandled/unhandable error: NS_ERROR("Can't get globalObject.Object.prototype"); [@ js_FindConstructor]
Status: UNCONFIRMED → NEW
Ever confirmed: true
Priority: -- → P5
Assignee: dbradley → nobody
QA Contact: pschwartau → xpconnect
Crash Signature: [@ js_FindConstructor]
Per policy at https://wiki.mozilla.org/Bug_Triage/Projects/Bug_Handling/Bug_Husbandry#Inactive_Bugs. If this bug is not an enhancement request or a bug not present in a supported release of Firefox, then it may be reopened.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → INACTIVE
You need to log in before you can comment on or make changes to this bug.