Uncomment the previously landed xpc_DumpJSStack call for now, since it no longer causes fatal JS_Asserts. (Bug 510489) a2.0=DEBUG-only
authorL. David Baron <dbaron@dbaron.org>
Sun, 23 Jan 2011 20:21:40 -0800
changeset 61157 bc2fda9a8b321ac4880275c1a2ec21d1c0e18978
parent 61156 3248feddc867e210b7490618e7a4e7c5dd035803
child 61164 4e57b18dd908c3537f1497fe6f7d0c28e8f7a6c6
push idunknown
push userunknown
push dateunknown
bugs510489
milestone2.0b10pre
Uncomment the previously landed xpc_DumpJSStack call for now, since it no longer causes fatal JS_Asserts. (Bug 510489) a2.0=DEBUG-only
js/src/xpconnect/src/xpcwrappednativescope.cpp
--- a/js/src/xpconnect/src/xpcwrappednativescope.cpp
+++ b/js/src/xpconnect/src/xpcwrappednativescope.cpp
@@ -774,22 +774,18 @@ void DEBUG_CheckForComponentsInScope(JSC
 
     // This is pretty much always bad. It usually means that native code is
     // making a callback to an interface implemented in JavaScript, but the
     // document where the JS object was created has already been cleared and the
     // global properties of that document's window are *gone*. Generally this
     // indicates a problem that should be addressed in the design and use of the
     // callback code.
     NS_ERROR("XPConnect is being called on a scope without a 'Components' property!  (stack and details follow)");
-    // Dumping the JS stack causes fatal JS asserts in some cases, so
-    // comment it out for now.
-#if 0
     printf("The current JS stack is:\n");
     xpc_DumpJSStack(cx, JS_TRUE, JS_TRUE, JS_TRUE);
-#endif
 
     printf("And the object whose scope lacks a 'Components' property is:\n");
     js_DumpObject(startingObj);
 
     JSObject *p = startingObj;
     while(p->isWrapper())
     {
         p = p->getProxyPrivate().toObjectOrNull();