Closed
Bug 326961
Opened 19 years ago
Closed 18 years ago
JS_BeginRequest should JS_ASSERT(cx->thread == js_GetCurrentThreadId())
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: timeless, Assigned: timeless)
Details
(Keywords: fixed1.8.1)
Attachments
(1 obsolete file)
I'm almost done making jsd+venkman friendly with threads. unfortunately my jsd code isn't perfect and didn't call js_clearcontextthread, nor did the other thread call js_setcontextthread. the end result is that the main thread called js_beginrequest on a cx which was in use on another thread (in violation of the contract listed in js_setcontextthread). my code then foolishly tried to use other jsapis and eventually got killed because cx->thread wasn't right. thread that yielded without releasing cx association: (aff4) 00 ntdll!KiFastSystemCallRet (FPO: [0,0,0]) 01 ntdll!ZwWaitForSingleObject+0xc (FPO: [3,0,0]) 02 kernel32!WaitForSingleObjectEx+0xa8 (FPO: [Non-Fpo]) 03 kernel32!WaitForSingleObject+0x12 (FPO: [Non-Fpo]) 04 nspr4!_PR_MD_WAIT_CV(struct _MDCVar * cv = 0x05f45ebc, struct _MDLock * lock = 0x05f45db4, unsigned int timeout = 0xffffffff)+0x7f (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\nsprpub\pr\src\md\windows\w95cv.c @ 280] 05 nspr4!_PR_WaitCondVar(struct PRThread * thread = 0x04f1cc78, struct PRCondVar * cvar = 0x05f45e48, struct PRLock * lock = 0x05f45d98, unsigned int timeout = 0xffffffff)+0xd1 (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\nsprpub\pr\src\threads\combined\prucv.c @ 204] 06 nspr4!PR_Wait(struct PRMonitor * mon = 0x05f45d60, unsigned int ticks = 0xffffffff)+0x53 (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\nsprpub\pr\src\threads\prmon.c @ 175] 07 xpcom_core!PL_WaitForEvent(struct PLEventQueue * self = 0x05f45d10)+0x68 (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\xpcom\threads\plevent.c @ 808] 08 xpcom_core!nsEventQueueImpl::WaitForEvent(struct PLEvent ** aResult = 0x02adee98)+0x52 (FPO: [Non-Fpo]) (CONV: stdcall) [r:\mozilla\xpcom\threads\nseventqueue.cpp @ 500] 09 xpcom_core!nsProxyObject::PostAndWait(class nsProxyObjectCallInfo * proxyInfo = 0x04861330)+0x1ad (FPO: [Non-Fpo]) (CONV: thiscall) [r:\mozilla\xpcom\proxy\src\nsproxyevent.cpp @ 391] 0a xpcom_core!nsProxyObject::Post(unsigned int methodIndex = 3, class nsXPTMethodInfo * methodInfo = 0x02f28f38, struct nsXPTCMiniVariant * params = 0x02adef4c, class nsIInterfaceInfo * interfaceInfo = 0x02f322c0)+0x1d6 (FPO: [Non-Fpo]) (CONV: thiscall) [r:\mozilla\xpcom\proxy\src\nsproxyevent.cpp @ 511] 0b xpcom_core!nsProxyEventObject::CallMethod(unsigned short methodIndex = 3, class nsXPTMethodInfo * info = 0x02f28f38, struct nsXPTCMiniVariant * params = 0x02adef4c)+0x45 (FPO: [Non-Fpo]) (CONV: stdcall) [r:\mozilla\xpcom\proxy\src\nsproxyeventobject.cpp @ 559] 0c xpcom_core!PrepareAndDispatch(class nsXPTCStubBase * self = 0x03515838, unsigned int methodIndex = 3, unsigned int * args = 0x02adf014, unsigned int * stackBytesToPop = 0x02adf004)+0x337 (FPO: [Non-Fpo]) (CONV: stdcall) [r:\mozilla\xpcom\reflect\xptcall\src\md\win32\xptcstubs.cpp @ 117] 0d xpcom_core!SharedStub(void)+0x16 (CONV: cdecl) [r:\mozilla\xpcom\reflect\xptcall\src\md\win32\xptcstubs.cpp @ 147] 0e jsd3250!jsds_ExecutionHookProc(struct JSDContext * jsdc = 0x00c87e68, struct JSDThreadState * jsdthreadstate = 0x04861138, unsigned int type = 1, void * callerdata = 0x00000001, long * rval = 0x02adfa20)+0x2cb (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\js\jsd\jsd_xpc.cpp @ 688] 0f jsd3250!jsd_CallExecutionHook(struct JSDContext * jsdc = 0x00c87e68, struct JSContext * cx = 0x05e0bd60, unsigned int type = 1, <function> * hook = 0x01081e20, void * hookData = 0x00000001, long * rval = 0x02adfa20)+0x71 (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\js\jsd\jsd_hook.c @ 177] 10 jsd3250!jsd_TrapHandler(struct JSContext * cx = 0x05e0bd60, struct JSScript * script = 0x016929d0, unsigned char * pc = 0x01692a02 "S", long * rval = 0x02adfa20, void * closure = 0x05fac561)+0x1bf (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\js\jsd\jsd_scpt.c @ 743] 11 js3250!JS_HandleTrap(struct JSContext * cx = 0x05e0bd60, struct JSScript * script = 0x016929d0, unsigned char * pc = 0x01692a02 "S", long * rval = 0x02adfa20)+0x67 (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\js\src\jsdbgapi.c @ 217] 12 js3250!js_Interpret(struct JSContext * cx = 0x05e0bd60, unsigned char * pc = 0x01692a02 "S", long * result = 0x02adfb70)+0x108d4 (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\js\src\jsinterp.c @ 4397] 13 js3250!js_Invoke(struct JSContext * cx = 0x05e0bd60, unsigned int argc = 0, unsigned int flags = 2)+0xdcd (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\js\src\jsinterp.c @ 1258] 14 xpc3250!nsXPCWrappedJSClass::CallMethod(class nsXPCWrappedJS * wrapper = 0x05d71e98, unsigned short methodIndex = 3, class nsXPTMethodInfo * info = 0x017794e0, struct nsXPTCMiniVariant * nativeParams = 0x02adfe84)+0xd17 (FPO: [Non-Fpo]) (CONV: stdcall) [r:\mozilla\js\src\xpconnect\src\xpcwrappedjsclass.cpp @ 1507] 15 xpc3250!nsXPCWrappedJS::CallMethod(unsigned short methodIndex = 3, class nsXPTMethodInfo * info = 0x017794e0, struct nsXPTCMiniVariant * params = 0x02adfe84)+0x3f (FPO: [Non-Fpo]) (CONV: stdcall) [r:\mozilla\js\src\xpconnect\src\xpcwrappedjs.cpp @ 519] 16 xpcom_core!PrepareAndDispatch(class nsXPTCStubBase * self = 0x05d71e98, unsigned int methodIndex = 3, unsigned int * args = 0x02adff4c, unsigned int * stackBytesToPop = 0x02adff3c)+0x337 (FPO: [Non-Fpo]) (CONV: stdcall) [r:\mozilla\xpcom\reflect\xptcall\src\md\win32\xptcstubs.cpp @ 117] 17 xpcom_core!SharedStub(void)+0x16 (CONV: cdecl) [r:\mozilla\xpcom\reflect\xptcall\src\md\win32\xptcstubs.cpp @ 147] 18 xpcom_core!nsThread::Main(void * arg = 0x06071978)+0x8e (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\xpcom\threads\nsthread.cpp @ 118] 19 nspr4!_PR_NativeRunThread(void * arg = 0x04f1cc78)+0xd9 (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\nsprpub\pr\src\threads\combined\pruthr.c @ 436] 1a nspr4!pr_root(void * arg = 0x04f1cc78)+0x17 (FPO: [Non-Fpo]) (CONV: stdcall) [r:\mozilla\nsprpub\pr\src\md\windows\w95thred.c @ 120] 1b MSVCR71D!_threadstartex(void * ptd = 0x060c0e30)+0xb6 (FPO: [Non-Fpo]) (CONV: stdcall) [f:\vs70builds\3077\vc\crtbld\crt\src\threadex.c @ 241] 1c kernel32!BaseThreadStart+0x37 (FPO: [Non-Fpo]) thread that asserted (11794) 00 ntdll!DbgBreakPoint (FPO: [0,0,0]) 01 js3250!JS_Assert(char * s = 0x01049e7c "me == CurrentThreadId()", char * file = 0x01049e98 "r:/mozilla/js/src/jslock.c", int ln = 1039)+0x2c (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\js\src\jsutil.c @ 62] 02 js3250!js_Lock(struct JSThinLock * tl = 0x00cc33e0, long me = 82955384)+0x24 (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\js\src\jslock.c @ 1039] 03 js3250!js_AtomizeString(struct JSContext * cx = 0x05e0bd60, struct JSString * str = 0x0012e610, unsigned int flags = 0x80)+0x5a (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\js\src\jsatom.c @ 654] 04 js3250!js_Atomize(struct JSContext * cx = 0x05e0bd60, char * bytes = 0x0101e0a8 "Object", unsigned int length = 6, unsigned int flags = 0)+0xb5 (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\js\src\jsatom.c @ 739] 05 js3250!js_FindConstructor(struct JSContext * cx = 0x05e0bd60, struct JSObject * start = 0x00000000, char * name = 0x0101e0a8 "Object", long * vp = 0x0012e6d4)+0x22 (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\js\src\jsobj.c @ 2070] 06 js3250!GetClassPrototype(struct JSContext * cx = 0x05e0bd60, struct JSObject * scope = 0x00000000, char * name = 0x0101e0a8 "Object", struct JSObject ** protop = 0x0012e738)+0x1b (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\js\src\jsobj.c @ 3865] 07 js3250!js_NewObject(struct JSContext * cx = 0x05e0bd60, struct JSClass * clasp = 0x0103acb0, struct JSObject * proto = 0x00000000, struct JSObject * parent = 0x00000000)+0x23 (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\js\src\jsobj.c @ 1970] 08 js3250!js_GetArgsObject(struct JSContext * cx = 0x05e0bd60, struct JSStackFrame * fp = 0x052e63d0)+0x40 (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\js\src\jsfun.c @ 249] 09 js3250!JS_GetFrameCallObject(struct JSContext * cx = 0x05e0bd60, struct JSStackFrame * fp = 0x052e63d0)+0x1d (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\js\src\jsdbgapi.c @ 803] 0a js3250!JS_GetFrameScopeChain(struct JSContext * cx = 0x05e0bd60, struct JSStackFrame * fp = 0x052e63d0)+0x10 (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\js\src\jsdbgapi.c @ 792] 0b jsd3250!jsd_GetScopeChainForStackFrame(struct JSDContext * jsdc = 0x00c87e68, struct JSDThreadState * jsdthreadstate = 0x04861138, struct JSDStackFrameInfo * jsdframe = 0x04861188)+0x5b (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\js\jsd\jsd_stak.c @ 322] 0c jsd3250!JSD_GetScopeChainForStackFrame(struct JSDContext * jsdc = 0x00c87e68, struct JSDThreadState * jsdthreadstate = 0x04861138, struct JSDStackFrameInfo * jsdframe = 0x04861188)+0x20 (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\js\jsd\jsdebug.c @ 713] 0d jsd3250!jsdStackFrame::GetScope(class jsdIValue ** _rval = 0x0012e8f0)+0x2e (FPO: [Non-Fpo]) (CONV: stdcall) [r:\mozilla\js\jsd\jsd_xpc.cpp @ 1934] 0e xpcom_core!XPTC_InvokeByIndex(class nsISupports * that = 0x04861218, unsigned int methodIndex = 0x12, unsigned int paramCount = 1, struct nsXPTCVariant * params = 0x0012e8f0)+0x27 (CONV: cdecl) [r:\mozilla\xpcom\reflect\xptcall\src\md\win32\xptcinvoke.cpp @ 102] 0f xpc3250!XPCWrappedNative::CallMethod(class XPCCallContext * ccx = 0x0012eab8, XPCWrappedNative::CallMode mode = CALL_GETTER (1))+0xdd5 (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\js\src\xpconnect\src\xpcwrappednative.cpp @ 2155] 10 xpc3250!XPCWrappedNative::GetAttribute(class XPCCallContext * ccx = 0x0012eab8)+0xe (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\js\src\xpconnect\src\xpcprivate.h @ 1972] 11 xpc3250!XPC_WN_GetterSetter(struct JSContext * cx = 0x01670620, struct JSObject * obj = 0x0458b5a8, unsigned int argc = 0, long * argv = 0x05e07164, long * vp = 0x0012ebe0)+0x23a (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\js\src\xpconnect\src\xpcwrappednativejsops.cpp @ 1503] 12 js3250!js_Invoke(struct JSContext * cx = 0x01670620, unsigned int argc = 0, unsigned int flags = 2)+0xd5d (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\js\src\jsinterp.c @ 1234] 13 js3250!js_InternalInvoke(struct JSContext * cx = 0x01670620, struct JSObject * obj = 0x0458b5a8, long fval = 72922320, unsigned int flags = 0, unsigned int argc = 0, long * argv = 0x00000000, long * rval = 0x0012f708)+0x115 (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\js\src\jsinterp.c @ 1335] 14 js3250!js_InternalGetOrSet(struct JSContext * cx = 0x01670620, struct JSObject * obj = 0x0458b5a8, long id = 24605232, long fval = 72922320, JSAccessMode mode = JSACC_READ (4), unsigned int argc = 0, long * argv = 0x00000000, long * rval = 0x0012f708)+0x215 (CONV: cdecl) [r:\mozilla\js\src\jsinterp.c @ 1394] 15 js3250!js_GetProperty(struct JSContext * cx = 0x01670620, struct JSObject * obj = 0x0458b5a8, long id = 24605232, long * vp = 0x0012f708)+0x516 (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\js\src\jsobj.c @ 2983] 16 js3250!js_Interpret(struct JSContext * cx = 0x01670620, unsigned char * pc = 0x02f2eeae "5", long * result = 0x0012f858)+0xbe75 (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\js\src\jsinterp.c @ 3615] 17 js3250!js_Invoke(struct JSContext * cx = 0x01670620, unsigned int argc = 3, unsigned int flags = 2)+0xdcd (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\js\src\jsinterp.c @ 1258] 18 xpc3250!nsXPCWrappedJSClass::CallMethod(class nsXPCWrappedJS * wrapper = 0x035155c8, unsigned short methodIndex = 3, class nsXPTMethodInfo * info = 0x02f28f38, struct nsXPTCMiniVariant * nativeParams = 0x0012fb6c)+0xd17 (FPO: [Non-Fpo]) (CONV: stdcall) [r:\mozilla\js\src\xpconnect\src\xpcwrappedjsclass.cpp @ 1507] 19 xpc3250!nsXPCWrappedJS::CallMethod(unsigned short methodIndex = 3, class nsXPTMethodInfo * info = 0x02f28f38, struct nsXPTCMiniVariant * params = 0x0012fb6c)+0x3f (FPO: [Non-Fpo]) (CONV: stdcall) [r:\mozilla\js\src\xpconnect\src\xpcwrappedjs.cpp @ 519] 1a xpcom_core!PrepareAndDispatch(class nsXPTCStubBase * self = 0x035155c8, unsigned int methodIndex = 3, unsigned int * args = 0x0012fc34, unsigned int * stackBytesToPop = 0x0012fc24)+0x337 (FPO: [Non-Fpo]) (CONV: stdcall) [r:\mozilla\xpcom\reflect\xptcall\src\md\win32\xptcstubs.cpp @ 117] 1b xpcom_core!SharedStub(void)+0x16 (CONV: cdecl) [r:\mozilla\xpcom\reflect\xptcall\src\md\win32\xptcstubs.cpp @ 147] 1c xpcom_core!XPTC_InvokeByIndex(class nsISupports * that = 0x035155c8, unsigned int methodIndex = 3, unsigned int paramCount = 4, struct nsXPTCVariant * params = 0x04861270)+0x27 (CONV: cdecl) [r:\mozilla\xpcom\reflect\xptcall\src\md\win32\xptcinvoke.cpp @ 102] 1d xpcom_core!EventHandler(struct PLEvent * self = 0x048612e0)+0x72 (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\xpcom\proxy\src\nsproxyevent.cpp @ 561] 1e xpcom_core!PL_HandleEvent(struct PLEvent * self = 0x048612e0)+0x3d (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\xpcom\threads\plevent.c @ 688] 1f xpcom_core!PL_ProcessPendingEvents(struct PLEventQueue * self = 0x00cfba98)+0xc7 (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\xpcom\threads\plevent.c @ 623] 20 xpcom_core!_md_TimerProc(struct HWND__ * hwnd = 0x00d50134, unsigned int uMsg = 0x113, unsigned int idEvent = 0, unsigned long dwTime = 0x9b0c6fd)+0x5d (FPO: [Non-Fpo]) (CONV: stdcall) [r:\mozilla\xpcom\threads\plevent.c @ 1013] 21 USER32!InternalCallWinProc+0x28 22 USER32!UserCallWinProc+0xf3 (FPO: [Non-Fpo]) 23 USER32!DispatchMessageWorker+0x10e (FPO: [Non-Fpo]) 24 USER32!DispatchMessageW+0xf (FPO: [Non-Fpo]) 25 gkwidget!nsAppShell::Run(void)+0x108 (FPO: [Non-Fpo]) (CONV: stdcall) [r:\mozilla\widget\src\windows\nsappshell.cpp @ 135] 26 appcomps!nsAppStartup::Run(void)+0x1e (FPO: [Non-Fpo]) (CONV: stdcall) [r:\mozilla\xpfe\components\startup\src\nsappstartup.cpp @ 208] 27 seamonkey!main1(int argc = 5, char ** argv = 0x00348450, class nsISupports * nativeApp = 0x00c792e8)+0xbf9 (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\xpfe\bootstrap\nsapprunner.cpp @ 1248] 28 seamonkey!main(int argc = 5, char ** argv = 0x00348450)+0x1bb (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\xpfe\bootstrap\nsapprunner.cpp @ 1750] 29 seamonkey!mainCRTStartup(void)+0x12c (FPO: [Non-Fpo]) (CONV: cdecl) [f:\vs70builds\3077\vc\crtbld\crt\src\crtexe.c @ 398] 2a kernel32!BaseProcessStart+0x23 (FPO: [Non-Fpo]) Assertion failure: me == CurrentThreadId(), at r:/mozilla/js/src/jslock.c:1039
Updated•19 years ago
|
Summary: JS_BeginReqiest should JS_ASSERT(cx->thread == js_GetCurrentThreadId()) → JS_BeginRequest should JS_ASSERT(cx->thread == js_GetCurrentThreadId())
stealing thread: 00 ntdll!DbgBreakPoint (FPO: [0,0,0]) 01 js3250!JS_Assert(char * s = 0x0100c060 "cx->thread == js_CurrentThreadId()", char * file = 0x0100c044 "r:/mozilla/js/src/jsapi.c", int ln = 803)+0x2c (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\js\src\jsutil.c @ 62] 02 js3250!JS_BeginRequest(struct JSContext * cx = 0x04c5f008)+0x2a (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\js\src\jsapi.c @ 803] 03 jsd3250!jsd_GetScopeChainForStackFrame(struct JSDContext * jsdc = 0x00c78010, struct JSDThreadState * jsdthreadstate = 0x055b0478, struct JSDStackFrameInfo * jsdframe = 0x055b04c8)+0x44 (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\js\jsd\jsd_stak.c @ 321] 04 jsd3250!JSD_GetScopeChainForStackFrame(struct JSDContext * jsdc = 0x00c78010, struct JSDThreadState * jsdthreadstate = 0x055b0478, struct JSDStackFrameInfo * jsdframe = 0x055b04c8)+0x20 (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\js\jsd\jsdebug.c @ 713] 05 jsd3250!jsdStackFrame::GetScope(class jsdIValue ** _rval = 0x0012e478)+0x2e (FPO: [Non-Fpo]) (CONV: stdcall) [r:\mozilla\js\jsd\jsd_xpc.cpp @ 1934] 06 xpcom_core!XPTC_InvokeByIndex(class nsISupports * that = 0x055b0558, unsigned int methodIndex = 0x12, unsigned int paramCount = 1, struct nsXPTCVariant * params = 0x0012e478)+0x27 (CONV: cdecl) [r:\mozilla\xpcom\reflect\xptcall\src\md\win32\xptcinvoke.cpp @ 102] 07 xpc3250!XPCWrappedNative::CallMethod(class XPCCallContext * ccx = 0x0012e640, XPCWrappedNative::CallMode mode = CALL_GETTER (1))+0xdd5 (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\js\src\xpconnect\src\xpcwrappednative.cpp @ 2155] 08 xpc3250!XPCWrappedNative::GetAttribute(class XPCCallContext * ccx = 0x0012e640)+0xe (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\js\src\xpconnect\src\xpcprivate.h @ 1972] 09 xpc3250!XPC_WN_GetterSetter(struct JSContext * cx = 0x01a9a290, struct JSObject * obj = 0x04450278, unsigned int argc = 0, long * argv = 0x04a70764, long * vp = 0x0012e768)+0x23a (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\js\src\xpconnect\src\xpcwrappednativejsops.cpp @ 1503] 0a js3250!js_Invoke(struct JSContext * cx = 0x01a9a290, unsigned int argc = 0, unsigned int flags = 2)+0xd5d (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\js\src\jsinterp.c @ 1234] 0b js3250!js_InternalInvoke(struct JSContext * cx = 0x01a9a290, struct JSObject * obj = 0x04450278, long fval = 71631376, unsigned int flags = 0, unsigned int argc = 0, long * argv = 0x00000000, long * rval = 0x0012f290)+0x115 (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\js\src\jsinterp.c @ 1335] 0c js3250!js_InternalGetOrSet(struct JSContext * cx = 0x01a9a290, struct JSObject * obj = 0x04450278, long id = 24488104, long fval = 71631376, JSAccessMode mode = JSACC_READ (4), unsigned int argc = 0, long * argv = 0x00000000, long * rval = 0x0012f290)+0x215 (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\js\src\jsinterp.c @ 1394] 0d js3250!js_GetProperty(struct JSContext * cx = 0x01a9a290, struct JSObject * obj = 0x04450278, long id = 24488104, long * vp = 0x0012f290)+0x516 (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\js\src\jsobj.c @ 2983] 0e js3250!js_Interpret(struct JSContext * cx = 0x01a9a290, unsigned char * pc = 0x035501ae "5", long * result = 0x0012f3e0)+0xbe75 (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\js\src\jsinterp.c @ 3615] 0f js3250!js_Invoke(struct JSContext * cx = 0x01a9a290, unsigned int argc = 3, unsigned int flags = 2)+0xdcd (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\js\src\jsinterp.c @ 1258] 10 xpc3250!nsXPCWrappedJSClass::CallMethod(class nsXPCWrappedJS * wrapper = 0x03a28a98, unsigned short methodIndex = 3, class nsXPTMethodInfo * info = 0x0354ab58, struct nsXPTCMiniVariant * nativeParams = 0x0012f6f4)+0xd17 (FPO: [Non-Fpo]) (CONV: stdcall) [r:\mozilla\js\src\xpconnect\src\xpcwrappedjsclass.cpp @ 1507] 11 xpc3250!nsXPCWrappedJS::CallMethod(unsigned short methodIndex = 3, class nsXPTMethodInfo * info = 0x0354ab58, struct nsXPTCMiniVariant * params = 0x0012f6f4)+0x3f (FPO: [Non-Fpo]) (CONV: stdcall) [r:\mozilla\js\src\xpconnect\src\xpcwrappedjs.cpp @ 519] 12 xpcom_core!PrepareAndDispatch(class nsXPTCStubBase * self = 0x03a28a98, unsigned int methodIndex = 3, unsigned int * args = 0x0012f7bc, unsigned int * stackBytesToPop = 0x0012f7ac)+0x337 (FPO: [Non-Fpo]) (CONV: stdcall) [r:\mozilla\xpcom\reflect\xptcall\src\md\win32\xptcstubs.cpp @ 117] 13 xpcom_core!SharedStub(void)+0x16 (CONV: cdecl) [r:\mozilla\xpcom\reflect\xptcall\src\md\win32\xptcstubs.cpp @ 147] 14 xpcom_core!XPTC_InvokeByIndex(class nsISupports * that = 0x03a28a98, unsigned int methodIndex = 3, unsigned int paramCount = 4, struct nsXPTCVariant * params = 0x055b05b0)+0x27 (CONV: cdecl) [r:\mozilla\xpcom\reflect\xptcall\src\md\win32\xptcinvoke.cpp @ 102] 15 xpcom_core!EventHandler(struct PLEvent * self = 0x055b0620)+0x72 (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\xpcom\proxy\src\nsproxyevent.cpp @ 561] 16 xpcom_core!PL_HandleEvent(struct PLEvent * self = 0x055b0620)+0x3d (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\xpcom\threads\plevent.c @ 688] 17 xpcom_core!PL_ProcessPendingEvents(struct PLEventQueue * self = 0x00cfbaf8)+0xc7 (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\xpcom\threads\plevent.c @ 623] 18 xpcom_core!nsEventQueueImpl::ProcessPendingEvents(void)+0x57 (FPO: [Non-Fpo]) (CONV: stdcall) [r:\mozilla\xpcom\threads\nseventqueue.cpp @ 419] 19 gkwidget!nsWindow::DispatchPendingEvents(void)+0x7f (FPO: [Non-Fpo]) (CONV: thiscall) [r:\mozilla\widget\src\windows\nswindow.cpp @ 4148] 1a gkwidget!nsWindow::ProcessMessage(unsigned int msg = 0x200, unsigned int wParam = 0, long lParam = 131230, long * aRetValue = 0x0012fc84)+0xa49 (FPO: [Non-Fpo]) (CONV: thiscall) [r:\mozilla\widget\src\windows\nswindow.cpp @ 4527] 1b gkwidget!nsWindow::WindowProc(struct HWND__ * hWnd = 0x00440cec, unsigned int msg = 0x200, unsigned int wParam = 0, long lParam = 131230)+0x131 (FPO: [Non-Fpo]) (CONV: stdcall) [r:\mozilla\widget\src\windows\nswindow.cpp @ 1359] 1c USER32!InternalCallWinProc+0x28 1d USER32!UserCallWinProcCheckWow+0x150 (FPO: [Non-Fpo]) 1e USER32!DispatchMessageWorker+0x306 (FPO: [Non-Fpo]) 1f USER32!DispatchMessageW+0xf (FPO: [Non-Fpo]) 20 gkwidget!nsAppShell::Run(void)+0x108 (FPO: [Non-Fpo]) (CONV: stdcall) [r:\mozilla\widget\src\windows\nsappshell.cpp @ 135] 21 appcomps!nsAppStartup::Run(void)+0x1e (FPO: [Non-Fpo]) (CONV: stdcall) [r:\mozilla\xpfe\components\startup\src\nsappstartup.cpp @ 208] 22 seamonkey!main1(int argc = 3, char ** argv = 0x00348498, class nsISupports * nativeApp = 0x00c82d88)+0xbf9 (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\xpfe\bootstrap\nsapprunner.cpp @ 1248] 23 seamonkey!main(int argc = 3, char ** argv = 0x00348498)+0x1bb (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\xpfe\bootstrap\nsapprunner.cpp @ 1750] 24 seamonkey!mainCRTStartup(void)+0x12c (FPO: [Non-Fpo]) (CONV: cdecl) [f:\vs70builds\3077\vc\crtbld\crt\src\crtexe.c @ 398] 25 kernel32!BaseProcessStart+0x23 (FPO: [Non-Fpo]) owning thread; 00 ntdll!KiFastSystemCallRet (FPO: [0,0,0]) 01 ntdll!ZwWaitForSingleObject+0xc (FPO: [3,0,0]) 02 kernel32!WaitForSingleObjectEx+0xa8 (FPO: [Non-Fpo]) 03 kernel32!WaitForSingleObject+0x12 (FPO: [Non-Fpo]) 04 nspr4!_PR_MD_WAIT_CV(struct _MDCVar * cv = 0x0559009c, struct _MDLock * lock = 0x055b077c, unsigned int timeout = 0xffffffff)+0x7f (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\nsprpub\pr\src\md\windows\w95cv.c @ 280] 05 nspr4!_PR_WaitCondVar(struct PRThread * thread = 0x051dee30, struct PRCondVar * cvar = 0x05590028, struct PRLock * lock = 0x055b0760, unsigned int timeout = 0xffffffff)+0xd1 (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\nsprpub\pr\src\threads\combined\prucv.c @ 204] 06 nspr4!PR_Wait(struct PRMonitor * mon = 0x055c68b0, unsigned int ticks = 0xffffffff)+0x53 (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\nsprpub\pr\src\threads\prmon.c @ 175] 07 xpcom_core!PL_WaitForEvent(struct PLEventQueue * self = 0x055b0710)+0x68 (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\xpcom\threads\plevent.c @ 808] 08 xpcom_core!nsEventQueueImpl::WaitForEvent(struct PLEvent ** aResult = 0x02c3ee98)+0x52 (FPO: [Non-Fpo]) (CONV: stdcall) [r:\mozilla\xpcom\threads\nseventqueue.cpp @ 500] 09 xpcom_core!nsProxyObject::PostAndWait(class nsProxyObjectCallInfo * proxyInfo = 0x055b0670)+0x1ad (FPO: [Non-Fpo]) (CONV: thiscall) [r:\mozilla\xpcom\proxy\src\nsproxyevent.cpp @ 391] 0a xpcom_core!nsProxyObject::Post(unsigned int methodIndex = 3, class nsXPTMethodInfo * methodInfo = 0x0354ab58, struct nsXPTCMiniVariant * params = 0x02c3ef4c, class nsIInterfaceInfo * interfaceInfo = 0x03555668)+0x1d6 (FPO: [Non-Fpo]) (CONV: thiscall) [r:\mozilla\xpcom\proxy\src\nsproxyevent.cpp @ 511] 0b xpcom_core!nsProxyEventObject::CallMethod(unsigned short methodIndex = 3, class nsXPTMethodInfo * info = 0x0354ab58, struct nsXPTCMiniVariant * params = 0x02c3ef4c)+0x45 (FPO: [Non-Fpo]) (CONV: stdcall) [r:\mozilla\xpcom\proxy\src\nsproxyeventobject.cpp @ 559] 0c xpcom_core!PrepareAndDispatch(class nsXPTCStubBase * self = 0x03a28d08, unsigned int methodIndex = 3, unsigned int * args = 0x02c3f014, unsigned int * stackBytesToPop = 0x02c3f004)+0x337 (FPO: [Non-Fpo]) (CONV: stdcall) [r:\mozilla\xpcom\reflect\xptcall\src\md\win32\xptcstubs.cpp @ 117] 0d xpcom_core!SharedStub(void)+0x16 (CONV: cdecl) [r:\mozilla\xpcom\reflect\xptcall\src\md\win32\xptcstubs.cpp @ 147] 0e jsd3250!jsds_ExecutionHookProc(struct JSDContext * jsdc = 0x00c78010, struct JSDThreadState * jsdthreadstate = 0x055b0478, unsigned int type = 1, void * callerdata = 0x00000001, long * rval = 0x02c3fa20)+0x2cb (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\js\jsd\jsd_xpc.cpp @ 688] 0f jsd3250!jsd_CallExecutionHook(struct JSDContext * jsdc = 0x00c78010, struct JSContext * cx = 0x04c5f008, unsigned int type = 1, <function> * hook = 0x01061e20, void * hookData = 0x00000001, long * rval = 0x02c3fa20)+0x71 (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\js\jsd\jsd_hook.c @ 177] 10 jsd3250!jsd_TrapHandler(struct JSContext * cx = 0x04c5f008, struct JSScript * script = 0x016729d0, unsigned char * pc = 0x01672a01 "S;", long * rval = 0x02c3fa20, void * closure = 0x05297531)+0x1bf (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\js\jsd\jsd_scpt.c @ 743] 11 js3250!JS_HandleTrap(struct JSContext * cx = 0x04c5f008, struct JSScript * script = 0x016729d0, unsigned char * pc = 0x01672a01 "S;", long * rval = 0x02c3fa20)+0x67 (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\js\src\jsdbgapi.c @ 217] 12 js3250!js_Interpret(struct JSContext * cx = 0x04c5f008, unsigned char * pc = 0x01672a01 "S;", long * result = 0x02c3fb70)+0x108d4 (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\js\src\jsinterp.c @ 4397] 13 js3250!js_Invoke(struct JSContext * cx = 0x04c5f008, unsigned int argc = 0, unsigned int flags = 2)+0xdcd (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\js\src\jsinterp.c @ 1258] 14 xpc3250!nsXPCWrappedJSClass::CallMethod(class nsXPCWrappedJS * wrapper = 0x0525bc58, unsigned short methodIndex = 3, class nsXPTMethodInfo * info = 0x01759498, struct nsXPTCMiniVariant * nativeParams = 0x02c3fe84)+0xd17 (FPO: [Non-Fpo]) (CONV: stdcall) [r:\mozilla\js\src\xpconnect\src\xpcwrappedjsclass.cpp @ 1507] 15 xpc3250!nsXPCWrappedJS::CallMethod(unsigned short methodIndex = 3, class nsXPTMethodInfo * info = 0x01759498, struct nsXPTCMiniVariant * params = 0x02c3fe84)+0x3f (FPO: [Non-Fpo]) (CONV: stdcall) [r:\mozilla\js\src\xpconnect\src\xpcwrappedjs.cpp @ 519] 16 xpcom_core!PrepareAndDispatch(class nsXPTCStubBase * self = 0x0525bc58, unsigned int methodIndex = 3, unsigned int * args = 0x02c3ff4c, unsigned int * stackBytesToPop = 0x02c3ff3c)+0x337 (FPO: [Non-Fpo]) (CONV: stdcall) [r:\mozilla\xpcom\reflect\xptcall\src\md\win32\xptcstubs.cpp @ 117] 17 xpcom_core!SharedStub(void)+0x16 (CONV: cdecl) [r:\mozilla\xpcom\reflect\xptcall\src\md\win32\xptcstubs.cpp @ 147] 18 xpcom_core!nsThread::Main(void * arg = 0x0552a220)+0x8e (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\xpcom\threads\nsthread.cpp @ 118] 19 nspr4!_PR_NativeRunThread(void * arg = 0x051dee30)+0xd9 (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\nsprpub\pr\src\threads\combined\pruthr.c @ 436] 1a nspr4!pr_root(void * arg = 0x051dee30)+0x17 (FPO: [Non-Fpo]) (CONV: stdcall) [r:\mozilla\nsprpub\pr\src\md\windows\w95thred.c @ 120] 1b MSVCR71D!_threadstartex(void * ptd = 0x051edb08)+0xb6 (FPO: [Non-Fpo]) (CONV: stdcall) [f:\vs70builds\3077\vc\crtbld\crt\src\threadex.c @ 241] 1c kernel32!BaseThreadStart+0x37 (FPO: [Non-Fpo])
Assignee: general → timeless
Status: UNCONFIRMED → ASSIGNED
Attachment #211717 -
Flags: review?(brendan)
Updated•19 years ago
|
Flags: testcase-
Attachment #211717 -
Flags: review?(mrbkap)
Comment 2•18 years ago
|
||
Comment on attachment 211717 [details] [diff] [review] make assertion catch my error Sure. /be
Attachment #211717 -
Flags: review?(brendan) → review+
Updated•18 years ago
|
Attachment #211717 -
Flags: review?(mrbkap) → review+
Comment on attachment 211717 [details] [diff] [review] make assertion catch my error mozilla/js/src/jsapi.c 3.250
Attachment #211717 -
Attachment is obsolete: true
Status: ASSIGNED → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
Comment on attachment 211717 [details] [diff] [review] make assertion catch my error Can we put this on the branch?
Attachment #211717 -
Flags: approval-branch-1.8.1?(brendan)
Updated•18 years ago
|
Attachment #211717 -
Flags: approval-branch-1.8.1?(brendan) → approval1.8.1?
Comment 5•18 years ago
|
||
be is this caught in the 1.7 rollup or should it land piecemeal?
Comment on attachment 211717 [details] [diff] [review] make assertion catch my error a=dbaron on behalf of drivers, but brendan should be the one to determine whether this lands on its own or as part of a larger landing
Attachment #211717 -
Flags: approval1.8.1? → approval1.8.1+
You need to log in
before you can comment on or make changes to this bug.
Description
•