John DeRegnaucourt created GROOVY-11192: -------------------------------------------
Summary: Code that causes Groovy Compiler Crash Key: GROOVY-11192 URL: https://issues.apache.org/jira/browse/GROOVY-11192 Project: Groovy Issue Type: Bug Components: Compiler Affects Versions: 4.0.15 Environment: I am running on MacBook Pro, but I think this is a probably regardless of environment. I have been able to repeat this bug for Groovy versions from 3.0.10 to 4.0.15 and all in between. Reporter: John DeRegnaucourt Attachments: MapLong-3.groovy, TestCompilerCrashOnTemplateArgCount.groovy When attempting to compile the code below, it causes the Groovy compiler to crash with: java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1 at org.codehaus.groovy.ast.tools.GenericsUtils.createGenericsSpec(GenericsUtils.java:494) at org.codehaus.groovy.ast.tools.GenericsUtils.createGenericsSpec(GenericsUtils.java:480) at org.codehaus.groovy.ast.tools.GenericsUtils.parameterizeType(GenericsUtils.java:293) The crash is caused because the GenericType parameter is missing on line 9 in TestCompilerCrashOnTemplateArgCount: private Map<Long, String> map = new MapLong<>() // causes compiler crash ...but private Map<Long, String> map2 = new MapLong<String>() // doest not cause compiler crash The compiler is expecting one argument, but a no argument array was allocated. When it attempts to access the array at element [0], the compiler hits ArrayOutOfBoundsException. This is super easy to repeat with the two tiny source files attached. -- This message was sent by Atlassian Jira (v8.20.10#820010)