[ 
https://issues.apache.org/jira/browse/GROOVY-11551?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Eric Milles updated GROOVY-11551:
---------------------------------
    Component/s: parser-antlr4
                     (was: Compiler)

> Constructor with Several `as` statements takes exponential time to Compile
> --------------------------------------------------------------------------
>
>                 Key: GROOVY-11551
>                 URL: https://issues.apache.org/jira/browse/GROOVY-11551
>             Project: Groovy
>          Issue Type: Bug
>          Components: parser-antlr4
>    Affects Versions: 4.0.24
>            Reporter: Joseph Athman
>            Priority: Major
>
> Writing a constructor which has a series of `as` statements seems to cause 
> the Groovy compiler to never complete (or at least takes many many hours).
> *Example which works fine:*
> {{class ConstructorTest {}}
> {{    List<String> list1}}
> {{    List<String> list2}}
> {{    ConstructorTest(Object[] values) {}}
> {{        int i = 0}}
> {{        list1 = values[i++] as List<String>}}
> {{        list2 = values[i++] as List<String>}}
>         }
> {{}}}
>  
> *Example which will never finish compiling*
>  
> {{class ConstructorTest {}}
> {{  List<String> list1}}
> {{  List<String> list2}}
> {{  List<String> list3}}
> {{  List<String> list4}}
> {{  List<String> list5}}
> {{  List<String> list6}}
> {{  List<String> list7}}
> {{  List<String> list8}}
> {{  List<String> list9}}
> {{  List<String> list10}}
> {{  List<String> list11}}
> {{  List<String> list12}}
> {{  ConstructorTest(Object[] values) {}}
> {{    int i =0}}
> {{    list1 = values[i++] as List<String>}}
> {{    list2 = values[i++] as List<String>}}
> {{    list3 = values[i++] as List<String>}}
> {{    list4 = values[i++] as List<String>}}
> {{    list5 = values[i++] as List<String>}}
> {{    list6 = values[i++] as List<String>}}
> {{    list7 = values[i++] as List<String>}}
> {{    list8 = values[i++] as List<String>}}
> {{    list9 = values[i++] as List<String>}}
> {{    list10 = values[i++] as List<String>}}
> {{    list11 = values[i++] as List<String>}}
> {{    list12 = values[i++] as List<String>}}
>     }
> {{}}}
>  
> It seems like around 8 or 9 of these statements eventually causes the issue. 
> Note that changing the `as` statements to normal cast statements will fix the 
> compiler issue as well.
> When I've seen this issue, performing a thread dump of the Groovy compiler 
> shows a stack trace like this:
> {{"pool-1-thread-7" #25 prio=5 os_prio=31 cpu=8011.58ms elapsed=182.97s 
> tid=0x0000000129084e00 nid=0x9d03 runnable [0x0000000318612000]}}
> {{java.lang.Thread.State: RUNNABLE}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.PredictionContext.join(PredictionContext.java:196)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ATNConfigSet.add(ATNConfigSet.java:257)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1791)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1718)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1849)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.closure(ParserATNSimulator.java:1684)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.computeTargetState(ParserATNSimulator.java:1137)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.computeReachSet(ParserATNSimulator.java:1020)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.execATN(ParserATNSimulator.java:750)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.execDFA(ParserATNSimulator.java:544)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.adaptivePredict(ParserATNSimulator.java:409)}}
> {{at 
> groovyjarjarantlr4.v4.runtime.atn.ParserATNSimulator.adaptivePredict(ParserATNSimulator.java:357)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.generalClassOrInterfaceType(GroovyParser.java:3107)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.type(GroovyParser.java:3005)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.expression(GroovyParser.java:9126)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.commandExpression(GroovyParser.java:9299)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.statementExpression(GroovyParser.java:8067)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.enhancedStatementExpression(GroovyParser.java:8011)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.expression(GroovyParser.java:9155)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.commandExpression(GroovyParser.java:9299)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.statementExpression(GroovyParser.java:8067)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.statement(GroovyParser.java:6915)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.blockStatement(GroovyParser.java:5555)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.blockStatements(GroovyParser.java:4866)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.blockStatementsOpt(GroovyParser.java:4805)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.block(GroovyParser.java:5501)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.methodBody(GroovyParser.java:3776)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.methodDeclaration(GroovyParser.java:2306)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.memberDeclaration(GroovyParser.java:2147)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.classBodyDeclaration(GroovyParser.java:2092)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.classBody(GroovyParser.java:1857)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.classDeclaration(GroovyParser.java:1735)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.typeDeclaration(GroovyParser.java:693)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.scriptStatement(GroovyParser.java:496)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.scriptStatements(GroovyParser.java:410)}}
> {{at 
> org.apache.groovy.parser.antlr4.GroovyParser.compilationUnit(GroovyParser.java:357)}}
> {{at 
> org.apache.groovy.parser.antlr4.AstBuilder.buildCST(AstBuilder.java:250)}}
> {{at 
> org.apache.groovy.parser.antlr4.AstBuilder.buildCST(AstBuilder.java:220)}}
> {{at 
> org.apache.groovy.parser.antlr4.AstBuilder.buildAST(AstBuilder.java:269)}}
> {{at 
> org.apache.groovy.parser.antlr4.Antlr4ParserPlugin.buildAST(Antlr4ParserPlugin.java:58)}}
> {{at org.codehaus.groovy.control.SourceUnit.buildAST(SourceUnit.java:257)}}
> {{at 
> org.codehaus.groovy.control.CompilationUnit$$Lambda$341/0x00000008003618d8.accept(Unknown
>  Source)}}
> {{at java.util.Iterator.forEachRemaining(java.base@17.0.8/Iterator.java:133)}}
> {{at 
> java.util.Spliterators$IteratorSpliterator.forEachRemaining(java.base@17.0.8/Spliterators.java:1845)}}
> {{at 
> java.util.stream.ReferencePipeline$Head.forEach(java.base@17.0.8/ReferencePipeline.java:762)}}
> {{at 
> org.codehaus.groovy.control.CompilationUnit.buildASTs(CompilationUnit.java:666)}}
> {{at 
> org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:632)}}
> {{at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:389)}}
> {{at 
> groovy.lang.GroovyClassLoader.lambda$parseClass$3(GroovyClassLoader.java:332)}}
> {{at 
> groovy.lang.GroovyClassLoader$$Lambda$315/0x000000080035ad28.provide(Unknown 
> Source)}}
> {{at 
> org.codehaus.groovy.runtime.memoize.StampedCommonCache.compute(StampedCommonCache.java:163)}}
> {{at 
> org.codehaus.groovy.runtime.memoize.StampedCommonCache.getAndPut(StampedCommonCache.java:154)}}
> {{at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:330)}}
> {{at groovy.lang.GroovyClassLoader$parseClass.call(Unknown Source)}}
> {{at com.nvuillam.Request.parseFile(Request.groovy:222)}}
> {{at 
> jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base@17.0.8/Native 
> Method)}}
> {{at 
> jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base@17.0.8/NativeMethodAccessorImpl.java:77)}}
> {{at 
> jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@17.0.8/DelegatingMethodAccessorImpl.java:43)}}
> {{at java.lang.reflect.Method.invoke(java.base@17.0.8/Method.java:568)}}
> {{at 
> org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107)}}
> {{at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)}}
> {{at 
> org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:362)}}
> {{at 
> org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:61)}}
> {{at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:185)}}
> {{at com.nvuillam.Request$_parseFiles_closure3.doCall(Request.groovy:153)}}
> {{at 
> jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base@17.0.8/Native 
> Method)}}
> {{at 
> jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base@17.0.8/NativeMethodAccessorImpl.java:77)}}
> {{at 
> jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@17.0.8/DelegatingMethodAccessorImpl.java:43)}}
> {{at java.lang.reflect.Method.invoke(java.base@17.0.8/Method.java:568)}}
> {{at 
> org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107)}}
> {{at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)}}
> {{at 
> org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:274)}}
> {{at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1035)}}
> {{at groovy.lang.Closure.call(Closure.java:412)}}
> {{at groovy.lang.Closure.call(Closure.java:428)}}
> {{at 
> org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2358)}}
> {{at 
> org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2343)}}
> {{at 
> org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2384)}}
> {{at org.codehaus.groovy.runtime.dgm$202.invoke(Unknown Source)}}
> {{at 
> org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:247)}}
> {{at 
> org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:56)}}
> {{at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:139)}}
> {{at com.nvuillam.Request.parseFiles(Request.groovy:152)}}
> {{at 
> jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base@17.0.8/Native 
> Method)}}
> {{at 
> jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base@17.0.8/NativeMethodAccessorImpl.java:77)}}
> {{at 
> jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@17.0.8/DelegatingMethodAccessorImpl.java:43)}}
> {{at java.lang.reflect.Method.invoke(java.base@17.0.8/Method.java:568)}}
> {{at 
> org.codehaus.groovy.runtime.callsite.PlainObjectMetaMethodSite.doInvoke(PlainObjectMetaMethodSite.java:43)}}
> {{at 
> org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:193)}}
> {{at 
> org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:61)}}
> {{at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:185)}}
> {{at com.nvuillam.Request.process(Request.groovy:120)}}
> {{at com.nvuillam.Request$process.call(Unknown Source)}}
> {{at 
> com.nvuillam.CodeNarcServer$_request_closure5.doCall(CodeNarcServer.groovy:179)}}
> {{at 
> jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base@17.0.8/Native 
> Method)}}
> {{at 
> jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base@17.0.8/NativeMethodAccessorImpl.java:77)}}
> {{at 
> jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@17.0.8/DelegatingMethodAccessorImpl.java:43)}}
> {{at java.lang.reflect.Method.invoke(java.base@17.0.8/Method.java:568)}}
> {{at 
> org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107)}}
> {{at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)}}
> {{at 
> org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:274)}}
> {{at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1035)}}
> {{at groovy.lang.Closure.call(Closure.java:412)}}
> {{at 
> org.codehaus.groovy.runtime.ConvertedClosure.invokeCustom(ConvertedClosure.java:50)}}
> {{at 
> org.codehaus.groovy.runtime.ConversionHandler.invoke(ConversionHandler.java:110)}}
> {{at jdk.proxy3.$Proxy11.handle(jdk.proxy3/Unknown Source)}}
> {{at 
> com.sun.net.httpserver.Filter$Chain.doFilter(jdk.httpserver@17.0.8/Filter.java:95)}}
> {{at 
> sun.net.httpserver.AuthFilter.doFilter(jdk.httpserver@17.0.8/AuthFilter.java:82)}}
> {{at 
> com.sun.net.httpserver.Filter$Chain.doFilter(jdk.httpserver@17.0.8/Filter.java:98)}}
> {{at 
> sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(jdk.httpserver@17.0.8/ServerImpl.java:851)}}
> {{at 
> com.sun.net.httpserver.Filter$Chain.doFilter(jdk.httpserver@17.0.8/Filter.java:95)}}
> {{at com.nvuillam.LoggingFilter.doFilter(LoggingFilter.groovy:32)}}
> {{at 
> com.sun.net.httpserver.Filter$Chain.doFilter(jdk.httpserver@17.0.8/Filter.java:98)}}
> {{at com.nvuillam.GzipFilter.doFilter(GzipFilter.groovy:17)}}
> {{at 
> com.sun.net.httpserver.Filter$Chain.doFilter(jdk.httpserver@17.0.8/Filter.java:98)}}
> {{at com.nvuillam.TracingFilter.doFilter(TracingFilter.groovy:27)}}
> {{at 
> com.sun.net.httpserver.Filter$Chain.doFilter(jdk.httpserver@17.0.8/Filter.java:98)}}
> {{at 
> sun.net.httpserver.ServerImpl$Exchange.run(jdk.httpserver@17.0.8/ServerImpl.java:818)}}
> {{at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@17.0.8/ThreadPoolExecutor.java:1136)}}
> {{at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@17.0.8/ThreadPoolExecutor.java:635)}}
> {{at java.lang.Thread.run(java.base@17.0.8/Thread.java:833)}}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to