You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In 4.4.0.v202112150033-e2112, using Elvis assignment causes a stack overflow in the editor. Closing the editor allows the workbench to continue. Rewriting the assignment as a conditional prevents the stack overflow.
Offending code:
msg.messageId ?= messageIdGenerator.get()
Working code:
if (!msg.messageId) {
msg.messageId = messageIdGenerator.get()
}
Error log:
!ENTRY org.eclipse.ui 4 0 2021-12-16 16:35:36.309
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.StackOverflowError
at org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.storeTypeForSuper(StaticTypeCheckingVisitor.java:666)
at org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitVariableExpression(StaticTypeCheckingVisitor.java:568)
at org.codehaus.groovy.ast.expr.VariableExpression.visit(VariableExpression.java:70)
at org.codehaus.groovy.ast.CodeVisitorSupport.visitPropertyExpression(CodeVisitorSupport.java:340)
at org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.existsProperty(StaticTypeCheckingVisitor.java:1689)
at org.codehaus.groovy.transform.sc.StaticCompilationVisitor.existsProperty(StaticCompilationVisitor.java:550)
at org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.existsProperty(StaticTypeCheckingVisitor.java:1676)
at org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitPropertyExpression(StaticTypeCheckingVisitor.java:706)
at org.codehaus.groovy.transform.sc.StaticCompilationVisitor.visitPropertyExpression(StaticCompilationVisitor.java:564)
at org.codehaus.groovy.ast.expr.PropertyExpression.visit(PropertyExpression.java:63)
at org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitBinaryExpression(StaticTypeCheckingVisitor.java:762)
at org.codehaus.groovy.ast.expr.BinaryExpression.visit(BinaryExpression.java:58)
at org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitMethodCallArguments(StaticTypeCheckingVisitor.java:3124)
at org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitMethodCallExpression(StaticTypeCheckingVisitor.java:3826)
at org.codehaus.groovy.transform.sc.StaticCompilationVisitor.visitMethodCallExpression(StaticCompilationVisitor.java:414)
at org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.ensureValidSetter(StaticTypeCheckingVisitor.java:1050)
at org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitBinaryExpression(StaticTypeCheckingVisitor.java:766)
at org.codehaus.groovy.ast.expr.BinaryExpression.visit(BinaryExpression.java:58)
at org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitMethodCallArguments(StaticTypeCheckingVisitor.java:3124)
at org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitMethodCallExpression(StaticTypeCheckingVisitor.java:3826)
at org.codehaus.groovy.transform.sc.StaticCompilationVisitor.visitMethodCallExpression(StaticCompilationVisitor.java:414)
at org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.ensureValidSetter(StaticTypeCheckingVisitor.java:1050)
at org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitBinaryExpression(StaticTypeCheckingVisitor.java:766)
at org.codehaus.groovy.ast.expr.BinaryExpression.visit(BinaryExpression.java:58)
(repeat)
The text was updated successfully, but these errors were encountered:
chrylis
changed the title
Elvis assignment causes stack overflow
Elvis assignment causes stack overflow in editor
Dec 16, 2021
In 4.4.0.v202112150033-e2112, using Elvis assignment causes a stack overflow in the editor. Closing the editor allows the workbench to continue. Rewriting the assignment as a conditional prevents the stack overflow.
Offending code:
Working code:
Error log:
The text was updated successfully, but these errors were encountered: