Closed Bug 291442 Opened 20 years ago Closed 8 years ago

bogus error: ###!!! ASSERTION: bad method name: '0', file r:/mozilla/js/src/xpconnect/src/xpcwrappednativeinfo.cpp, line 372

Categories

(Core :: XPConnect, defect)

x86
Windows XP
defect
Not set
trivial

Tracking

()

RESOLVED INCOMPLETE

People

(Reporter: timeless, Unassigned)

Details

(Keywords: assertion)

set JS_RUNTIME_SIZE=4 \mozilla\dbg-i686-pc-cygwin\dist\bin\xpcshell.exe ###!!! ASSERTION: bad method name: '0', file r:/mozilla/js/src/xpconnect/src/xpcwrappednativeinfo.cpp, line 372 - info 0x00c0b028 const nsXPTMethodInfo * \- XPTMethodDescriptor {name=0x00c0b0d0 "result" params=0x00c0b0d8 {flags=0x60 '`' type={prefix={flags='' } argnum=0x00 argnum2=0x00 ...} } result=0x00c0b0e0 {flags=0x00 type={prefix={flags='' } argnum=0x00 argnum2=0x00 ...} } ...} XPTMethodDescriptor |+ name 0x00c0b0d0 "result" char * |+ params 0x00c0b0d8 {flags=0x60 '`' type={prefix={flags=0x06 '␆' } argnum=0x00 argnum2=0x00 ...} } XPTParamDescriptor * |+ result 0x00c0b0e0 {flags=0x00 type={prefix={flags=0x06 '␆' } argnum=0x00 argnum2=0x00 ...} } XPTParamDescriptor * | flags 0x80 '€' unsigned char \ num_args 0x01 '␁' unsigned char the "method name" is "result" which is *not* bad. otoh, JS_InternString really did return 0 because it ran out of memory. ###!!! ASSERTION: bad method name: '0', file r:/mozilla/js/src/xpconnect/src/xpcwrappednativeinfo.cpp, line 372 ************************************************************ * Call to xpconnect wrapped JSObject produced this error: * [Exception... "[JavaScript Error: "out of memory" {file: "file:///R:/mozilla/dbg-i686-pc-cygwin/dist/bin/components/hsDialogSupressor.js" line: 42}]" nsresult: "0x80570021 (NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS)" location: "JS frame :: file:///R:/mozilla/dbg-i686-pc-cygwin/dist/bin/components/hsDialogSupressor.js :: anonymous :: line 42" data: yes] ************************************************************ > xpc3250.dll!XPCNativeInterface::NewInstance(XPCCallContext & ccx={...}, nsIInterfaceInfo * aInfo=0x00c7fb58) Line 372 C++ xpc3250.dll!XPCNativeInterface::GetNewOrUsed(XPCCallContext & ccx={...}, const nsID * iid=0x00cfc6b8) Line 206 + 0x12 C++ xpc3250.dll!XPCConvert::NativeInterface2JSObject(XPCCallContext & ccx={...}, nsIXPConnectJSObjectHolder * * dest=0x0012e718, nsISupports * src=0x00c7f648, const nsID * iid=0x00cfc6b8, JSObject * scope=0x00ba5ba8, unsigned int * pErr=0x0012e668) Line 1054 + 0xd C++ xpc3250.dll!nsXPConnect::WrapNative(JSContext * aJSContext=0x00bab178, JSObject * aScope=0x00ba5ba8, nsISupports * aCOMObj=0x00c7f648, const nsID & aIID={...}, nsIXPConnectJSObjectHolder * * _retval=0x0012e718) Line 567 + 0x1d C++ xpc3250.dll!XPCThrower::ThrowExceptionObject(JSContext * cx=0x00bab178, nsIException * e=0x00c7f648) Line 262 + 0x36 C++ xpc3250.dll!XPCThrower::BuildAndThrowException(JSContext * cx=0x00bab178, unsigned int rv=0x80004005, const char * sz=0x00c460a0) Line 239 + 0x12 C++ xpc3250.dll!XPCThrower::ThrowBadParam(unsigned int rv=0x80004005, unsigned int paramNum=0x00000000, XPCCallContext & ccx={...}) Line 147 + 0x16 C++ xpc3250.dll!ThrowBadParam(unsigned int rv=0x80004005, unsigned int paramNum=0x00000000, XPCCallContext & ccx={...}) Line 698 + 0x11 C++ xpc3250.dll!XPCWrappedNative::CallMethod(XPCCallContext & ccx={...}, XPCWrappedNative::CallMode mode=CALL_GETTER) Line 2159 + 0x15 C++ xpc3250.dll!XPCWrappedNative::GetAttribute(XPCCallContext & ccx={...}) Line 1888 + 0xe C++ xpc3250.dll!XPC_WN_GetterSetter(JSContext * cx=0x00bab178, JSObject * obj=0x00ba6060, unsigned int argc=0x00000000, long * argv=0x00c3dcd4, long * vp=0x0012eb98) Line 1343 + 0x9 C++ js3250.dll!js_Invoke(JSContext * cx=0x00bab178, unsigned int argc=0x00000000, unsigned int flags=0x00000002) Line 1293 + 0x20 C js3250.dll!js_InternalInvoke(JSContext * cx=0x00bab178, JSObject * obj=0x00ba6060, long fval=0x00ba6648, unsigned int flags=0x00000000, unsigned int argc=0x00000000, long * argv=0x00000000, long * rval=0x0012f73c) Line 1390 + 0x14 C js3250.dll!js_InternalGetOrSet(JSContext * cx=0x00bab178, JSObject * obj=0x00ba6060, long id=0x00bb2960, long fval=0x00ba6648, JSAccessMode mode=JSACC_READ, unsigned int argc=0x00000000, long * argv=0x00000000, long * rval=0x0012f73c) Line 1433 + 0x1f C js3250.dll!js_GetProperty(JSContext * cx=0x00bab178, JSObject * obj=0x00ba6060, long id=0x00bb2960, long * vp=0x0012f73c) Line 2779 + 0x30 C js3250.dll!js_Interpret(JSContext * cx=0x00bab178, unsigned char * pc=0x00c393a1, long * result=0x0012f888) Line 3393 + 0x62e C js3250.dll!js_Invoke(JSContext * cx=0x00bab178, unsigned int argc=0x00000003, unsigned int flags=0x00000002) Line 1313 + 0x13 C xpc3250.dll!nsXPCWrappedJSClass::CallMethod(nsXPCWrappedJS * wrapper=0x00c2b1c8, unsigned short methodIndex=0x0003, const nsXPTMethodInfo * info=0x00c44628, nsXPTCMiniVariant * nativeParams=0x0012fb9c) Line 1413 + 0x14 C++ xpc3250.dll!nsXPCWrappedJS::CallMethod(unsigned short methodIndex=0x0003, const nsXPTMethodInfo * info=0x00c44628, nsXPTCMiniVariant * params=0x0012fb9c) Line 450 C++ xpcom_core.dll!PrepareAndDispatch(nsXPTCStubBase * self=0x00c2b1c8, unsigned int methodIndex=0x00000003, unsigned int * args=0x0012fc64, unsigned int * stackBytesToPop=0x0012fc54) Line 117 + 0x1c C++ xpcom_core.dll!SharedStub() Line 147 C++ xpcom_core.dll!NS_CreateServicesFromCategory(const char * category=0x004ddbc0, nsISupports * origin=0x00000000, const char * observerTopic=0x004ddbb0) Line 827 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=0x00387040, char * * envp=0x00382f88) Line 1499 + 0x22 C++ xpcshell.exe!mainCRTStartup() Line 398 + 0x11 C kernel32.dll!_BaseProcessStart@4() + 0x23 reproducable? yes :) code: str = JS_InternString(ccx, info->GetName()); if(!str) { NS_ASSERTION(0,"bad method name"); note that the code should not use NS_ASSERTION(0,...) nor should it assert that you can't run out of memory.
Assignee: dbradley → nobody
QA Contact: pschwartau → xpconnect
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.