[ 
https://issues.apache.org/jira/browse/GROOVY-8727?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16601928#comment-16601928
 ] 

Uwe Schindler commented on GROOVY-8727:
---------------------------------------

Another option to fix this is to override the 2 experimental methods in 
ClassVisitor (mainly {{public void visitNestMemberExperimental(String 
nestMember)}}, but also the inverse one) and let Groovy print a warning, so 
user is at least informed. Then you can go with ASM6 constant.
Once you update to ASM7, you can remove the override (you have to anyways, 
because also the method name is subject to change).

> JDK 11 Compilation Failure: ClassVisitor.visitNestMemberExperimental throws 
> UnsupportedOperationException 
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: GROOVY-8727
>                 URL: https://issues.apache.org/jira/browse/GROOVY-8727
>             Project: Groovy
>          Issue Type: Bug
>          Components: Compiler
>    Affects Versions: 2.5.2
>            Reporter: Misagh Moayyed
>            Priority: Major
>
> *Description:*
> Using JDK 11 and Gradle 4.9, the following compilation error is seen:
>  
> {code:java}
> > Task :core:cas-server-core-tickets:compileTestGroovy FAILED
> startup failed:
> General error during class generation: java.lang.UnsupportedOperationException
> java.lang.UnsupportedOperationException
>       at 
> groovyjarjarasm.asm.ClassVisitor.visitNestMemberExperimental(ClassVisitor.java:248)
>       at groovyjarjarasm.asm.ClassReader.accept(ClassReader.java:651)
>       at groovyjarjarasm.asm.ClassReader.accept(ClassReader.java:391)
>       at 
> org.codehaus.groovy.ast.decompiled.AsmDecompiler.parseClass(AsmDecompiler.java:83)
>       at 
> org.codehaus.groovy.control.ClassNodeResolver.findDecompiled(ClassNodeResolver.java:254)
>       at 
> org.codehaus.groovy.control.ClassNodeResolver.tryAsLoaderClassOrScript(ClassNodeResolver.java:192)
>       at 
> org.codehaus.groovy.control.ClassNodeResolver.findClassNode(ClassNodeResolver.java:172)
>       at 
> org.codehaus.groovy.control.ClassNodeResolver.resolveName(ClassNodeResolver.java:128)
>       at 
> org.codehaus.groovy.ast.decompiled.AsmReferenceResolver.resolveClassNullable(AsmReferenceResolver.java:59)
>       at 
> org.codehaus.groovy.ast.decompiled.AsmReferenceResolver.resolveClass(AsmReferenceResolver.java:46)
>       at 
> org.codehaus.groovy.ast.decompiled.TypeSignatureParser.visitEnd(TypeSignatureParser.java:112)
>       at 
> groovyjarjarasm.asm.signature.SignatureReader.parseType(SignatureReader.java:206)
>       at 
> groovyjarjarasm.asm.signature.SignatureReader.parseType(SignatureReader.java:235)
>       at 
> groovyjarjarasm.asm.signature.SignatureReader.accept(SignatureReader.java:114)
>       at 
> org.codehaus.groovy.ast.decompiled.MemberSignatureParser.createMethodNode(MemberSignatureParser.java:95)
>       at 
> org.codehaus.groovy.ast.decompiled.DecompiledClassNode.lazyInitMembers(DecompiledClassNode.java:195)
>       at 
> org.codehaus.groovy.ast.decompiled.DecompiledClassNode.getMethods(DecompiledClassNode.java:103)
>       at org.codehaus.groovy.ast.ClassNode.getMethods(ClassNode.java:399)
>       at 
> org.codehaus.groovy.classgen.AnnotationVisitor.checkIfMandatoryAnnotationValuesPassed(AnnotationVisitor.java:168)
>       at 
> org.codehaus.groovy.classgen.AnnotationVisitor.visit(AnnotationVisitor.java:80)
>       at 
> org.codehaus.groovy.classgen.ExtendedVerifier.visitAnnotation(ExtendedVerifier.java:311)
>       at 
> org.codehaus.groovy.classgen.ExtendedVerifier.visitAnnotations(ExtendedVerifier.java:157)
>       at 
> org.codehaus.groovy.classgen.ExtendedVerifier.visitConstructorOrMethod(ExtendedVerifier.java:112)
>       at 
> org.codehaus.groovy.classgen.ExtendedVerifier.visitMethod(ExtendedVerifier.java:108)
>       at org.codehaus.groovy.ast.ClassNode.visitContents(ClassNode.java:1103)
>       at 
> org.codehaus.groovy.classgen.ExtendedVerifier.visitClass(ExtendedVerifier.java:91)
>       at 
> org.codehaus.groovy.control.CompilationUnit$18.call(CompilationUnit.java:827)
>       at 
> org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:1087)
>       at 
> org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:631)
>       at 
> org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:609)
>       at 
> org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:586)
>       at 
> org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:565)
>       at 
> org.gradle.api.internal.tasks.compile.ApiGroovyCompiler.execute(ApiGroovyCompiler.java:179)
>       at 
> org.gradle.api.internal.tasks.compile.ApiGroovyCompiler.execute(ApiGroovyCompiler.java:57)
>       at 
> org.gradle.api.internal.tasks.compile.GroovyCompilerFactory$DaemonSideCompiler.execute(GroovyCompilerFactory.java:77)
>       at 
> org.gradle.api.internal.tasks.compile.GroovyCompilerFactory$DaemonSideCompiler.execute(GroovyCompilerFactory.java:65)
>       at 
> org.gradle.api.internal.tasks.compile.daemon.AbstractDaemonCompiler$CompilerCallable.call(AbstractDaemonCompiler.java:88)
>       at 
> org.gradle.api.internal.tasks.compile.daemon.AbstractDaemonCompiler$CompilerCallable.call(AbstractDaemonCompiler.java:76)
>       at 
> org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:42)
>       at 
> org.gradle.workers.internal.WorkerDaemonServer.execute(WorkerDaemonServer.java:46)
>       at 
> org.gradle.workers.internal.WorkerDaemonServer.execute(WorkerDaemonServer.java:30)
>       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:101)
>       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:35)
>       at 
> org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
>       at 
> org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:155)
>       at 
> org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:137)
>       at 
> org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404)
>       at 
> org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
>       at 
> org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
>       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:55)
>       at java.base/java.lang.Thread.run(Thread.java:834)
> 1 error
> {code}
> *Logs:*
> Full output of the failure can be seen at: 
> [https://travis-ci.org/apereo/cas/jobs/409569424]
>  
> *To duplicate:*
>  # Install JDK 11
>  # Clone the branch below
>  # 
> {code:java}
> git clone depth 1 --single-branch branch=travis-ci-jdk11 
> g...@github.com:apereo/cas.git{code}
>  # 
> {code:java}
> Execute the following command as does Travis CI:
> ./gradlew --stacktrace --build-cache --configure-on-demand --no-daemon build 
> -x test -x javadoc -x check -DskipNpmLint=true 
> -DskipNestedConfigMetadataGen=true --parallel{code}
> The failure should occur in:
> {code:java}
> :core:cas-server-core-tickets:compileTestGroovy FAILED{code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to