[ https://issues.apache.org/jira/browse/GROOVY-8324?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16176907#comment-16176907 ]
ASF GitHub Bot commented on GROOVY-8324: ---------------------------------------- GitHub user mwhipple opened a pull request: https://github.com/apache/groovy/pull/604 GROOVY-8324: Skip logging 'this' argument in IndyInterface You can merge this pull request into a Git repository by running: $ git pull https://github.com/mwhipple/groovy GROOVY-8324 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/groovy/pull/604.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 #604 ---- commit c153a7220c76e814dd562faeb4d41f3975879dec Author: Matt Whipple <mwhip...@brightcove.com> Date: 2017-09-22T18:34:10Z GROOVY-8324: Skip logging 'this' argument in IndyInterface ---- > Enabling groovy.indy.logging can lead to stack overflows > -------------------------------------------------------- > > Key: GROOVY-8324 > URL: https://issues.apache.org/jira/browse/GROOVY-8324 > Project: Groovy > Issue Type: Bug > Affects Versions: 2.4.12 > Reporter: Matt Whipple > Priority: Minor > Labels: invokedynamic > > Still digging through this a bit more, but while trying to diagnose > performance issues I enabled indy logging which led to: > {noformat} > ! Caused by: java.lang.StackOverflowError: null > ! at java.lang.Class.getEnclosingMethodInfo(Class.java:1072) > ! at java.lang.Class.getEnclosingClass(Class.java:1272) > ! at java.lang.Class.getSimpleBinaryName(Class.java:1443) > ! at java.lang.Class.getSimpleName(Class.java:1309) > ! at java.lang.invoke.MethodType.toString(MethodType.java:797) > ! at java.lang.String.valueOf(String.java:2982) <--- > Loops back to here > ! at java.lang.StringBuilder.append(StringBuilder.java:131) > ! at > org.codehaus.groovy.vmplugin.v7.Selector$MethodSelector.<init>(Selector.java:488) > ! at org.codehaus.groovy.vmplugin.v7.Selector.getSelector(Selector.java:98) > ! at > org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:227) > ! at MyDomainClass.toString(MyDomainClass.groovy) > {noformat} > The domain class itself stringifies without issue, changing the class to use > {{@CompileStatic}} seems to have resolved this issue. It might be nice if > that specific log message could be toggled independently of the others to try > to avoid the possibility of blowing up while attempting to troubleshooting. > {noformat} > java version "1.8.0_45" > Java(TM) SE Runtime Environment (build 1.8.0_45-b14) > Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode) > {noformat} -- This message was sent by Atlassian JIRA (v6.4.14#64029)