[jira] [Created] (GROOVY-8932) InvokerHelper.formatMap StackOverflowError issue for some map like jdk.nashorn.internal.runtime.ScriptObject or org.mozilla.javascript.NativeObject

2018-12-18 Thread qxo (JIRA)
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)


[GitHub] groovy pull request #810: fixed for NullPointerException in MissingMethodExc...

2018-10-12 Thread qxo
GitHub user qxo opened a pull request:

https://github.com/apache/groovy/pull/810

fixed for NullPointerException in MissingMethodException

fixed for NullPointerException in MissingMethodException (when type is null)

```
Caused by: java.lang.NullPointerException
at groovy.lang.MissingMethodException.getMessage 
(MissingMethodException.java:60)
at java.lang.Throwable.getLocalizedMessage (Throwable.java:391)
at java.lang.Throwable.toString (Throwable.java:480)
at java.lang.String.valueOf (String.java:2994)
at org.fusesource.jansi.FilterPrintStream.println 
(FilterPrintStream.java:238)
at java.lang.Throwable$WrappedPrintStream.println (Throwable.java:748)
at java.lang.Throwable.printStackTrace (Throwable.java:655)
at java.lang.Throwable.printStackTrace (Throwable.java:643)
at java_lang_Throwable$printStackTrace.call (Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall 
(CallSiteArray.java:47)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call 
(AbstractCallSite.java:116)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call 
(AbstractCallSite.java:128)
```

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/qxo/groovy fix4MissingMethodNullType

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/groovy/pull/810.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #810


commit 3bf0245cff043d788fc9028bfe2af3103ea0c56d
Author: qxo <49526356@...>
Date:   2018-10-13T01:21:30Z

fixed for NullPointerException in MissingMethodException (when type is null)
```
Caused by: java.lang.NullPointerException
at groovy.lang.MissingMethodException.getMessage 
(MissingMethodException.java:60)
at java.lang.Throwable.getLocalizedMessage (Throwable.java:391)
at java.lang.Throwable.toString (Throwable.java:480)
at java.lang.String.valueOf (String.java:2994)
at org.fusesource.jansi.FilterPrintStream.println 
(FilterPrintStream.java:238)
at java.lang.Throwable$WrappedPrintStream.println (Throwable.java:748)
at java.lang.Throwable.printStackTrace (Throwable.java:655)
at java.lang.Throwable.printStackTrace (Throwable.java:643)
at java_lang_Throwable$printStackTrace.call (Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall 
(CallSiteArray.java:47)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call 
(AbstractCallSite.java:116)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call 
(AbstractCallSite.java:128)
```




---