--- old/src/jdk/nashorn/internal/objects/NativeError.java 2014-06-05 09:30:31.544011601 +0530 +++ new/src/jdk/nashorn/internal/objects/NativeError.java 2014-06-05 09:30:31.212009950 +0530 @@ -327,7 +327,12 @@ final Object exception = ECMAException.getException(sobj); if (exception instanceof Throwable) { 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; } @@ -346,7 +351,12 @@ public static Object setStack(final Object self, final Object value) { Global.checkObject(self); final ScriptObject sobj = (ScriptObject)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; }