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)
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
Updated•18 years ago
|
Assignee: dbradley → nobody
Updated•18 years ago
|
QA Contact: pschwartau → xpconnect
Assignee | ||
Updated•13 years ago
|
Crash Signature: [@ js_FindConstructor]
Comment 1•6 years ago
|
||
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.
Description
•