[jira] [Commented] (GROOVY-8753) Compiler error in STC: exception in phase 'instruction selection'
[ https://issues.apache.org/jira/browse/GROOVY-8753?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16623495#comment-16623495 ] Graeme Rocher commented on GROOVY-8753: --- Note this issue also blocks upgrading Micronaut to 2.5.2 > Compiler error in STC: exception in phase 'instruction selection' > - > > Key: GROOVY-8753 > URL: https://issues.apache.org/jira/browse/GROOVY-8753 > Project: Groovy > Issue Type: Bug > Components: Static compilation >Affects Versions: 2.5.2 > Environment: Java 8u181, Ubuntu 18.04 >Reporter: Patric Bechtel >Assignee: Paul King >Priority: Critical > Fix For: 3.0.0-alpha-4, 2.5.3 > > > Following source compiles under 2.5.1 and 3.0alpha3, but not 2.5.2: > {code:java} > @groovy.transform.CompileStatic > class A { > private List fooNames = [] > public A(Collection names) { > names.each { fooNames << it } > } > public List getFooNames() { fooNames } > } > {code} > error message is: > {noformat} > >>> a serious error occurred: BUG! exception in phase 'instruction selection' > >>> in source unit 'A.groovy' Tried to overwrite existing meta data > >>> org.codehaus.groovy.ast.expr.PropertyExpression@d9f41[object: > >>> org.codehaus.groovy.ast.expr.VariableExpression@d9f41[variable: this] > >>> property: ConstantExpression[fooNames]]. > >>> stacktrace: > BUG! exception in phase 'instruction selection' in source unit 'A.groovy' > Tried to overwrite existing meta data > org.codehaus.groovy.ast.expr.PropertyExpression@d9f41[object: > org.codehaus.groovy.ast.expr.VariableExpression@d9f41[variable: this] > property: ConstantExpression[fooNames]]. > at org.codehaus.groovy.ast.ASTNode.setNodeMetaData(ASTNode.java:154) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.checkOrMarkPrivateAccess(StaticTypeCheckingVisitor.java:501) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.storeField(StaticTypeCheckingVisitor.java:1711) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.existsProperty(StaticTypeCheckingVisitor.java:1473) > at > org.codehaus.groovy.transform.sc.StaticCompilationVisitor.existsProperty(StaticCompilationVisitor.java:522) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.existsProperty(StaticTypeCheckingVisitor.java:1381) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitPropertyExpressionSilent(StaticTypeCheckingVisitor.java:726) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.tryVariableExpressionAsProperty(StaticTypeCheckingVisitor.java:711) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitVariableExpression(StaticTypeCheckingVisitor.java:630) > at > org.codehaus.groovy.ast.expr.VariableExpression.visit(VariableExpression.java:72) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitBinaryExpression(StaticTypeCheckingVisitor.java:785) > at > org.codehaus.groovy.ast.expr.BinaryExpression.visit(BinaryExpression.java:51) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitExpressionStatement(CodeVisitorSupport.java:122) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitExpressionStatement(ClassCodeVisitorSupport.java:197) > at > org.codehaus.groovy.ast.stmt.ExpressionStatement.visit(ExpressionStatement.java:42) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitBlockStatement(CodeVisitorSupport.java:88) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitBlockStatement(ClassCodeVisitorSupport.java:106) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitBlockStatement(StaticTypeCheckingVisitor.java:3628) > at > org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:71) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitClosureExpression(CodeVisitorSupport.java:227) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitClosureExpression(StaticTypeCheckingVisitor.java:2286) > at > org.codehaus.groovy.ast.expr.ClosureExpression.visit(ClosureExpression.java:49) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitMethodCallArguments(StaticTypeCheckingVisitor.java:2596) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitMethodCallExpression(StaticTypeCheckingVisitor.java:3286) > at > org.codehaus.groovy.transform.sc.StaticCompilationVisitor.visitMethodCallExpression(StaticCompilationVisitor.java:397) > at > org.codehaus.groovy.ast.expr.MethodCallExpression.visit(MethodCallExpression.java:70) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitExpressionStatement(CodeVisitorSupport.java:122) > at >
[jira] [Commented] (GROOVY-8753) Compiler error in STC: exception in phase 'instruction selection'
[ https://issues.apache.org/jira/browse/GROOVY-8753?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16586679#comment-16586679 ] Patric Bechtel commented on GROOVY-8753: Strike :) That did the trick. Checking the docs, this cache even survives a clean... wtf? Isn't there a trick to make clean drop the build cache, too? Thanks a lot, though. Am I the only one ever stumbled over that? > Compiler error in STC: exception in phase 'instruction selection' > - > > Key: GROOVY-8753 > URL: https://issues.apache.org/jira/browse/GROOVY-8753 > Project: Groovy > Issue Type: Bug > Components: Static compilation >Affects Versions: 2.5.2 > Environment: Java 8u181, Ubuntu 18.04 >Reporter: Patric Bechtel >Assignee: Paul King >Priority: Critical > Fix For: 3.0.0-alpha-4, 2.5.3 > > > Following source compiles under 2.5.1 and 3.0alpha3, but not 2.5.2: > {code:java} > @groovy.transform.CompileStatic > class A { > private List fooNames = [] > public A(Collection names) { > names.each { fooNames << it } > } > public List getFooNames() { fooNames } > } > {code} > error message is: > {noformat} > >>> a serious error occurred: BUG! exception in phase 'instruction selection' > >>> in source unit 'A.groovy' Tried to overwrite existing meta data > >>> org.codehaus.groovy.ast.expr.PropertyExpression@d9f41[object: > >>> org.codehaus.groovy.ast.expr.VariableExpression@d9f41[variable: this] > >>> property: ConstantExpression[fooNames]]. > >>> stacktrace: > BUG! exception in phase 'instruction selection' in source unit 'A.groovy' > Tried to overwrite existing meta data > org.codehaus.groovy.ast.expr.PropertyExpression@d9f41[object: > org.codehaus.groovy.ast.expr.VariableExpression@d9f41[variable: this] > property: ConstantExpression[fooNames]]. > at org.codehaus.groovy.ast.ASTNode.setNodeMetaData(ASTNode.java:154) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.checkOrMarkPrivateAccess(StaticTypeCheckingVisitor.java:501) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.storeField(StaticTypeCheckingVisitor.java:1711) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.existsProperty(StaticTypeCheckingVisitor.java:1473) > at > org.codehaus.groovy.transform.sc.StaticCompilationVisitor.existsProperty(StaticCompilationVisitor.java:522) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.existsProperty(StaticTypeCheckingVisitor.java:1381) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitPropertyExpressionSilent(StaticTypeCheckingVisitor.java:726) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.tryVariableExpressionAsProperty(StaticTypeCheckingVisitor.java:711) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitVariableExpression(StaticTypeCheckingVisitor.java:630) > at > org.codehaus.groovy.ast.expr.VariableExpression.visit(VariableExpression.java:72) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitBinaryExpression(StaticTypeCheckingVisitor.java:785) > at > org.codehaus.groovy.ast.expr.BinaryExpression.visit(BinaryExpression.java:51) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitExpressionStatement(CodeVisitorSupport.java:122) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitExpressionStatement(ClassCodeVisitorSupport.java:197) > at > org.codehaus.groovy.ast.stmt.ExpressionStatement.visit(ExpressionStatement.java:42) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitBlockStatement(CodeVisitorSupport.java:88) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitBlockStatement(ClassCodeVisitorSupport.java:106) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitBlockStatement(StaticTypeCheckingVisitor.java:3628) > at > org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:71) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitClosureExpression(CodeVisitorSupport.java:227) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitClosureExpression(StaticTypeCheckingVisitor.java:2286) > at > org.codehaus.groovy.ast.expr.ClosureExpression.visit(ClosureExpression.java:49) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitMethodCallArguments(StaticTypeCheckingVisitor.java:2596) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitMethodCallExpression(StaticTypeCheckingVisitor.java:3286) > at > org.codehaus.groovy.transform.sc.StaticCompilationVisitor.visitMethodCallExpression(StaticCompilationVisitor.java:397) > at >
[jira] [Commented] (GROOVY-8753) Compiler error in STC: exception in phase 'instruction selection'
[ https://issues.apache.org/jira/browse/GROOVY-8753?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16586662#comment-16586662 ] Paul King commented on GROOVY-8753: --- All I can think of is adding {{--no-build-cache}} when building Groovy. > Compiler error in STC: exception in phase 'instruction selection' > - > > Key: GROOVY-8753 > URL: https://issues.apache.org/jira/browse/GROOVY-8753 > Project: Groovy > Issue Type: Bug > Components: Static compilation >Affects Versions: 2.5.2 > Environment: Java 8u181, Ubuntu 18.04 >Reporter: Patric Bechtel >Assignee: Paul King >Priority: Critical > Fix For: 3.0.0-alpha-4, 2.5.3 > > > Following source compiles under 2.5.1 and 3.0alpha3, but not 2.5.2: > {code:java} > @groovy.transform.CompileStatic > class A { > private List fooNames = [] > public A(Collection names) { > names.each { fooNames << it } > } > public List getFooNames() { fooNames } > } > {code} > error message is: > {noformat} > >>> a serious error occurred: BUG! exception in phase 'instruction selection' > >>> in source unit 'A.groovy' Tried to overwrite existing meta data > >>> org.codehaus.groovy.ast.expr.PropertyExpression@d9f41[object: > >>> org.codehaus.groovy.ast.expr.VariableExpression@d9f41[variable: this] > >>> property: ConstantExpression[fooNames]]. > >>> stacktrace: > BUG! exception in phase 'instruction selection' in source unit 'A.groovy' > Tried to overwrite existing meta data > org.codehaus.groovy.ast.expr.PropertyExpression@d9f41[object: > org.codehaus.groovy.ast.expr.VariableExpression@d9f41[variable: this] > property: ConstantExpression[fooNames]]. > at org.codehaus.groovy.ast.ASTNode.setNodeMetaData(ASTNode.java:154) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.checkOrMarkPrivateAccess(StaticTypeCheckingVisitor.java:501) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.storeField(StaticTypeCheckingVisitor.java:1711) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.existsProperty(StaticTypeCheckingVisitor.java:1473) > at > org.codehaus.groovy.transform.sc.StaticCompilationVisitor.existsProperty(StaticCompilationVisitor.java:522) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.existsProperty(StaticTypeCheckingVisitor.java:1381) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitPropertyExpressionSilent(StaticTypeCheckingVisitor.java:726) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.tryVariableExpressionAsProperty(StaticTypeCheckingVisitor.java:711) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitVariableExpression(StaticTypeCheckingVisitor.java:630) > at > org.codehaus.groovy.ast.expr.VariableExpression.visit(VariableExpression.java:72) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitBinaryExpression(StaticTypeCheckingVisitor.java:785) > at > org.codehaus.groovy.ast.expr.BinaryExpression.visit(BinaryExpression.java:51) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitExpressionStatement(CodeVisitorSupport.java:122) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitExpressionStatement(ClassCodeVisitorSupport.java:197) > at > org.codehaus.groovy.ast.stmt.ExpressionStatement.visit(ExpressionStatement.java:42) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitBlockStatement(CodeVisitorSupport.java:88) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitBlockStatement(ClassCodeVisitorSupport.java:106) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitBlockStatement(StaticTypeCheckingVisitor.java:3628) > at > org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:71) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitClosureExpression(CodeVisitorSupport.java:227) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitClosureExpression(StaticTypeCheckingVisitor.java:2286) > at > org.codehaus.groovy.ast.expr.ClosureExpression.visit(ClosureExpression.java:49) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitMethodCallArguments(StaticTypeCheckingVisitor.java:2596) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitMethodCallExpression(StaticTypeCheckingVisitor.java:3286) > at > org.codehaus.groovy.transform.sc.StaticCompilationVisitor.visitMethodCallExpression(StaticCompilationVisitor.java:397) > at > org.codehaus.groovy.ast.expr.MethodCallExpression.visit(MethodCallExpression.java:70) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitExpressionStatement(CodeVisitorSupport.java:122) > at >
[jira] [Commented] (GROOVY-8753) Compiler error in STC: exception in phase 'instruction selection'
[ https://issues.apache.org/jira/browse/GROOVY-8753?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16586631#comment-16586631 ] Patric Bechtel commented on GROOVY-8753: Just tried: {noformat} git pull; ./gradlew clean; gradlew installGroovy; java -cp target/install/lib/groovy-2.5.3-SNAPSHOT.jar org.codehaus.groovy.tools.FileSystemCompiler A.groov{noformat} results in {noformat} >>> a serious error occurred: BUG! exception in phase 'instruction selection' >>> in source unit 'A.groovy' Tried to overwrite existing meta data >>> org.codehaus.groovy.ast.expr.PropertyExpression@d9f41[object: >>> org.codehaus.groovy.ast.expr.VariableExpression@d9f41[variable: this] >>> property: ConstantExpression[fooNames]]. >>> stacktrace: BUG! exception in phase 'instruction selection' in source unit 'A.groovy' Tried to overwrite existing meta data org.codehaus.groovy.ast.expr.PropertyExpression@d9f41[object: org.codehaus.groovy.ast.expr.VariableExpression@d9f41[variable: this] property: ConstantExpression[fooNames]]. at org.codehaus.groovy.ast.ASTNode.setNodeMetaData(ASTNode.java:154) at org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.checkOrMarkPrivateAccess(StaticTypeCheckingVisitor.java:501) at org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.storeField(StaticTypeCheckingVisitor.java:1711) at org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.existsProperty(StaticTypeCheckingVisitor.java:1473) at org.codehaus.groovy.transform.sc.StaticCompilationVisitor.existsProperty(StaticCompilationVisitor.java:522) at org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.existsProperty(StaticTypeCheckingVisitor.java:1381) at org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitPropertyExpressionSilent(StaticTypeCheckingVisitor.java:726) at org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.tryVariableExpressionAsProperty(StaticTypeCheckingVisitor.java:711) at org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitVariableExpression(StaticTypeCheckingVisitor.java:630) at org.codehaus.groovy.ast.expr.VariableExpression.visit(VariableExpression.java:72) {noformat} Oracle Java 8u181, Ubuntu 18.04. *sigh*... wtf? > Compiler error in STC: exception in phase 'instruction selection' > - > > Key: GROOVY-8753 > URL: https://issues.apache.org/jira/browse/GROOVY-8753 > Project: Groovy > Issue Type: Bug > Components: Static compilation >Affects Versions: 2.5.2 > Environment: Java 8u181, Ubuntu 18.04 >Reporter: Patric Bechtel >Assignee: Paul King >Priority: Critical > Fix For: 3.0.0-alpha-4, 2.5.3 > > > Following source compiles under 2.5.1 and 3.0alpha3, but not 2.5.2: > {code:java} > @groovy.transform.CompileStatic > class A { > private List fooNames = [] > public A(Collection names) { > names.each { fooNames << it } > } > public List getFooNames() { fooNames } > } > {code} > error message is: > {noformat} > >>> a serious error occurred: BUG! exception in phase 'instruction selection' > >>> in source unit 'A.groovy' Tried to overwrite existing meta data > >>> org.codehaus.groovy.ast.expr.PropertyExpression@d9f41[object: > >>> org.codehaus.groovy.ast.expr.VariableExpression@d9f41[variable: this] > >>> property: ConstantExpression[fooNames]]. > >>> stacktrace: > BUG! exception in phase 'instruction selection' in source unit 'A.groovy' > Tried to overwrite existing meta data > org.codehaus.groovy.ast.expr.PropertyExpression@d9f41[object: > org.codehaus.groovy.ast.expr.VariableExpression@d9f41[variable: this] > property: ConstantExpression[fooNames]]. > at org.codehaus.groovy.ast.ASTNode.setNodeMetaData(ASTNode.java:154) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.checkOrMarkPrivateAccess(StaticTypeCheckingVisitor.java:501) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.storeField(StaticTypeCheckingVisitor.java:1711) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.existsProperty(StaticTypeCheckingVisitor.java:1473) > at > org.codehaus.groovy.transform.sc.StaticCompilationVisitor.existsProperty(StaticCompilationVisitor.java:522) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.existsProperty(StaticTypeCheckingVisitor.java:1381) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitPropertyExpressionSilent(StaticTypeCheckingVisitor.java:726) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.tryVariableExpressionAsProperty(StaticTypeCheckingVisitor.java:711) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitVariableExpression(StaticTypeCheckingVisitor.java:630) >
[jira] [Commented] (GROOVY-8753) Compiler error in STC: exception in phase 'instruction selection'
[ https://issues.apache.org/jira/browse/GROOVY-8753?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16585883#comment-16585883 ] Paul King commented on GROOVY-8753: --- >From the GROOVY_2_5_X branch when I first use the {{installGroovy}} task I can >then run: {noformat} java -cp target/install/lib/groovy-2.5.3-SNAPSHOT.jar org.codehaus.groovy.tools.FileSystemCompiler A.groovy {noformat} > Compiler error in STC: exception in phase 'instruction selection' > - > > Key: GROOVY-8753 > URL: https://issues.apache.org/jira/browse/GROOVY-8753 > Project: Groovy > Issue Type: Bug > Components: Static compilation >Affects Versions: 2.5.2 > Environment: Java 8u181, Ubuntu 18.04 >Reporter: Patric Bechtel >Assignee: Paul King >Priority: Critical > Fix For: 3.0.0-alpha-4, 2.5.3 > > > Following source compiles under 2.5.1 and 3.0alpha3, but not 2.5.2: > {code:java} > @groovy.transform.CompileStatic > class A { > private List fooNames = [] > public A(Collection names) { > names.each { fooNames << it } > } > public List getFooNames() { fooNames } > } > {code} > error message is: > {noformat} > >>> a serious error occurred: BUG! exception in phase 'instruction selection' > >>> in source unit 'A.groovy' Tried to overwrite existing meta data > >>> org.codehaus.groovy.ast.expr.PropertyExpression@d9f41[object: > >>> org.codehaus.groovy.ast.expr.VariableExpression@d9f41[variable: this] > >>> property: ConstantExpression[fooNames]]. > >>> stacktrace: > BUG! exception in phase 'instruction selection' in source unit 'A.groovy' > Tried to overwrite existing meta data > org.codehaus.groovy.ast.expr.PropertyExpression@d9f41[object: > org.codehaus.groovy.ast.expr.VariableExpression@d9f41[variable: this] > property: ConstantExpression[fooNames]]. > at org.codehaus.groovy.ast.ASTNode.setNodeMetaData(ASTNode.java:154) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.checkOrMarkPrivateAccess(StaticTypeCheckingVisitor.java:501) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.storeField(StaticTypeCheckingVisitor.java:1711) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.existsProperty(StaticTypeCheckingVisitor.java:1473) > at > org.codehaus.groovy.transform.sc.StaticCompilationVisitor.existsProperty(StaticCompilationVisitor.java:522) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.existsProperty(StaticTypeCheckingVisitor.java:1381) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitPropertyExpressionSilent(StaticTypeCheckingVisitor.java:726) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.tryVariableExpressionAsProperty(StaticTypeCheckingVisitor.java:711) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitVariableExpression(StaticTypeCheckingVisitor.java:630) > at > org.codehaus.groovy.ast.expr.VariableExpression.visit(VariableExpression.java:72) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitBinaryExpression(StaticTypeCheckingVisitor.java:785) > at > org.codehaus.groovy.ast.expr.BinaryExpression.visit(BinaryExpression.java:51) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitExpressionStatement(CodeVisitorSupport.java:122) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitExpressionStatement(ClassCodeVisitorSupport.java:197) > at > org.codehaus.groovy.ast.stmt.ExpressionStatement.visit(ExpressionStatement.java:42) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitBlockStatement(CodeVisitorSupport.java:88) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitBlockStatement(ClassCodeVisitorSupport.java:106) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitBlockStatement(StaticTypeCheckingVisitor.java:3628) > at > org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:71) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitClosureExpression(CodeVisitorSupport.java:227) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitClosureExpression(StaticTypeCheckingVisitor.java:2286) > at > org.codehaus.groovy.ast.expr.ClosureExpression.visit(ClosureExpression.java:49) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitMethodCallArguments(StaticTypeCheckingVisitor.java:2596) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitMethodCallExpression(StaticTypeCheckingVisitor.java:3286) > at > org.codehaus.groovy.transform.sc.StaticCompilationVisitor.visitMethodCallExpression(StaticCompilationVisitor.java:397) > at >
[jira] [Commented] (GROOVY-8753) Compiler error in STC: exception in phase 'instruction selection'
[ https://issues.apache.org/jira/browse/GROOVY-8753?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16585743#comment-16585743 ] Patric Bechtel commented on GROOVY-8753: Ack - the test in the pull request works. The test on from the shell, via {noformat} java -cp groovy/target/libs/groovy-2.5.3-SNAPSHOT.jar org.codehaus.groovy.tools.FileSystemCompiler A.groovy{noformat} doesn't. > Compiler error in STC: exception in phase 'instruction selection' > - > > Key: GROOVY-8753 > URL: https://issues.apache.org/jira/browse/GROOVY-8753 > Project: Groovy > Issue Type: Bug > Components: Static compilation >Affects Versions: 2.5.2 > Environment: Java 8u181, Ubuntu 18.04 >Reporter: Patric Bechtel >Assignee: Paul King >Priority: Critical > Fix For: 3.0.0-alpha-4, 2.5.3 > > > Following source compiles under 2.5.1 and 3.0alpha3, but not 2.5.2: > {code:java} > @groovy.transform.CompileStatic > class A { > private List fooNames = [] > public A(Collection names) { > names.each { fooNames << it } > } > public List getFooNames() { fooNames } > } > {code} > error message is: > {noformat} > >>> a serious error occurred: BUG! exception in phase 'instruction selection' > >>> in source unit 'A.groovy' Tried to overwrite existing meta data > >>> org.codehaus.groovy.ast.expr.PropertyExpression@d9f41[object: > >>> org.codehaus.groovy.ast.expr.VariableExpression@d9f41[variable: this] > >>> property: ConstantExpression[fooNames]]. > >>> stacktrace: > BUG! exception in phase 'instruction selection' in source unit 'A.groovy' > Tried to overwrite existing meta data > org.codehaus.groovy.ast.expr.PropertyExpression@d9f41[object: > org.codehaus.groovy.ast.expr.VariableExpression@d9f41[variable: this] > property: ConstantExpression[fooNames]]. > at org.codehaus.groovy.ast.ASTNode.setNodeMetaData(ASTNode.java:154) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.checkOrMarkPrivateAccess(StaticTypeCheckingVisitor.java:501) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.storeField(StaticTypeCheckingVisitor.java:1711) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.existsProperty(StaticTypeCheckingVisitor.java:1473) > at > org.codehaus.groovy.transform.sc.StaticCompilationVisitor.existsProperty(StaticCompilationVisitor.java:522) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.existsProperty(StaticTypeCheckingVisitor.java:1381) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitPropertyExpressionSilent(StaticTypeCheckingVisitor.java:726) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.tryVariableExpressionAsProperty(StaticTypeCheckingVisitor.java:711) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitVariableExpression(StaticTypeCheckingVisitor.java:630) > at > org.codehaus.groovy.ast.expr.VariableExpression.visit(VariableExpression.java:72) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitBinaryExpression(StaticTypeCheckingVisitor.java:785) > at > org.codehaus.groovy.ast.expr.BinaryExpression.visit(BinaryExpression.java:51) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitExpressionStatement(CodeVisitorSupport.java:122) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitExpressionStatement(ClassCodeVisitorSupport.java:197) > at > org.codehaus.groovy.ast.stmt.ExpressionStatement.visit(ExpressionStatement.java:42) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitBlockStatement(CodeVisitorSupport.java:88) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitBlockStatement(ClassCodeVisitorSupport.java:106) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitBlockStatement(StaticTypeCheckingVisitor.java:3628) > at > org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:71) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitClosureExpression(CodeVisitorSupport.java:227) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitClosureExpression(StaticTypeCheckingVisitor.java:2286) > at > org.codehaus.groovy.ast.expr.ClosureExpression.visit(ClosureExpression.java:49) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitMethodCallArguments(StaticTypeCheckingVisitor.java:2596) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitMethodCallExpression(StaticTypeCheckingVisitor.java:3286) > at > org.codehaus.groovy.transform.sc.StaticCompilationVisitor.visitMethodCallExpression(StaticCompilationVisitor.java:397) > at >
[jira] [Commented] (GROOVY-8753) Compiler error in STC: exception in phase 'instruction selection'
[ https://issues.apache.org/jira/browse/GROOVY-8753?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16585663#comment-16585663 ] Paul King commented on GROOVY-8753: --- Can you try the test in the pull request. > Compiler error in STC: exception in phase 'instruction selection' > - > > Key: GROOVY-8753 > URL: https://issues.apache.org/jira/browse/GROOVY-8753 > Project: Groovy > Issue Type: Bug > Components: Static compilation >Affects Versions: 2.5.2 > Environment: Java 8u181, Ubuntu 18.04 >Reporter: Patric Bechtel >Assignee: Paul King >Priority: Critical > Fix For: 3.0.0-alpha-4, 2.5.3 > > > Following source compiles under 2.5.1 and 3.0alpha3, but not 2.5.2: > {code:java} > @groovy.transform.CompileStatic > class A { > private List fooNames = [] > public A(Collection names) { > names.each { fooNames << it } > } > public List getFooNames() { fooNames } > } > {code} > error message is: > {noformat} > >>> a serious error occurred: BUG! exception in phase 'instruction selection' > >>> in source unit 'A.groovy' Tried to overwrite existing meta data > >>> org.codehaus.groovy.ast.expr.PropertyExpression@d9f41[object: > >>> org.codehaus.groovy.ast.expr.VariableExpression@d9f41[variable: this] > >>> property: ConstantExpression[fooNames]]. > >>> stacktrace: > BUG! exception in phase 'instruction selection' in source unit 'A.groovy' > Tried to overwrite existing meta data > org.codehaus.groovy.ast.expr.PropertyExpression@d9f41[object: > org.codehaus.groovy.ast.expr.VariableExpression@d9f41[variable: this] > property: ConstantExpression[fooNames]]. > at org.codehaus.groovy.ast.ASTNode.setNodeMetaData(ASTNode.java:154) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.checkOrMarkPrivateAccess(StaticTypeCheckingVisitor.java:501) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.storeField(StaticTypeCheckingVisitor.java:1711) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.existsProperty(StaticTypeCheckingVisitor.java:1473) > at > org.codehaus.groovy.transform.sc.StaticCompilationVisitor.existsProperty(StaticCompilationVisitor.java:522) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.existsProperty(StaticTypeCheckingVisitor.java:1381) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitPropertyExpressionSilent(StaticTypeCheckingVisitor.java:726) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.tryVariableExpressionAsProperty(StaticTypeCheckingVisitor.java:711) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitVariableExpression(StaticTypeCheckingVisitor.java:630) > at > org.codehaus.groovy.ast.expr.VariableExpression.visit(VariableExpression.java:72) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitBinaryExpression(StaticTypeCheckingVisitor.java:785) > at > org.codehaus.groovy.ast.expr.BinaryExpression.visit(BinaryExpression.java:51) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitExpressionStatement(CodeVisitorSupport.java:122) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitExpressionStatement(ClassCodeVisitorSupport.java:197) > at > org.codehaus.groovy.ast.stmt.ExpressionStatement.visit(ExpressionStatement.java:42) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitBlockStatement(CodeVisitorSupport.java:88) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitBlockStatement(ClassCodeVisitorSupport.java:106) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitBlockStatement(StaticTypeCheckingVisitor.java:3628) > at > org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:71) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitClosureExpression(CodeVisitorSupport.java:227) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitClosureExpression(StaticTypeCheckingVisitor.java:2286) > at > org.codehaus.groovy.ast.expr.ClosureExpression.visit(ClosureExpression.java:49) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitMethodCallArguments(StaticTypeCheckingVisitor.java:2596) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitMethodCallExpression(StaticTypeCheckingVisitor.java:3286) > at > org.codehaus.groovy.transform.sc.StaticCompilationVisitor.visitMethodCallExpression(StaticCompilationVisitor.java:397) > at > org.codehaus.groovy.ast.expr.MethodCallExpression.visit(MethodCallExpression.java:70) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitExpressionStatement(CodeVisitorSupport.java:122) > at >
[jira] [Commented] (GROOVY-8753) Compiler error in STC: exception in phase 'instruction selection'
[ https://issues.apache.org/jira/browse/GROOVY-8753?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16585586#comment-16585586 ] Patric Bechtel commented on GROOVY-8753: I should add something. While trying to reproduce the bug, the (ugly) line {code:java} names.each { fooNames << it } {code} is important. Replacing that line by the (much nicer) line {code:java} fooNames.addAll( names ) {code} it works. That might give a clue where this comes from... > Compiler error in STC: exception in phase 'instruction selection' > - > > Key: GROOVY-8753 > URL: https://issues.apache.org/jira/browse/GROOVY-8753 > Project: Groovy > Issue Type: Bug > Components: Static compilation >Affects Versions: 2.5.2 > Environment: Java 8u181, Ubuntu 18.04 >Reporter: Patric Bechtel >Assignee: Paul King >Priority: Critical > Fix For: 3.0.0-alpha-4, 2.5.3 > > > Following source compiles under 2.5.1 and 3.0alpha3, but not 2.5.2: > {code:java} > @groovy.transform.CompileStatic > class A { > private List fooNames = [] > public A(Collection names) { > names.each { fooNames << it } > } > public List getFooNames() { fooNames } > } > {code} > error message is: > {noformat} > >>> a serious error occurred: BUG! exception in phase 'instruction selection' > >>> in source unit 'A.groovy' Tried to overwrite existing meta data > >>> org.codehaus.groovy.ast.expr.PropertyExpression@d9f41[object: > >>> org.codehaus.groovy.ast.expr.VariableExpression@d9f41[variable: this] > >>> property: ConstantExpression[fooNames]]. > >>> stacktrace: > BUG! exception in phase 'instruction selection' in source unit 'A.groovy' > Tried to overwrite existing meta data > org.codehaus.groovy.ast.expr.PropertyExpression@d9f41[object: > org.codehaus.groovy.ast.expr.VariableExpression@d9f41[variable: this] > property: ConstantExpression[fooNames]]. > at org.codehaus.groovy.ast.ASTNode.setNodeMetaData(ASTNode.java:154) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.checkOrMarkPrivateAccess(StaticTypeCheckingVisitor.java:501) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.storeField(StaticTypeCheckingVisitor.java:1711) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.existsProperty(StaticTypeCheckingVisitor.java:1473) > at > org.codehaus.groovy.transform.sc.StaticCompilationVisitor.existsProperty(StaticCompilationVisitor.java:522) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.existsProperty(StaticTypeCheckingVisitor.java:1381) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitPropertyExpressionSilent(StaticTypeCheckingVisitor.java:726) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.tryVariableExpressionAsProperty(StaticTypeCheckingVisitor.java:711) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitVariableExpression(StaticTypeCheckingVisitor.java:630) > at > org.codehaus.groovy.ast.expr.VariableExpression.visit(VariableExpression.java:72) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitBinaryExpression(StaticTypeCheckingVisitor.java:785) > at > org.codehaus.groovy.ast.expr.BinaryExpression.visit(BinaryExpression.java:51) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitExpressionStatement(CodeVisitorSupport.java:122) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitExpressionStatement(ClassCodeVisitorSupport.java:197) > at > org.codehaus.groovy.ast.stmt.ExpressionStatement.visit(ExpressionStatement.java:42) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitBlockStatement(CodeVisitorSupport.java:88) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitBlockStatement(ClassCodeVisitorSupport.java:106) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitBlockStatement(StaticTypeCheckingVisitor.java:3628) > at > org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:71) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitClosureExpression(CodeVisitorSupport.java:227) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitClosureExpression(StaticTypeCheckingVisitor.java:2286) > at > org.codehaus.groovy.ast.expr.ClosureExpression.visit(ClosureExpression.java:49) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitMethodCallArguments(StaticTypeCheckingVisitor.java:2596) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitMethodCallExpression(StaticTypeCheckingVisitor.java:3286) > at >
[jira] [Commented] (GROOVY-8753) Compiler error in STC: exception in phase 'instruction selection'
[ https://issues.apache.org/jira/browse/GROOVY-8753?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16585048#comment-16585048 ] ASF GitHub Bot commented on GROOVY-8753: Github user asfgit closed the pull request at: https://github.com/apache/groovy/pull/786 > Compiler error in STC: exception in phase 'instruction selection' > - > > Key: GROOVY-8753 > URL: https://issues.apache.org/jira/browse/GROOVY-8753 > Project: Groovy > Issue Type: Bug > Components: Static compilation >Affects Versions: 2.5.2 > Environment: Java 8u181, Ubuntu 18.04 >Reporter: Patric Bechtel >Priority: Critical > > Following source compiles under 2.5.1 and 3.0alpha3, but not 2.5.2: > {code:java} > @groovy.transform.CompileStatic > class A { > private List fooNames = [] > public A(Collection names) { > names.each { fooNames << it } > } > public List getFooNames() { fooNames } > } > {code} > error message is: > {noformat} > >>> a serious error occurred: BUG! exception in phase 'instruction selection' > >>> in source unit 'A.groovy' Tried to overwrite existing meta data > >>> org.codehaus.groovy.ast.expr.PropertyExpression@d9f41[object: > >>> org.codehaus.groovy.ast.expr.VariableExpression@d9f41[variable: this] > >>> property: ConstantExpression[fooNames]]. > >>> stacktrace: > BUG! exception in phase 'instruction selection' in source unit 'A.groovy' > Tried to overwrite existing meta data > org.codehaus.groovy.ast.expr.PropertyExpression@d9f41[object: > org.codehaus.groovy.ast.expr.VariableExpression@d9f41[variable: this] > property: ConstantExpression[fooNames]]. > at org.codehaus.groovy.ast.ASTNode.setNodeMetaData(ASTNode.java:154) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.checkOrMarkPrivateAccess(StaticTypeCheckingVisitor.java:501) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.storeField(StaticTypeCheckingVisitor.java:1711) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.existsProperty(StaticTypeCheckingVisitor.java:1473) > at > org.codehaus.groovy.transform.sc.StaticCompilationVisitor.existsProperty(StaticCompilationVisitor.java:522) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.existsProperty(StaticTypeCheckingVisitor.java:1381) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitPropertyExpressionSilent(StaticTypeCheckingVisitor.java:726) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.tryVariableExpressionAsProperty(StaticTypeCheckingVisitor.java:711) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitVariableExpression(StaticTypeCheckingVisitor.java:630) > at > org.codehaus.groovy.ast.expr.VariableExpression.visit(VariableExpression.java:72) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitBinaryExpression(StaticTypeCheckingVisitor.java:785) > at > org.codehaus.groovy.ast.expr.BinaryExpression.visit(BinaryExpression.java:51) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitExpressionStatement(CodeVisitorSupport.java:122) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitExpressionStatement(ClassCodeVisitorSupport.java:197) > at > org.codehaus.groovy.ast.stmt.ExpressionStatement.visit(ExpressionStatement.java:42) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitBlockStatement(CodeVisitorSupport.java:88) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitBlockStatement(ClassCodeVisitorSupport.java:106) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitBlockStatement(StaticTypeCheckingVisitor.java:3628) > at > org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:71) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitClosureExpression(CodeVisitorSupport.java:227) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitClosureExpression(StaticTypeCheckingVisitor.java:2286) > at > org.codehaus.groovy.ast.expr.ClosureExpression.visit(ClosureExpression.java:49) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitMethodCallArguments(StaticTypeCheckingVisitor.java:2596) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitMethodCallExpression(StaticTypeCheckingVisitor.java:3286) > at > org.codehaus.groovy.transform.sc.StaticCompilationVisitor.visitMethodCallExpression(StaticCompilationVisitor.java:397) > at > org.codehaus.groovy.ast.expr.MethodCallExpression.visit(MethodCallExpression.java:70) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitExpressionStatement(CodeVisitorSupport.java:122) > at >
[jira] [Commented] (GROOVY-8753) Compiler error in STC: exception in phase 'instruction selection'
[ https://issues.apache.org/jira/browse/GROOVY-8753?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16584641#comment-16584641 ] ASF GitHub Bot commented on GROOVY-8753: GitHub user paulk-asert opened a pull request: https://github.com/apache/groovy/pull/786 GROOVY-8753: Compiler error in STC: exception in phase 'instruction s… …election' You can merge this pull request into a Git repository by running: $ git pull https://github.com/paulk-asert/groovy groovy8753 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/groovy/pull/786.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 #786 commit 242ef2cdfa05bbe4462cd31305303104911404ac Author: Paul King Date: 2018-08-18T05:23:41Z GROOVY-8753: Compiler error in STC: exception in phase 'instruction selection' > Compiler error in STC: exception in phase 'instruction selection' > - > > Key: GROOVY-8753 > URL: https://issues.apache.org/jira/browse/GROOVY-8753 > Project: Groovy > Issue Type: Bug > Components: Static compilation >Affects Versions: 2.5.2 > Environment: Java 8u181, Ubuntu 18.04 >Reporter: Patric Bechtel >Priority: Critical > > Following source compiles under 2.5.1 and 3.0alpha3, but not 2.5.2: > {code:java} > @groovy.transform.CompileStatic > class A { > private List fooNames = [] > public A(Collection names) { > names.each { fooNames << it } > } > public List getFooNames() { fooNames } > } > {code} > error message is: > {noformat} > >>> a serious error occurred: BUG! exception in phase 'instruction selection' > >>> in source unit 'A.groovy' Tried to overwrite existing meta data > >>> org.codehaus.groovy.ast.expr.PropertyExpression@d9f41[object: > >>> org.codehaus.groovy.ast.expr.VariableExpression@d9f41[variable: this] > >>> property: ConstantExpression[fooNames]]. > >>> stacktrace: > BUG! exception in phase 'instruction selection' in source unit 'A.groovy' > Tried to overwrite existing meta data > org.codehaus.groovy.ast.expr.PropertyExpression@d9f41[object: > org.codehaus.groovy.ast.expr.VariableExpression@d9f41[variable: this] > property: ConstantExpression[fooNames]]. > at org.codehaus.groovy.ast.ASTNode.setNodeMetaData(ASTNode.java:154) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.checkOrMarkPrivateAccess(StaticTypeCheckingVisitor.java:501) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.storeField(StaticTypeCheckingVisitor.java:1711) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.existsProperty(StaticTypeCheckingVisitor.java:1473) > at > org.codehaus.groovy.transform.sc.StaticCompilationVisitor.existsProperty(StaticCompilationVisitor.java:522) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.existsProperty(StaticTypeCheckingVisitor.java:1381) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitPropertyExpressionSilent(StaticTypeCheckingVisitor.java:726) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.tryVariableExpressionAsProperty(StaticTypeCheckingVisitor.java:711) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitVariableExpression(StaticTypeCheckingVisitor.java:630) > at > org.codehaus.groovy.ast.expr.VariableExpression.visit(VariableExpression.java:72) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitBinaryExpression(StaticTypeCheckingVisitor.java:785) > at > org.codehaus.groovy.ast.expr.BinaryExpression.visit(BinaryExpression.java:51) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitExpressionStatement(CodeVisitorSupport.java:122) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitExpressionStatement(ClassCodeVisitorSupport.java:197) > at > org.codehaus.groovy.ast.stmt.ExpressionStatement.visit(ExpressionStatement.java:42) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitBlockStatement(CodeVisitorSupport.java:88) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitBlockStatement(ClassCodeVisitorSupport.java:106) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitBlockStatement(StaticTypeCheckingVisitor.java:3628) > at > org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:71) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitClosureExpression(CodeVisitorSupport.java:227) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitClosureExpression(StaticTypeCheckingVisitor.java:2286) > at >