groovy-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Uwe Schindler (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (GROOVY-8727) JDK 11 Compilation Failure: ClassVisitor.visitNestMemberExperimental throws UnsupportedOperationException
Date Mon, 03 Sep 2018 09:14:00 GMT

    [ 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 git@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)

Mime
View raw message