Closed Bug 240462 Opened 21 years ago Closed 21 years ago

Deadlock in ClaimScope

Categories

(Core :: XPConnect, defect)

defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 176182
mozilla1.8alpha1

People

(Reporter: nsayer, Assigned: brendan)

Details

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.6) Gecko/20040113 Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.6) Gecko/20040113 We're running javascript on a non ui thread and using the @mozilla.org/xpcomproxy;1/nsIProxyObjectManager to proxy code to the ui thread. Code on the non ui thread triggers an exception: 7ffe0304() ntdll.dll!77f5c534() kernel32.dll!77e7ac21() > nspr4.dll!_PR_WaitCondVar(PRThread * thread=0x03071978, PRCondVar * cvar=0x00ae0b28, PRLock * lock=0x00abbda0, unsigned int timeout=4294967295) Line 201 + 0x17 C nspr4.dll!PR_WaitCondVar(PRCondVar * cvar=0x00ae0b28, unsigned int timeout=4294967295) Line 548 + 0x17 C js3250.dll!ClaimScope(JSScope * scope=0x027b3c80, JSContext * cx=0x027de2c0) Line 496 + 0x12 C js3250.dll!js_GetSlotThreadSafe(JSContext * cx=0x027de2c0, JSObject * obj=0x0275efc8, unsigned long slot=0) Line 572 + 0x54 C js3250.dll!JS_ResolveStandardClass(JSContext * cx=0x027de2c0, JSObject * obj=0x0275efc8, long id=10982756, int * resolved=0x0488d680) Line 1356 + 0xf0 C jsdom.dll!nsWindowSH::NewResolve(nsIXPConnectWrappedNative * wrapper=0x027b3c20, JSContext * cx=0x02f72808, JSObject * obj=0x0275efc8, long id=10982756, unsigned int flags=0, JSObject * * objp=0x0488d7a0, int * _retval=0x0488d724) Line 4112 + 0x16 C++ xpc3250.dll!XPC_WN_Helper_NewResolve(JSContext * cx=0x02f72808, JSObject * obj=0x0275efc8, long idval=10982756, unsigned int flags=0, JSObject * * objp=0x0488d810) Line 912 + 0x45 C++ js3250.dll!_js_LookupProperty(JSContext * cx=0x02f72808, JSObject * obj=0x0275efc8, long id=10994592, JSObject * * objp=0x0488d8c0, JSProperty * * propp=0x0488d8b4, const char * file=0x00df3ddc, unsigned int line=2594) Line 2406 + 0x32 C js3250.dll!js_GetProperty(JSContext * cx=0x02f72808, JSObject * obj=0x0275efc8, long id=10994592, long * vp=0x0488d8e4) Line 2594 + 0x23 C js3250.dll!js_TryMethod(JSContext * cx=0x02f72808, JSObject * obj=0x0275efc8, JSAtom * atom=0x00a7c3a0, unsigned int argc=0, long * argv=0x00000000, long * rval=0x0488d94c) Line 3614 + 0x1b C js3250.dll!js_DefaultValue(JSContext * cx=0x02f72808, JSObject * obj=0x0275efc8, JSType hint=JSTYPE_STRING, long * vp=0x0488d988) Line 3031 + 0x22 C js3250.dll!js_ValueToString(JSContext * cx=0x02f72808, long v=41283528) Line 2655 + 0x19 C js3250.dll!JS_ValueToString(JSContext * cx=0x02f72808, long v=41283528) Line 529 + 0xd C xpc3250.dll!JSVAL2String(JSContext * cx=0x02f72808, long val=41283528, int * isString=0x0488da74) Line 52 + 0xe C++ xpc3250.dll!FormatJSFrame(JSContext * cx=0x02f72808, JSStackFrame * fp=0x0488e7ac, char * buf=0x03a9c238, int num=1, int showArgs=1, int showLocals=1, int showThisProps=1) Line 245 + 0x14 C++ xpc3250.dll!FormatJSStackDump(JSContext * cx=0x02f72808, char * buf=0x03a9b578, int showArgs=1, int showLocals=1, int showThisProps=1) Line 277 + 0x21 C++ xpc3250.dll!xpc_DumpJSStack(JSContext * cx=0x02f72808, int showArgs=1, int showLocals=1, int showThisProps=1) Line 292 + 0x17 C++ xpc3250.dll!DEBUG_ReportWrapperThreadSafetyError(XPCCallContext & ccx={...}, const char * msg=0x00e8b038, const XPCWrappedNative * wrapper=0x00af9310) Line 2939 + 0x14 C++ xpc3250.dll!DEBUG_CheckWrapperThreadSafety(const XPCWrappedNative * wrapper=0x00af9310) Line 2968 + 0x15 C++ xpc3250.dll!XPCCallContext::XPCCallContext(XPCContext::LangType callerLanguage=LANG_JS, JSContext * cx=0x02f72808, JSObject * obj=0x00a7a748, JSObject * funobj=0x00b2dd10, long name=0, unsigned int argc=4294967295, long * argv=0x00000000, long * rval=0x00000000) Line 149 + 0xc C++ xpc3250.dll!XPC_WN_GetterSetter(JSContext * cx=0x02f72808, JSObject * obj=0x00a7a748, unsigned int argc=0, long * argv=0x031f04dc, long * vp=0x0488dd78) Line 1283 C++ js3250.dll!js_Invoke(JSContext * cx=0x02f72808, unsigned int argc=0, unsigned int flags=2) Line 941 + 0x20 C js3250.dll!js_InternalInvoke(JSContext * cx=0x02f72808, JSObject * obj=0x00a7a748, long fval=11722000, unsigned int flags=0, unsigned int argc=0, long * argv=0x00000000, long * rval=0x0488e708) Line 1035 + 0x14 C js3250.dll!js_InternalGetOrSet(JSContext * cx=0x02f72808, JSObject * obj=0x00a7a748, long id=11361016, long fval=11722000, JSAccessMode mode=JSACC_READ, unsigned int argc=0, long * argv=0x00000000, long * rval=0x0488e708) Line 1078 + 0x1f C js3250.dll!js_GetProperty(JSContext * cx=0x02f72808, JSObject * obj=0x00a7a748, long id=11361016, long * vp=0x0488e708) Line 2672 + 0x32 C js3250.dll!js_Interpret(JSContext * cx=0x02f72808, long * result=0x0488e850) Line 2792 + 0x6f5 C js3250.dll!js_Invoke(JSContext * cx=0x02f72808, unsigned int argc=1, unsigned int flags=2) Line 958 + 0xd C js3250.dll!js_InternalInvoke(JSContext * cx=0x02f72808, JSObject * obj=0x0275eca8, long fval=10989376, unsigned int flags=0, unsigned int argc=1, long * argv=0x0488e944, long * rval=0x0488e96c) Line 1035 + 0x14 C js3250.dll!JS_CallFunctionValue(JSContext * cx=0x02f72808, JSObject * obj=0x0275eca8, long fval=10989376, unsigned int argc=1, long * argv=0x0488e944, long * rval=0x0488e96c) Line 3592 + 0x1f C xpc3250.dll!nsXPCWrappedJSClass::CallQueryInterfaceOnJSObject(XPCCallContext & ccx={...}, JSObject * jsobj=0x0275eca8, const nsID & aIID={...}) Line 271 + 0x1c C++ xpc3250.dll!nsXPCWrappedJSClass::DelegatedQueryInterface(nsXPCWrappedJS * self=0x01d7d500, const nsID & aIID={...}, void * * aInstancePtr=0x0488ec00) Line 587 + 0x19 C++ xpc3250.dll!nsXPCWrappedJS::QueryInterface(const nsID & aIID={...}, void * * aInstancePtr=0x0488ec00) Line 98 C++ xpcom.dll!XPTC_InvokeByIndex(nsISupports * that=0x01d7d500, unsigned int methodIndex=0, unsigned int paramCount=2, nsXPTCVariant * params=0x03a9ad38) Line 102 C++ xpcom.dll!nsProxyObject::Post(unsigned int methodIndex=0, nsXPTMethodInfo * methodInfo=0x00ad4c60, nsXPTCMiniVariant * params=0x0488eb34, nsIInterfaceInfo * interfaceInfo=0x00b3d550) Line 459 + 0x1e C++ xpcom.dll!nsProxyEventObject::CallMethod(unsigned short methodIndex=0, const nsXPTMethodInfo * info=0x00ad4c60, nsXPTCMiniVariant * params=0x0488eb34) Line 549 + 0x32 C++ xpcom.dll!nsProxyEventClass::CallQueryInterfaceOnProxy(nsProxyEventObject * self=0x00b01e88, const nsID & aIID={...}, nsProxyEventObject * * aInstancePtr=0x0488ec00) Line 260 + 0x19 C++ xpcom.dll!nsProxyEventClass::DelegatedQueryInterface(nsProxyEventObject * self=0x00b01e88, const nsID & aIID={...}, void * * aInstancePtr=0x0488ec00) Line 367 C++ xpcom.dll!nsProxyEventObject::QueryInterface(const nsID & aIID={...}, void * * aInstancePtr=0x0488ec00) Line 516 C++ xpcom.dll!nsQueryInterface::operator()(const nsID & aIID={...}, void * * answer=0x0488ec00) Line 47 + 0x19 C++ caps.dll!nsCOMPtr<nsISecurityCheckedComponent>::assign_from_helper(const nsCOMPtr_helper & helper={...}, const nsID & aIID={...}) Line 957 + 0x12 C++ caps.dll!nsCOMPtr<nsISecurityCheckedComponent>::nsCOMPtr<nsISecurityCheckedComponent>(const nsQueryInterface & helper={...}) Line 552 C++ caps.dll!nsScriptSecurityManager::CanCreateWrapper(JSContext * cx=0x02f72808, const nsID & aIID={...}, nsISupports * aObj=0x00b01e88, nsIClassInfo * aClassInfo=0x00000000, void * * aPolicy=0x00000000) Line 2347 C++ xpc3250.dll!XPCWrappedNative::InitTearOff(XPCCallContext & ccx={...}, XPCWrappedNativeTearOff * aTearOff=0x01eb9bc0, XPCNativeInterface * aInterface=0x01eb9fd8, int needJSObject=0) Line 1432 + 0x35 C++ xpc3250.dll!XPCWrappedNative::FindTearOff(XPCCallContext & ccx={...}, XPCNativeInterface * aInterface=0x01eb9fd8, int needJSObject=0, unsigned int * pError=0x0488ee10) Line 1268 + 0x18 C++ xpc3250.dll!XPCCallContext::CanCallNow() Line 261 + 0x1c C++ xpc3250.dll!XPCWrappedNative::CallMethod(XPCCallContext & ccx={...}, XPCWrappedNative::CallMode mode=CALL_METHOD) Line 1584 + 0x8 C++ xpc3250.dll!XPC_WN_CallMethod(JSContext * cx=0x02f72808, JSObject * obj=0x028f1398, unsigned int argc=6, long * argv=0x031f0484, long * vp=0x0488f204) Line 1272 + 0xb C++ js3250.dll!js_Invoke(JSContext * cx=0x02f72808, unsigned int argc=6, unsigned int flags=0) Line 941 + 0x20 C js3250.dll!js_Interpret(JSContext * cx=0x02f72808, long * result=0x0488fb70) Line 2962 + 0xf C js3250.dll!js_Invoke(JSContext * cx=0x02f72808, unsigned int argc=0, unsigned int flags=2) Line 958 + 0xd C xpc3250.dll!nsXPCWrappedJSClass::CallMethod(nsXPCWrappedJS * wrapper=0x031d1c88, unsigned short methodIndex=3, const nsXPTMethodInfo * info=0x01e69438, nsXPTCMiniVariant * nativeParams=0x0488fe84) Line 1336 + 0x14 C++ xpc3250.dll!nsXPCWrappedJS::CallMethod(unsigned short methodIndex=3, const nsXPTMethodInfo * info=0x01e69438, nsXPTCMiniVariant * params=0x0488fe84) Line 450 C++ xpcom.dll!PrepareAndDispatch(nsXPTCStubBase * self=0x031d1c88, unsigned int methodIndex=3, unsigned int * args=0x0488ff4c, unsigned int * stackBytesToPop=0x0488ff3c) Line 117 + 0x1c C++ xpcom.dll!SharedStub() Line 147 C++ xpcom.dll!nsThread::Main(void * arg=0x031bbf50) Line 118 + 0x1a C++ nspr4.dll!_PR_NativeRunThread(void * arg=0x03071978) Line 433 + 0xd C nspr4.dll!pr_root(void * arg=0x03071978) Line 113 + 0xd C msvcr70d.dll!_threadstartex(void * ptd=0x02fce728) Line 241 + 0xd C kernel32.dll!77e7d33b() _PR_WaitCondVar locals: + thread 0x03071978 PRThread * + cvar 0x00ae0b28 PRCondVar * + lock 0x00abbda0 PRLock * timeout 4294967295 unsigned int rv PR_SUCCESS PRStatus is 805501520 int Code on the ui thread is doing normal work: 7ffe0304() ntdll.dll!77f5c534() kernel32.dll!77e7ac21() > nspr4.dll!_PR_WaitCondVar(PRThread * thread=0x002e5ff8, PRCondVar * cvar=0x00ae0b28, PRLock * lock=0x00abbda0, unsigned int timeout=4294967295) Line 201 + 0x17 C nspr4.dll!PR_WaitCondVar(PRCondVar * cvar=0x00ae0b28, unsigned int timeout=4294967295) Line 548 + 0x17 C js3250.dll!ClaimScope(JSScope * scope=0x00af7170, JSContext * cx=0x029412d8) Line 496 + 0x12 C js3250.dll!js_GetSlotThreadSafe(JSContext * cx=0x029412d8, JSObject * obj=0x02862fc0, unsigned long slot=2) Line 572 + 0x54 C js3250.dll!JS_CloneFunctionObject(JSContext * cx=0x029412d8, JSObject * funobj=0x02862fc0, JSObject * parent=0x03a5a448) Line 2920 + 0xe7 C xpc3250.dll!DefinePropertyIfFound(XPCCallContext & ccx={...}, JSObject * obj=0x03a5a448, long idval=10989932, XPCNativeSet * set=0x02ffff70, XPCNativeInterface * iface=0x02f24380, XPCNativeMember * member=0x02f243c8, XPCWrappedNativeScope * scope=0x00af2328, int reflectToStringAndToSource=1, XPCWrappedNative * wrapperToReflectInterfaceNames=0x03a89108, XPCWrappedNative * wrapperToReflectDoubleWrap=0x03a89108, XPCNativeScriptableInfo * scriptableInfo=0x00000000, unsigned int propFlags=7, int * resolved=0x00000000) Line 441 + 0x1d C++ xpc3250.dll!XPC_WN_NoHelper_Resolve(JSContext * cx=0x029412d8, JSObject * obj=0x03a5a448, long idval=10989932) Line 717 + 0x3b C++ js3250.dll!_js_LookupProperty(JSContext * cx=0x029412d8, JSObject * obj=0x03a5a448, long id=11674208, JSObject * * objp=0x0012eed4, JSProperty * * propp=0x0012eec8, const char * file=0x00df3ddc, unsigned int line=2594) Line 2451 + 0x2a C js3250.dll!js_GetProperty(JSContext * cx=0x029412d8, JSObject * obj=0x03a5a448, long id=11674208, long * vp=0x0012f670) Line 2594 + 0x23 C js3250.dll!js_Interpret(JSContext * cx=0x029412d8, long * result=0x0012f7b8) Line 2792 + 0x6f5 C js3250.dll!js_Invoke(JSContext * cx=0x029412d8, unsigned int argc=2, unsigned int flags=2) Line 958 + 0xd C xpc3250.dll!nsXPCWrappedJSClass::CallMethod(nsXPCWrappedJS * wrapper=0x0292fb08, unsigned short methodIndex=3, const nsXPTMethodInfo * info=0x00b30be8, nsXPTCMiniVariant * nativeParams=0x0012facc) Line 1336 + 0x14 C++ xpc3250.dll!nsXPCWrappedJS::CallMethod(unsigned short methodIndex=3, const nsXPTMethodInfo * info=0x00b30be8, nsXPTCMiniVariant * params=0x0012facc) Line 450 C++ xpcom.dll!PrepareAndDispatch(nsXPTCStubBase * self=0x0292fb08, unsigned int methodIndex=3, unsigned int * args=0x0012fb94, unsigned int * stackBytesToPop=0x0012fb84) Line 117 + 0x1c C++ xpcom.dll!SharedStub() Line 147 C++ xpcom.dll!XPTC_InvokeByIndex(nsISupports * that=0x0292fb08, unsigned int methodIndex=3, unsigned int paramCount=2, nsXPTCVariant * params=0x03a86478) Line 102 C++ xpcom.dll!EventHandler(PLEvent * self=0x03a864c8) Line 545 + 0x29 C++ xpcom.dll!PL_HandleEvent(PLEvent * self=0x03a864c8) Line 671 + 0xa C xpcom.dll!PL_ProcessPendingEvents(PLEventQueue * self=0x00a8ac48) Line 606 + 0x9 C xpcom.dll!_md_TimerProc(HWND__ * hwnd=0x000a0216, unsigned int uMsg=275, unsigned int idEvent=0, unsigned long dwTime=20419296) Line 977 + 0x9 C user32.dll!77d43a50() user32.dll!77d442c5() user32.dll!77d43e6f() user32.dll!77d43ddf() appshell.dll!nsAppShellService::Run() Line 484 C++ mozilla.exe!main1(int argc=1, char * * argv=0x002e5428, nsISupports * nativeApp=0x00ab7ee0) Line 1291 + 0x20 C++ mozilla.exe!main(int argc=1, char * * argv=0x002e5428) Line 1678 + 0x25 C++ mozilla.exe!mainCRTStartup() Line 400 + 0x11 C kernel32.dll!77e814c7() _PR_WaitCondVar locals: + thread 0x002e5ff8 PRThread * + cvar 0x00ae0b28 PRCondVar * + lock 0x00abbda0 PRLock * timeout 4294967295 unsigned int rv PR_SUCCESS PRStatus is 805501520 int Reproducible: Always Steps to Reproduce:
Assignee: general → timeless
This is an embedding bug, not a JS engine bug. Mozilla is flouting the request model rules, and that makes non-main-thread JS pay. Gonna blame XPConnect for now. See also bug 176812, which I'm marking as a dependency for now. /be
Assignee: timeless → brendan
Status: UNCONFIRMED → NEW
Component: JavaScript Engine → XPConnect
Depends on: 176182
Ever confirmed: true
OS: Windows XP → All
Hardware: PC → All
Target Milestone: --- → mozilla1.8alpha
This is really a dup. /be *** This bug has been marked as a duplicate of 176182 ***
Status: NEW → RESOLVED
Closed: 21 years ago
No longer depends on: 176182
Resolution: --- → DUPLICATE
timeless sez this: msvcr70d.dll!abort() Line 44 + 0x7 C js3250.dll!js_Lock(JSThinLock * tl=0x00a62370, long me=0x002e5f48) Line 1001 + 0x21 C > js3250.dll!js_AtomizeString(JSContext * cx=0x00a62370, JSString * str=0x070df268, unsigned int flags=0x00000080) Line 612 C js3250.dll!js_Atomize(JSContext * cx=0x03388a78, const char * bytes=0x00d74e04, unsigned int length=0x00000008, unsigned int flags=0x00000000) Line 693 + 0x1a C js3250.dll!JS_InitClass(JSContext * cx=0x03388a78, JSObject * obj=0x03304528, JSObject * parent_proto=0x00000000, JSClass * clasp=0x00d87c40, int (JSContext *, JSObject *, unsigned int, long *, long *)* constructor=0x00d35eca, unsigned int nargs=0x00000001, JSPropertySpec * ps=0x00d87be0, JSFunctionSpec * fs=0x00d87c88, JSPropertySpec * static_ps=0x00000000, JSFunctionSpec * static_fs=0x00000000) Line 1881 + 0x1a C js3250.dll!js_InitFunctionClass(JSContext * cx=0x03388a78, JSObject * obj=0x03304528) Line 1875 + 0x28 C js3250.dll!InitFunctionAndObjectClasses(JSContext * cx=0x03388a78, JSObject * obj=0x03304528) Line 1101 + 0x9 C js3250.dll!JS_ResolveStandardClass(JSContext * cx=0x03388a78, JSObject * obj=0x03304528, long id=0x00a6a480, int * resolved=0x070df3a4) Line 1375 + 0x8 C jsdom.dll!nsWindowSH::NewResolve(nsIXPConnectWrappedNative * wrapper=0x03388a78, JSContext * cx=0x00d87c40, JSObject * obj=0x00750046, long id=0x0063006e, unsigned int flags=0x00690074, JSObject * * objp=0x006e006f, int * _retval=0x002e0000) Line 4112 + 0x12 C++ xpc3250.dll!XPC_WN_Helper_NewResolve(JSContext * cx=0x00750046, JSObject * obj=0x0063006e, long idval=0x00690074, unsigned int flags=0x006e006f, JSObject * * objp=0x002e0000) Line 914 C++ js3250.dll!_js_LookupProperty(JSContext * cx=0x040fe3e8, JSObject * obj=0x03304528, long id=0x00a6c530, JSObject * * objp=0x070df528, JSProperty * * propp=0x070df52c, const char * file=0x00d7a70c, unsigned int line=0x0000078e) Line 2406 + 0x16 C js3250.dll!FindConstructor(JSContext * cx=0x040fe3e8, JSObject * scope=0x00000001, const char * name=0x00d74e04, long * vp=0x070df544) Line 1934 + 0x1b C js3250.dll!GetClassPrototype(JSContext * cx=0x040fe3e8, JSObject * scope=0x03e773c0, const char * name=0x00d74e04, JSObject * * protop=0x070df58c) Line 3494 + 0x12 C js3250.dll!js_NewObject(JSContext * cx=0x040fe3e8, JSClass * clasp=0x00d87c40, JSObject * proto=0x00000000, JSObject * parent=0x03e773c0) Line 1827 + 0x14 C js3250.dll!js_NewFunction(JSContext * cx=0x040fe3e8, JSObject * funobj=0x00000000, int (JSContext *, JSObject *, unsigned int, long *, long *)* native=0x00dbe1ab, unsigned int nargs=0x00000000, unsigned int flags=0x00000000, JSObject * parent=0x03e773c0, JSAtom * atom=0x00a6d3f0) Line 1919 + 0x11 C js3250.dll!JS_NewFunction(JSContext * cx=0x040fe3e8, int (JSContext *, JSObject *, unsigned int, long *, long *)* native=0x00dbe1ab, unsigned int nargs=0x00000000, unsigned int flags=0x00000000, JSObject * parent=0x03e773c0, const char * name=0x00dcf208) Line 2913 + 0x17 C xpc3250.dll!DefinePropertyIfFound(XPCCallContext & ccx={...}, JSObject * obj=0x03e773c0, long idval=0x00a6a564, XPCNativeSet * set=0x00dbe1ab, XPCNativeInterface * iface=0x00000000, XPCNativeMember * member=0x00000000, XPCWrappedNativeScope * scope=0x03388f88, int reflectToStringAndToSource=0x00000001, XPCWrappedNative * wrapperToReflectInterfaceNames=0x00000000, XPCWrappedNative * wrapperToReflectDoubleWrap=0x00000000, XPCNativeScriptableInfo * scriptableInfo=0x05357ff0, unsigned int propFlags=0x00000001, int * resolved=0x00000000) Line 300 + 0x1e C++ xpc3250.dll!XPC_WN_ModsAllowed_Proto_Resolve(JSContext * cx=0x040fe3e8, JSObject * obj=0x03e773c0, long idval=0x00a6a564) Line 1402 + 0x1e C++ js3250.dll!_js_LookupProperty(JSContext * cx=0x040fe3e8, JSObject * obj=0x03e773c0, long id=0x00a6d3f0, JSObject * * objp=0x070df774, JSProperty * * propp=0x070df778, const char * file=0x00d7a70c, unsigned int line=0x00000a22) Line 2451 + 0x10 C js3250.dll!js_GetProperty(JSContext * cx=0x040fe3e8, JSObject * obj=0x03e77870, long id=0x00a6d3f0, long * vp=0x070df7a8) Line 2594 + 0x21 C js3250.dll!js_TryMethod(JSContext * cx=0x040fe3e8, JSObject * obj=0x03e77870, JSAtom * atom=0x00a6d3f0, unsigned int argc=0x00000000, long * argv=0x00000000, long * rval=0x070df7e4) Line 3614 + 0x16 C js3250.dll!js_DefaultValue(JSContext * cx=0x040fe3e8, JSObject * obj=0x03e77870, JSType hint=JSTYPE_STRING, long * vp=0x070df808) Line 3031 + 0x1b C js3250.dll!js_ValueToString(JSContext * cx=0x040fe3e8, long v=0x03e77870) Line 2655 + 0x10 C xpc3250.dll!JSVAL2String(JSContext * cx=0x040fe3e8, long val=0x03e77870, int * isString=0x070df26c) Line 53 C++ xpc3250.dll!FormatJSFrame(JSContext * cx=0x040fe3e8, JSStackFrame * fp=0x00000001, char * buf=0x054443b0, int num=0x00000001, int showArgs=0x00000001, int showLocals=0x00000001, int showThisProps=0x00000001) Line 245 + 0x10 C++ xpc3250.dll!xpc_DumpJSStack(JSContext * cx=0x040fe3e8, int showArgs=0x00000001, int showLocals=0x00000001, int showThisProps=0x00000001) Line 292 + 0x30 C++
Please don't blat huge stacks directly into comments. Attachments with commentary about what they mean, are much better. But this is a resolved-dup bug, why post here at all? We know what the problem is in bug 176182. We just need to fix it. /be
brendan: attachment stacks aren't searchable, i didn't want this stack in the live bug, it'd interfere w/ whatever development someone may do. but I wanted to be able to recognize the stack.
Then maybe adding a few of the notable function names in the comment would address the searchability and still keep things tidy.
You need to log in before you can comment on or make changes to this bug.