--- old/src/jdk/nashorn/internal/objects/NativeError.java 2014-06-04 18:24:33.174538332 +0530 +++ new/src/jdk/nashorn/internal/objects/NativeError.java 2014-06-04 18:24:33.074537828 +0530 @@ -316,7 +316,12 @@ final Object exception = ECMAException.getException(sobj); if (exception instanceof Throwable) { final Object value = getScriptStackString(sobj, (Throwable)exception); - sobj.put(STACK, value, false); + if (sobj.hasOwnProperty(STACK)) { + sobj.put(STACK, value, false); + } else { + sobj.addOwnProperty(STACK, Attribute.NOT_ENUMERABLE, value); + } + return value; } @@ -334,7 +339,11 @@ */ public static Object setStack(final Object self, final Object value) { final ScriptObject sobj = Global.checkObject(self); - sobj.set(STACK, value, false); + if (sobj.hasOwnProperty(STACK)) { + sobj.put(STACK, value, false); + } else { + sobj.addOwnProperty(STACK, Attribute.NOT_ENUMERABLE, value); + } return value; }