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

Jason Garrett resolved GROOVY-10910.
------------------------------------
    Fix Version/s:     (was: 3.0.8)
                       (was: 4.0.0-alpha-3)
                       (was: 2.5.16)
       Resolution: Invalid

Created by mistake.

> 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)

Reply via email to