Uploaded image for project: 'Groovy'
  1. Groovy
  2. GROOVY-8727

JDK 11 Compilation Failure: ClassVisitor.visitNestMemberExperimental throws UnsupportedOperationException

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.5.2
    • 3.0.0-alpha-4, 2.5.3
    • Compiler
    • None

    Description

      Description:

      Using JDK 11 and Gradle 4.9, the following compilation error is seen:

       

      > 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
      
      

      Logs:

      Full output of the failure can be seen at: https://travis-ci.org/apereo/cas/jobs/409569424

       

      To duplicate:

      1. Install JDK 11
      2. Clone the branch below
      3. git clone depth 1 --single-branch branch=travis-ci-jdk11 git@github.com:apereo/cas.git
      1. 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

      The failure should occur in:

      :core:cas-server-core-tickets:compileTestGroovy FAILED

      Attachments

        Issue Links

          Activity

            People

              paulk Paul King
              mmoayyed Misagh Moayyed
              Votes:
              2 Vote for this issue
              Watchers:
              11 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: