Both SpiderMonkey and V8 allows the stack property of error objects to be written to. try { throw new Error; } catch (ex) { ex.stack = 42; console.assert(e.stack === 42); } JSC fails because it treats stack as a read only property.
This is fixed as of rev. 246497. Property descriptor of "stack": { "value": "global code\\nevaluateWithScopeExtension@[native code]\\n\\n_wrapCall", "writable": true, // ! "enumerable": false, "configurable": true }
*** Bug 86523 has been marked as a duplicate of this bug. ***