You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Paul King (Jira)" <ji...@apache.org> on 2023/02/10 21:41:01 UTC

[jira] [Closed] (GROOVY-10910) CLONE - General error during instruction selection: ClassCastException

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

Paul King closed GROOVY-10910.
------------------------------

> CLONE - General error during instruction selection: ClassCastException
> ----------------------------------------------------------------------
>
>                 Key: GROOVY-10910
>                 URL: https://issues.apache.org/jira/browse/GROOVY-10910
>             Project: Groovy
>          Issue Type: Bug
>          Components: Compiler
>    Affects Versions: 3.0.5, 3.0.6, 3.0.7
>            Reporter: Jason Garrett
>            Assignee: Daniel Sun
>            Priority: Major
>
> I am attempting to upgrade a large application from Groovy 2.4.15 to 3.  Compilation fails with a ClassCastException:
> {code:java}
> General error during instruction selection: class org.codehaus.groovy.ast.Parameter cannot be cast to class org.codehaus.groovy.ast.expr.VariableExpression (org.codehaus.groovy.ast.Parameter and org.codehaus.groovy.ast.expr.VariableExpression are in unnamed module of loader org.gradle.internal.classloader.VisitableURLClassLoader @2bf427fc)General error during instruction selection: class org.codehaus.groovy.ast.Parameter cannot be cast to class org.codehaus.groovy.ast.expr.VariableExpression (org.codehaus.groovy.ast.Parameter and org.codehaus.groovy.ast.expr.VariableExpression are in unnamed module of loader org.gradle.internal.classloader.VisitableURLClassLoader @2bf427fc)
> java.lang.ClassCastException: class org.codehaus.groovy.ast.Parameter cannot be cast to class org.codehaus.groovy.ast.expr.VariableExpression (org.codehaus.groovy.ast.Parameter and org.codehaus.groovy.ast.expr.VariableExpression are in unnamed module of loader org.gradle.internal.classloader.VisitableURLClassLoader @2bf427fc) at org.codehaus.groovy.classgen.asm.sc.StaticTypesCallSiteWriter.makeSingleArgumentCall(StaticTypesCallSiteWriter.java:598) at org.codehaus.groovy.classgen.asm.InvocationWriter.makeSingleArgumentCall(InvocationWriter.java:616) at org.codehaus.groovy.classgen.asm.BinaryExpressionHelper.evaluateBinaryExpression(BinaryExpressionHelper.java:590) at org.codehaus.groovy.classgen.asm.BinaryExpressionMultiTypeDispatcher.evaluateBinaryExpression(BinaryExpressionMultiTypeDispatcher.java:242) at org.codehaus.groovy.classgen.asm.BinaryExpressionHelper.eval(BinaryExpressionHelper.java:230) at org.codehaus.groovy.classgen.AsmClassGenerator.visitBinaryExpression(AsmClassGenerator.java:707) at org.codehaus.groovy.ast.expr.BinaryExpression.visit(BinaryExpression.java:58) at org.codehaus.groovy.classgen.asm.CallSiteWriter.visitBoxedArgument(CallSiteWriter.java:261) at org.codehaus.groovy.classgen.asm.sc.StaticTypesCallSiteWriter.writeNumberNumberCall(StaticTypesCallSiteWriter.java:782) at org.codehaus.groovy.classgen.asm.sc.StaticTypesCallSiteWriter.trySubscript(StaticTypesCallSiteWriter.java:616) at org.codehaus.groovy.classgen.asm.sc.StaticTypesCallSiteWriter.makeSingleArgumentCall(StaticTypesCallSiteWriter.java:601) at org.codehaus.groovy.classgen.asm.InvocationWriter.makeSingleArgumentCall(InvocationWriter.java:616) at org.codehaus.groovy.classgen.asm.BinaryExpressionHelper.evaluateBinaryExpression(BinaryExpressionHelper.java:590) at org.codehaus.groovy.classgen.asm.BinaryExpressionMultiTypeDispatcher.evaluateBinaryExpression(BinaryExpressionMultiTypeDispatcher.java:242) at org.codehaus.groovy.classgen.asm.BinaryExpressionHelper.eval(BinaryExpressionHelper.java:214) at org.codehaus.groovy.classgen.AsmClassGenerator.visitBinaryExpression(AsmClassGenerator.java:707) at org.codehaus.groovy.ast.expr.BinaryExpression.visit(BinaryExpression.java:58) at org.codehaus.groovy.classgen.asm.BinaryExpressionMultiTypeDispatcher.evaluateBinaryExpression(BinaryExpressionMultiTypeDispatcher.java:236) at org.codehaus.groovy.classgen.asm.BinaryExpressionHelper.eval(BinaryExpressionHelper.java:222) at org.codehaus.groovy.classgen.AsmClassGenerator.visitBinaryExpression(AsmClassGenerator.java:707) at org.codehaus.groovy.ast.expr.BinaryExpression.visit(BinaryExpression.java:58) at org.codehaus.groovy.classgen.asm.ExpressionAsVariableSlot.visit(ExpressionAsVariableSlot.java:54) at org.codehaus.groovy.classgen.AsmClassGenerator.visitBytecodeExpression(AsmClassGenerator.java:1813) at org.codehaus.groovy.classgen.BytecodeExpression.visit(BytecodeExpression.java:48) at org.codehaus.groovy.transform.sc.TemporaryVariableExpression.visit(TemporaryVariableExpression.java:61) at org.codehaus.groovy.transform.sc.ListOfExpressionsExpression.visit(ListOfExpressionsExpression.java:52) at org.codehaus.groovy.classgen.asm.sc.StaticPropertyAccessHelper$PoppingListOfExpressionsExpression.visit(StaticPropertyAccessHelper.java:88) at org.codehaus.groovy.classgen.asm.sc.StaticTypesBinaryExpressionMultiTypeDispatcher.makeSetProperty(StaticTypesBinaryExpressionMultiTypeDispatcher.java:322) at org.codehaus.groovy.classgen.asm.sc.StaticTypesBinaryExpressionMultiTypeDispatcher.evaluateEqual(StaticTypesBinaryExpressionMultiTypeDispatcher.java:177) at org.codehaus.groovy.classgen.asm.BinaryExpressionHelper.eval(BinaryExpressionHelper.java:150) at org.codehaus.groovy.classgen.AsmClassGenerator.visitBinaryExpression(AsmClassGenerator.java:707) at org.codehaus.groovy.ast.expr.BinaryExpression.visit(BinaryExpression.java:58) at org.codehaus.groovy.classgen.asm.StatementWriter.writeExpressionStatement(StatementWriter.java:635) at org.codehaus.groovy.classgen.AsmClassGenerator.visitExpressionStatement(AsmClassGenerator.java:686) at org.codehaus.groovy.ast.stmt.ExpressionStatement.visit(ExpressionStatement.java:40) at org.codehaus.groovy.classgen.asm.StatementWriter.writeBlockStatement(StatementWriter.java:94) at org.codehaus.groovy.classgen.asm.sc.StaticTypesStatementWriter.writeBlockStatement(StaticTypesStatementWriter.java:78) at org.codehaus.groovy.classgen.AsmClassGenerator.visitBlockStatement(AsmClassGenerator.java:617) at org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:69) at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClassCodeContainer(ClassCodeVisitorSupport.java:138) at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitConstructorOrMethod(ClassCodeVisitorSupport.java:111) at org.codehaus.groovy.classgen.AsmClassGenerator.visitStdMethod(AsmClassGenerator.java:461) at org.codehaus.groovy.classgen.AsmClassGenerator.visitConstructorOrMethod(AsmClassGenerator.java:408) at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitMethod(ClassCodeVisitorSupport.java:106) at org.codehaus.groovy.classgen.AsmClassGenerator.visitMethod(AsmClassGenerator.java:556) at org.codehaus.groovy.ast.ClassNode.visitMethods(ClassNode.java:1099) at org.codehaus.groovy.ast.ClassNode.visitContents(ClassNode.java:1092) at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClass(ClassCodeVisitorSupport.java:52) at org.codehaus.groovy.classgen.AsmClassGenerator.visitClass(AsmClassGenerator.java:271) at org.codehaus.groovy.control.CompilationUnit$3.call(CompilationUnit.java:797) at org.codehaus.groovy.control.CompilationUnit$IPrimaryClassNodeOperation.doPhaseOperation(CompilationUnit.java:942) at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:671) at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:635) at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:610) at org.gradle.api.internal.tasks.compile.ApiGroovyCompiler.execute(ApiGroovyCompiler.java:268) at org.gradle.api.internal.tasks.compile.ApiGroovyCompiler.execute(ApiGroovyCompiler.java:68) at org.gradle.api.internal.tasks.compile.GroovyCompilerFactory$DaemonSideCompiler.execute(GroovyCompilerFactory.java:87) at org.gradle.api.internal.tasks.compile.GroovyCompilerFactory$DaemonSideCompiler.execute(GroovyCompilerFactory.java:75) at org.gradle.api.internal.tasks.compile.daemon.AbstractDaemonCompiler$CompilerWorkAction.execute(AbstractDaemonCompiler.java:113) at org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:47) at org.gradle.workers.internal.AbstractClassLoaderWorker$1.create(AbstractClassLoaderWorker.java:46) at org.gradle.workers.internal.AbstractClassLoaderWorker$1.create(AbstractClassLoaderWorker.java:36) at org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:98) at org.gradle.workers.internal.AbstractClassLoaderWorker.executeInClassLoader(AbstractClassLoaderWorker.java:36) at org.gradle.workers.internal.IsolatedClassloaderWorker.execute(IsolatedClassloaderWorker.java:54) at org.gradle.workers.internal.WorkerDaemonServer.execute(WorkerDaemonServer.java:56) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.gradle.process.internal.worker.request.WorkerAction.run(WorkerAction.java:118) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:182) at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:164) at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:412) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56) at java.base/java.lang.Thread.run(Thread.java:834)
> 1 error
> {code}
> The output contains no clues as to which class was being processed at the time, so I have no idea how to narrow down the cause.
> This affects at least versions 3.0.5-3.0.7; I don't know about earlier versions.  The application compiles correctly with 2.4.15.



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