qxo created GROOVY-8932:
---------------------------

             Summary: InvokerHelper.formatMap StackOverflowError  issue for 
some map like jdk.nashorn.internal.runtime.ScriptObject or  
org.mozilla.javascript.NativeObject
                 Key: GROOVY-8932
                 URL: https://issues.apache.org/jira/browse/GROOVY-8932
             Project: Groovy
          Issue Type: Bug
            Reporter: qxo


test code as below:
{code}
ScriptEngine  js =  new ScriptEngineManager().getEngineByExtension("js");
                def o = js.eval(" var  s={a:5,a:this};s");
                println o                
{cdoe}

{code}
Exception in thread "main" java.lang.StackOverflowError
        at java.util.HashMap.hash(HashMap.java:339)
        at java.util.HashMap.put(HashMap.java:612)
        at java.util.HashSet.add(HashSet.java:220)
        at 
jdk.nashorn.internal.runtime.ScriptObject.getOwnKeys(ScriptObject.java:1366)
        at 
jdk.nashorn.internal.runtime.ScriptObject$KeyIterator.init(ScriptObject.java:2470)
        at 
jdk.nashorn.internal.runtime.ScriptObject$ScriptObjectIterator.hasNext(ScriptObject.java:2441)
        at 
jdk.nashorn.internal.runtime.ScriptObject.isEmpty(ScriptObject.java:1702)
        at 
jdk.nashorn.api.scripting.ScriptObjectMirror$15.call(ScriptObjectMirror.java:393)
        at 
jdk.nashorn.api.scripting.ScriptObjectMirror$15.call(ScriptObjectMirror.java:391)
        at 
jdk.nashorn.api.scripting.ScriptObjectMirror.inGlobal(ScriptObjectMirror.java:858)
        at 
jdk.nashorn.api.scripting.ScriptObjectMirror.isEmpty(ScriptObjectMirror.java:391)
        at 
org.codehaus.groovy.runtime.InvokerHelper.formatMap(InvokerHelper.java:666)
        at 
org.codehaus.groovy.runtime.InvokerHelper.format(InvokerHelper.java:625)
        at 
org.codehaus.groovy.runtime.InvokerHelper.formatMap(InvokerHelper.java:687)
        at 
org.codehaus.groovy.runtime.InvokerHelper.format(InvokerHelper.java:625)
{code}




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to