Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-40117

Type java.lang$Enum not present when updating 2.6 to 2.7

    • Pipeline - April 2018

      When Updating to the to the latest version of the workflow-api-plugin 2.7 the executing of my pipeline breaks with the following error backtrace:

      Error Backtrace

      java.lang.TypeNotPresentException: Type java.lang$Enum not present
      at sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:117)
      at sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:125)
      at sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49)
      at sun.reflect.generics.repository.ClassRepository.getSuperclass(ClassRepository.java:90)
      at java.lang.Class.getGenericSuperclass(Class.java:777)
      at com.sun.beans.TypeResolver.prepare(TypeResolver.java:308)
      at com.sun.beans.TypeResolver.resolve(TypeResolver.java:185)
      at com.sun.beans.TypeResolver.resolve(TypeResolver.java:218)
      at com.sun.beans.TypeResolver.resolve(TypeResolver.java:169)
      at com.sun.beans.TypeResolver.resolveInClass(TypeResolver.java:81)
      at java.beans.FeatureDescriptor.getReturnType(FeatureDescriptor.java:370)
      at java.beans.PropertyDescriptor.findPropertyType(PropertyDescriptor.java:648)
      at java.beans.PropertyDescriptor.updateGenericsFor(PropertyDescriptor.java:623)
      at java.beans.Introspector.addPropertyDescriptor(Introspector.java:605)
      at java.beans.Introspector.addPropertyDescriptors(Introspector.java:614)
      at java.beans.Introspector.getTargetPropertyInfo(Introspector.java:467)
      at java.beans.Introspector.getBeanInfo(Introspector.java:428)
      at java.beans.Introspector.getBeanInfo(Introspector.java:173)
      at groovy.lang.MetaClassImpl$15.run(MetaClassImpl.java:3290)
      at java.security.AccessController.doPrivileged(Native Method)
      at groovy.lang.MetaClassImpl.addProperties(MetaClassImpl.java:3288)
      at groovy.lang.MetaClassImpl.initialize(MetaClassImpl.java:3265)
      at org.codehaus.groovy.reflection.ClassInfo.getMetaClassUnderLock(ClassInfo.java:254)
      at org.codehaus.groovy.reflection.ClassInfo.getMetaClass(ClassInfo.java:285)
      at org.codehaus.groovy.runtime.callsite.ClassMetaClassGetPropertySite.<init>(ClassMetaClassGetPropertySite.java:38)
      at org.codehaus.groovy.runtime.callsite.AbstractCallSite.createClassMetaClassGetPropertySite(AbstractCallSite.java:373)
      at org.codehaus.groovy.runtime.callsite.AbstractCallSite.createGetPropertySite(AbstractCallSite.java:325)
      at org.codehaus.groovy.runtime.callsite.AbstractCallSite.acceptGetProperty(AbstractCallSite.java:312)
      at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(AbstractCallSite.java:296)
      at packageInstaller.call(packageInstaller.groovy)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:498)
      at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
      at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
      at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1215)
      at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1024)
      at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:812)
      at org.jenkinsci.plugins.workflow.cps.CpsScript.invokeMethod(CpsScript.java:100)
      at groovy.lang.GroovyObject$invokeMethod.call(Unknown Source)
      at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
      at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
      at org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:151)
      at org.kohsuke.groovy.sandbox.GroovyInterceptor.onMethodCall(GroovyInterceptor.java:21)
      at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onMethodCall(SandboxInterceptor.java:115)
      at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onMethodCall(SandboxInterceptor.java:103)
      at org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:149)
      at org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:146)
      at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.methodCall(SandboxInvoker.java:16)
      at WorkflowScript.run(WorkflowScript:102)
      at __cps.transform__(Native Method)
      at com.cloudbees.groovy.cps.impl.ContinuationGroup.methodCall(ContinuationGroup.java:57)
      at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.dispatchOrArg(FunctionCallBlock.java:109)
      at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.fixArg(FunctionCallBlock.java:82)
      at sun.reflect.GeneratedMethodAccessor210.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:498)
      at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72)
      at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.dispatchOrArg(FunctionCallBlock.java:103)
      at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.fixArg(FunctionCallBlock.java:82)
      at sun.reflect.GeneratedMethodAccessor210.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:498)
      at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72)
      at com.cloudbees.groovy.cps.impl.ConstantBlock.eval(ConstantBlock.java:21)
      at com.cloudbees.groovy.cps.Next.step(Next.java:58)
      at com.cloudbees.groovy.cps.Continuable.run0(Continuable.java:154)
      at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.access$001(SandboxContinuable.java:18)
      at org.jenkinsci.plugins.workflow.cps.SandboxContinuable$1.call(SandboxContinuable.java:33)
      at org.jenkinsci.plugins.workflow.cps.SandboxContinuable$1.call(SandboxContinuable.java:30)
      at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.GroovySandbox.runInSandbox(GroovySandbox.java:108)
      at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.run0(SandboxContinuable.java:30)
      at org.jenkinsci.plugins.workflow.cps.CpsThread.runNextChunk(CpsThread.java:163)
      at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.run(CpsThreadGroup.java:324)
      at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.access$100(CpsThreadGroup.java:78)
      at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:236)
      at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:224)
      at org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$2.call(CpsVmExecutorService.java:63)
      at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      at hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:112)
      at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at java.lang.Thread.run(Thread.java:745)
      Caused by: java.lang.ClassNotFoundException: java.lang$Enum
      at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
      at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:677)
      at groovy.lang.GroovyClassLoader$InnerLoader.loadClass(GroovyClassLoader.java:425)
      at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:787)
      at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:775)
      at java.lang.Class.forName0(Native Method)
      at java.lang.Class.forName(Class.java:348)
      at sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:114)
      at sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:125)
      at sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49)
      at sun.reflect.generics.repository.ClassRepository.getSuperclass(ClassRepository.java:90)
      at java.lang.Class.getGenericSuperclass(Class.java:777)
      at com.sun.beans.TypeResolver.prepare(TypeResolver.java:308)
      at com.sun.beans.TypeResolver.resolve(TypeResolver.java:185)
      at com.sun.beans.TypeResolver.resolve(TypeResolver.java:218)
      at com.sun.beans.TypeResolver.resolve(TypeResolver.java:169)
      at com.sun.beans.TypeResolver.resolveInClass(TypeResolver.java:81)
      at java.beans.FeatureDescriptor.getReturnType(FeatureDescriptor.java:370)
      at java.beans.PropertyDescriptor.findPropertyType(PropertyDescriptor.java:648)
      at java.beans.PropertyDescriptor.updateGenericsFor(PropertyDescriptor.java:623)
      at java.beans.Introspector.addPropertyDescriptor(Introspector.java:605)
      at java.beans.Introspector.addPropertyDescriptors(Introspector.java:614)
      at java.beans.Introspector.getTargetPropertyInfo(Introspector.java:467)
      at java.beans.Introspector.getBeanInfo(Introspector.java:428)
      at java.beans.Introspector.getBeanInfo(Introspector.java:173)
      at groovy.lang.MetaClassImpl$15.run(MetaClassImpl.java:3290)
      at java.security.AccessController.doPrivileged(Native Method)
      at groovy.lang.MetaClassImpl.addProperties(MetaClassImpl.java:3288)
      at groovy.lang.MetaClassImpl.initialize(MetaClassImpl.java:3265)
      at org.codehaus.groovy.reflection.ClassInfo.getMetaClassUnderLock(ClassInfo.java:254)
      at org.codehaus.groovy.reflection.ClassInfo.getMetaClass(ClassInfo.java:285)
      at org.codehaus.groovy.runtime.callsite.ClassMetaClassGetPropertySite.<init>(ClassMetaClassGetPropertySite.java:38)
      at org.codehaus.groovy.runtime.callsite.AbstractCallSite.createClassMetaClassGetPropertySite(AbstractCallSite.java:373)
      at org.codehaus.groovy.runtime.callsite.AbstractCallSite.createGetPropertySite(AbstractCallSite.java:325)
      at org.codehaus.groovy.runtime.callsite.AbstractCallSite.acceptGetProperty(AbstractCallSite.java:312)
      at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(AbstractCallSite.java:296)
      at packageInstaller.call(packageInstaller.groovy)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:498)
      at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
      at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
      at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1215)
      at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1024)
      at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:812)
      at org.jenkinsci.plugins.workflow.cps.CpsScript.invokeMethod(CpsScript.java:100)
      at groovy.lang.GroovyObject$invokeMethod.call(Unknown Source)
      at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
      at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
      at org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:151)
      at org.kohsuke.groovy.sandbox.GroovyInterceptor.onMethodCall(GroovyInterceptor.java:21)
      at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onMethodCall(SandboxInterceptor.java:115)
      at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onMethodCall(SandboxInterceptor.java:103)
      at org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:149)
      at org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:146)
      at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.methodCall(SandboxInvoker.java:16)
      ... 35 more

      I have no real idea what to look for in my pipeline script. I am not using any Enum Type myself. This issue makes it impossible for me to update the pipeline api plugin.

      With version 2.6 of the workflow-api-plugin everything works just fine.

          [JENKINS-40117] Type java.lang$Enum not present when updating 2.6 to 2.7

          Martin Karing created issue -

          Jon Sten added a comment -

          I've got a similar error that might be related to this:

          java.lang.NoClassDefFoundError: java$lang$Enum
          	at java.lang.Class.getDeclaredMethods0(Native Method)
          	at java.lang.Class.privateGetDeclaredMethods(Class.java:2625)
          	at java.lang.Class.getDeclaredMethods(Class.java:1868)
          	at org.codehaus.groovy.vmplugin.v5.Java5.configureClassNode(Java5.java:328)
          	at org.codehaus.groovy.ast.ClassNode.lazyClassInit(ClassNode.java:262)
          	at org.codehaus.groovy.ast.ClassNode.getInterfaces(ClassNode.java:356)
          	at org.codehaus.groovy.ast.ClassNode.declaresInterface(ClassNode.java:948)
          	at org.codehaus.groovy.ast.ClassNode.implementsInterface(ClassNode.java:928)
          	at org.codehaus.groovy.ast.ClassNode.isDerivedFromGroovyObject(ClassNode.java:918)
          	at org.codehaus.groovy.classgen.AsmClassGenerator.isGroovyObject(AsmClassGenerator.java:1090)
          	at org.codehaus.groovy.classgen.AsmClassGenerator.visitPropertyExpression(AsmClassGenerator.java:1047)
          	at org.codehaus.groovy.ast.expr.PropertyExpression.visit(PropertyExpression.java:55)
          	at org.codehaus.groovy.classgen.asm.CallSiteWriter.makeCallSite(CallSiteWriter.java:301)
          	at org.codehaus.groovy.classgen.asm.InvocationWriter.makeCall(InvocationWriter.java:187)
          	at org.codehaus.groovy.classgen.asm.InvocationWriter.makeCall(InvocationWriter.java:89)
          	at org.codehaus.groovy.classgen.asm.InvocationWriter.makeInvokeMethodCall(InvocationWriter.java:73)
          	at org.codehaus.groovy.classgen.asm.InvocationWriter.writeInvokeMethod(InvocationWriter.java:292)
          	at org.codehaus.groovy.classgen.AsmClassGenerator.visitMethodCallExpression(AsmClassGenerator.java:655)
          	at org.codehaus.groovy.ast.expr.MethodCallExpression.visit(MethodCallExpression.java:75)
          	at org.codehaus.groovy.classgen.asm.CallSiteWriter.makeCallSite(CallSiteWriter.java:301)
          	at org.codehaus.groovy.classgen.asm.InvocationWriter.writeInvokeConstructor(InvocationWriter.java:398)
          	at org.codehaus.groovy.classgen.AsmClassGenerator.visitConstructorCallExpression(AsmClassGenerator.java:909)
          	at org.codehaus.groovy.ast.expr.ConstructorCallExpression.visit(ConstructorCallExpression.java:43)
          	at org.codehaus.groovy.classgen.asm.BinaryExpressionHelper.evaluateEqual(BinaryExpressionHelper.java:296)
          	at org.codehaus.groovy.classgen.asm.BinaryExpressionHelper.eval(BinaryExpressionHelper.java:79)
          	at org.codehaus.groovy.classgen.AsmClassGenerator.visitBinaryExpression(AsmClassGenerator.java:519)
          	at org.codehaus.groovy.ast.expr.BinaryExpression.visit(BinaryExpression.java:49)
          	at org.codehaus.groovy.classgen.asm.StatementWriter.writeExpressionStatement(StatementWriter.java:599)
          	at org.codehaus.groovy.classgen.asm.OptimizingStatementWriter.writeExpressionStatement(OptimizingStatementWriter.java:354)
          	at org.codehaus.groovy.classgen.AsmClassGenerator.visitExpressionStatement(AsmClassGenerator.java:501)
          	at org.codehaus.groovy.ast.stmt.ExpressionStatement.visit(ExpressionStatement.java:40)
          	at org.codehaus.groovy.classgen.asm.StatementWriter.writeBlockStatement(StatementWriter.java:80)
          	at org.codehaus.groovy.classgen.asm.OptimizingStatementWriter.writeBlockStatement(OptimizingStatementWriter.java:155)
          	at org.codehaus.groovy.classgen.AsmClassGenerator.visitBlockStatement(AsmClassGenerator.java:447)
          	at org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:69)
          	at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClassCodeContainer(ClassCodeVisitorSupport.java:101)
          	at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitConstructorOrMethod(ClassCodeVisitorSupport.java:112)
          	at org.codehaus.groovy.classgen.AsmClassGenerator.visitStdMethod(AsmClassGenerator.java:311)
          	at org.codehaus.groovy.classgen.AsmClassGenerator.visitConstructorOrMethod(AsmClassGenerator.java:268)
          	at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitConstructor(ClassCodeVisitorSupport.java:119)
          	at org.codehaus.groovy.classgen.AsmClassGenerator.visitConstructor(AsmClassGenerator.java:383)
          	at org.codehaus.groovy.ast.ClassNode.visitContents(ClassNode.java:1054)
          	at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClass(ClassCodeVisitorSupport.java:50)
          	at org.codehaus.groovy.classgen.AsmClassGenerator.visitClass(AsmClassGenerator.java:172)
          	at org.codehaus.groovy.control.CompilationUnit$14.call(CompilationUnit.java:770)
          	at org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:970)
          	at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:548)
          	at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:526)
          	at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:503)
          	at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:302)
          	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:281)
          	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:267)
          	at groovy.lang.GroovyClassLoader.recompile(GroovyClassLoader.java:776)
          	at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:733)
          	at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:802)
          	at java.lang.ClassLoader.loadClass(ClassLoader.java:412)
          	at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:692)
          	at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:560)
          	at org.codehaus.groovy.control.ClassNodeResolver.tryAsLoaderClassOrScript(ClassNodeResolver.java:183)
          	at org.codehaus.groovy.control.ClassNodeResolver.findClassNode(ClassNodeResolver.java:168)
          	at org.codehaus.groovy.control.ClassNodeResolver.resolveName(ClassNodeResolver.java:124)
          	at org.codehaus.groovy.control.ResolveVisitor.resolveToOuter(ResolveVisitor.java:616)
          	at org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:268)
          	at org.codehaus.groovy.control.ResolveVisitor.visitClass(ResolveVisitor.java:1133)
          	at org.codehaus.groovy.control.ResolveVisitor.startResolving(ResolveVisitor.java:141)
          	at org.codehaus.groovy.control.CompilationUnit$9.call(CompilationUnit.java:608)
          	at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:846)
          	at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:550)
          	at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:499)
          	at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:302)
          	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:281)
          	at groovy.lang.GroovyShell.parseClass(GroovyShell.java:731)
          	at groovy.lang.GroovyShell.parse(GroovyShell.java:743)
          	at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.reparse(CpsGroovyShell.java:67)
          	at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.parseScript(CpsFlowExecution.java:429)
          	at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.start(CpsFlowExecution.java:392)
          	at org.jenkinsci.plugins.workflow.job.WorkflowRun.run(WorkflowRun.java:221)
          	at hudson.model.ResourceController.execute(ResourceController.java:98)
          	at hudson.model.Executor.run(Executor.java:410)
          Caused by: java.lang.ClassNotFoundException: java$lang$Enum
          	at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
          	at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
          	at java.security.AccessController.doPrivileged(Native Method)
          	at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
          	at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
          	at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:692)
          	at groovy.lang.GroovyClassLoader$InnerLoader.loadClass(GroovyClassLoader.java:445)
          	at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:802)
          	at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:790)
          	... 79 more
          

          It occurred when executing a pipeline job which uses GPL that defines enum classes. The thing is that the script had worked without any problems for several weeks, then I restarted the Jenkins instance because I needed to update a totally unrelated plugin. After a few hours later the pipeline job executed and got the error above (serveral other jobs, freestyle, pipeline without enums had built in between)! I googled some and found the following http://stackoverflow.com/questions/40854472/java-lang-classnotfoundexception-java-langenum-in-jenkins-2-0-while-executing. I did the suggested thing, restarted the instance and directly after going online I executed the pipeline job, this time it worked. So I'm guessing that the environment somehow get's polluted with time...

          Jon Sten added a comment - I've got a similar error that might be related to this: java.lang.NoClassDefFoundError: java$lang$Enum at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:2625) at java.lang.Class.getDeclaredMethods(Class.java:1868) at org.codehaus.groovy.vmplugin.v5.Java5.configureClassNode(Java5.java:328) at org.codehaus.groovy.ast.ClassNode.lazyClassInit(ClassNode.java:262) at org.codehaus.groovy.ast.ClassNode.getInterfaces(ClassNode.java:356) at org.codehaus.groovy.ast.ClassNode.declaresInterface(ClassNode.java:948) at org.codehaus.groovy.ast.ClassNode.implementsInterface(ClassNode.java:928) at org.codehaus.groovy.ast.ClassNode.isDerivedFromGroovyObject(ClassNode.java:918) at org.codehaus.groovy.classgen.AsmClassGenerator.isGroovyObject(AsmClassGenerator.java:1090) at org.codehaus.groovy.classgen.AsmClassGenerator.visitPropertyExpression(AsmClassGenerator.java:1047) at org.codehaus.groovy.ast.expr.PropertyExpression.visit(PropertyExpression.java:55) at org.codehaus.groovy.classgen.asm.CallSiteWriter.makeCallSite(CallSiteWriter.java:301) at org.codehaus.groovy.classgen.asm.InvocationWriter.makeCall(InvocationWriter.java:187) at org.codehaus.groovy.classgen.asm.InvocationWriter.makeCall(InvocationWriter.java:89) at org.codehaus.groovy.classgen.asm.InvocationWriter.makeInvokeMethodCall(InvocationWriter.java:73) at org.codehaus.groovy.classgen.asm.InvocationWriter.writeInvokeMethod(InvocationWriter.java:292) at org.codehaus.groovy.classgen.AsmClassGenerator.visitMethodCallExpression(AsmClassGenerator.java:655) at org.codehaus.groovy.ast.expr.MethodCallExpression.visit(MethodCallExpression.java:75) at org.codehaus.groovy.classgen.asm.CallSiteWriter.makeCallSite(CallSiteWriter.java:301) at org.codehaus.groovy.classgen.asm.InvocationWriter.writeInvokeConstructor(InvocationWriter.java:398) at org.codehaus.groovy.classgen.AsmClassGenerator.visitConstructorCallExpression(AsmClassGenerator.java:909) at org.codehaus.groovy.ast.expr.ConstructorCallExpression.visit(ConstructorCallExpression.java:43) at org.codehaus.groovy.classgen.asm.BinaryExpressionHelper.evaluateEqual(BinaryExpressionHelper.java:296) at org.codehaus.groovy.classgen.asm.BinaryExpressionHelper.eval(BinaryExpressionHelper.java:79) at org.codehaus.groovy.classgen.AsmClassGenerator.visitBinaryExpression(AsmClassGenerator.java:519) at org.codehaus.groovy.ast.expr.BinaryExpression.visit(BinaryExpression.java:49) at org.codehaus.groovy.classgen.asm.StatementWriter.writeExpressionStatement(StatementWriter.java:599) at org.codehaus.groovy.classgen.asm.OptimizingStatementWriter.writeExpressionStatement(OptimizingStatementWriter.java:354) at org.codehaus.groovy.classgen.AsmClassGenerator.visitExpressionStatement(AsmClassGenerator.java:501) at org.codehaus.groovy.ast.stmt.ExpressionStatement.visit(ExpressionStatement.java:40) at org.codehaus.groovy.classgen.asm.StatementWriter.writeBlockStatement(StatementWriter.java:80) at org.codehaus.groovy.classgen.asm.OptimizingStatementWriter.writeBlockStatement(OptimizingStatementWriter.java:155) at org.codehaus.groovy.classgen.AsmClassGenerator.visitBlockStatement(AsmClassGenerator.java:447) at org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:69) at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClassCodeContainer(ClassCodeVisitorSupport.java:101) at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitConstructorOrMethod(ClassCodeVisitorSupport.java:112) at org.codehaus.groovy.classgen.AsmClassGenerator.visitStdMethod(AsmClassGenerator.java:311) at org.codehaus.groovy.classgen.AsmClassGenerator.visitConstructorOrMethod(AsmClassGenerator.java:268) at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitConstructor(ClassCodeVisitorSupport.java:119) at org.codehaus.groovy.classgen.AsmClassGenerator.visitConstructor(AsmClassGenerator.java:383) at org.codehaus.groovy.ast.ClassNode.visitContents(ClassNode.java:1054) at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClass(ClassCodeVisitorSupport.java:50) at org.codehaus.groovy.classgen.AsmClassGenerator.visitClass(AsmClassGenerator.java:172) at org.codehaus.groovy.control.CompilationUnit$14.call(CompilationUnit.java:770) at org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:970) at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:548) at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:526) at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:503) at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:302) at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:281) at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:267) at groovy.lang.GroovyClassLoader.recompile(GroovyClassLoader.java:776) at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:733) at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:802) at java.lang.ClassLoader.loadClass(ClassLoader.java:412) at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:692) at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:560) at org.codehaus.groovy.control.ClassNodeResolver.tryAsLoaderClassOrScript(ClassNodeResolver.java:183) at org.codehaus.groovy.control.ClassNodeResolver.findClassNode(ClassNodeResolver.java:168) at org.codehaus.groovy.control.ClassNodeResolver.resolveName(ClassNodeResolver.java:124) at org.codehaus.groovy.control.ResolveVisitor.resolveToOuter(ResolveVisitor.java:616) at org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:268) at org.codehaus.groovy.control.ResolveVisitor.visitClass(ResolveVisitor.java:1133) at org.codehaus.groovy.control.ResolveVisitor.startResolving(ResolveVisitor.java:141) at org.codehaus.groovy.control.CompilationUnit$9.call(CompilationUnit.java:608) at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:846) at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:550) at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:499) at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:302) at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:281) at groovy.lang.GroovyShell.parseClass(GroovyShell.java:731) at groovy.lang.GroovyShell.parse(GroovyShell.java:743) at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.reparse(CpsGroovyShell.java:67) at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.parseScript(CpsFlowExecution.java:429) at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.start(CpsFlowExecution.java:392) at org.jenkinsci.plugins.workflow.job.WorkflowRun.run(WorkflowRun.java:221) at hudson.model.ResourceController.execute(ResourceController.java:98) at hudson.model.Executor.run(Executor.java:410) Caused by: java.lang.ClassNotFoundException: java$lang$Enum at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:692) at groovy.lang.GroovyClassLoader$InnerLoader.loadClass(GroovyClassLoader.java:445) at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:802) at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:790) ... 79 more It occurred when executing a pipeline job which uses GPL that defines enum classes. The thing is that the script had worked without any problems for several weeks, then I restarted the Jenkins instance because I needed to update a totally unrelated plugin. After a few hours later the pipeline job executed and got the error above (serveral other jobs, freestyle, pipeline without enums had built in between)! I googled some and found the following http://stackoverflow.com/questions/40854472/java-lang-classnotfoundexception-java-langenum-in-jenkins-2-0-while-executing . I did the suggested thing, restarted the instance and directly after going online I executed the pipeline job, this time it worked. So I'm guessing that the environment somehow get's polluted with time...

          Junpeng Luo added a comment -

          Got similar problem after upgrade pipeline api plugin from 2.4 to 2.7. Also upgrade some other pipeline plugins so I am not 100% sure this is the cause. But the exception looks similar.
          Jenkins Version: 2.33

          java.lang.TypeNotPresentException: Type java$lang$Enum not present
          	at sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:117)
          	at sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:125)
          	at sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49)
          	at sun.reflect.generics.repository.ClassRepository.getSuperclass(ClassRepository.java:84)
          	at java.lang.Class.getGenericSuperclass(Class.java:696)
          	at com.sun.beans.TypeResolver.prepare(TypeResolver.java:308)
          	at com.sun.beans.TypeResolver.resolve(TypeResolver.java:185)
          	at com.sun.beans.TypeResolver.resolve(TypeResolver.java:218)
          	at com.sun.beans.TypeResolver.resolve(TypeResolver.java:169)
          	at com.sun.beans.TypeResolver.resolveInClass(TypeResolver.java:81)
          	at java.beans.FeatureDescriptor.getReturnType(FeatureDescriptor.java:370)
          	at java.beans.PropertyDescriptor.findPropertyType(PropertyDescriptor.java:661)
          	at java.beans.PropertyDescriptor.updateGenericsFor(PropertyDescriptor.java:636)
          	at java.beans.Introspector.addPropertyDescriptor(Introspector.java:595)
          	at java.beans.Introspector.addPropertyDescriptors(Introspector.java:604)
          	at java.beans.Introspector.getTargetPropertyInfo(Introspector.java:457)
          	at java.beans.Introspector.getBeanInfo(Introspector.java:418)
          	at java.beans.Introspector.getBeanInfo(Introspector.java:163)
          	at groovy.lang.MetaClassImpl$15.run(MetaClassImpl.java:3290)
          	at java.security.AccessController.doPrivileged(Native Method)
          	at groovy.lang.MetaClassImpl.addProperties(MetaClassImpl.java:3288)
          	at groovy.lang.MetaClassImpl.initialize(MetaClassImpl.java:3265)
          	at org.codehaus.groovy.reflection.ClassInfo.getMetaClassUnderLock(ClassInfo.java:254)
          	at org.codehaus.groovy.reflection.ClassInfo.getMetaClass(ClassInfo.java:285)
          	at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass(MetaClassRegistryImpl.java:258)
          	at org.codehaus.groovy.runtime.InvokerHelper.getProperty(InvokerHelper.java:175)
          	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.getProperty(ScriptBytecodeAdapter.java:456)
          	at com.cloudbees.groovy.cps.sandbox.DefaultInvoker.getProperty(DefaultInvoker.java:33)
          	at com.cloudbees.groovy.cps.impl.PropertyAccessBlock.rawGet(PropertyAccessBlock.java:20)
          	at com.indeed.pipeline.logging.Logger.info(file:/var/local/jenkins/indeedu/jobs/junpeng/builds/305/libs/pipeline/src/com/indeed/pipeline/logging/Logger.groovy:23)
          	at pipeline.call(/var/local/jenkins/indeedu/jobs/junpeng/builds/305/libs/pipeline/vars/pipeline.groovy:44)
          	at WorkflowScript.run(WorkflowScript:33)
          	at ___cps.transform___(Native Method)
          	at com.cloudbees.groovy.cps.impl.PropertyishBlock$ContinuationImpl.get(PropertyishBlock.java:74)
          	at com.cloudbees.groovy.cps.LValueBlock$GetAdapter.receive(LValueBlock.java:30)
          	at com.cloudbees.groovy.cps.impl.PropertyishBlock$ContinuationImpl.fixName(PropertyishBlock.java:66)
          	at sun.reflect.GeneratedMethodAccessor536.invoke(Unknown Source)
          	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          	at java.lang.reflect.Method.invoke(Method.java:606)
          	at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72)
          	at com.cloudbees.groovy.cps.impl.ConstantBlock.eval(ConstantBlock.java:21)
          	at com.cloudbees.groovy.cps.Next.step(Next.java:58)
          	at com.cloudbees.groovy.cps.Continuable.run0(Continuable.java:154)
          	at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.access$001(SandboxContinuable.java:18)
          	at org.jenkinsci.plugins.workflow.cps.SandboxContinuable$1.call(SandboxContinuable.java:33)
          	at org.jenkinsci.plugins.workflow.cps.SandboxContinuable$1.call(SandboxContinuable.java:30)
          	at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.GroovySandbox.runInSandbox(GroovySandbox.java:108)
          	at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.run0(SandboxContinuable.java:30)
          	at org.jenkinsci.plugins.workflow.cps.CpsThread.runNextChunk(CpsThread.java:163)
          	at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.run(CpsThreadGroup.java:328)
          	at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.access$100(CpsThreadGroup.java:80)
          	at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:240)
          	at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:228)
          	at org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$2.call(CpsVmExecutorService.java:63)
          	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
          	at hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:112)
          	at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
          	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
          	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
          	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
          	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
          	at java.lang.Thread.run(Thread.java:745)
          ...
          
          

          Junpeng Luo added a comment - Got similar problem after upgrade pipeline api plugin from 2.4 to 2.7. Also upgrade some other pipeline plugins so I am not 100% sure this is the cause. But the exception looks similar. Jenkins Version: 2.33 java.lang.TypeNotPresentException: Type java$lang$Enum not present at sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:117) at sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:125) at sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49) at sun.reflect.generics.repository.ClassRepository.getSuperclass(ClassRepository.java:84) at java.lang. Class .getGenericSuperclass( Class .java:696) at com.sun.beans.TypeResolver.prepare(TypeResolver.java:308) at com.sun.beans.TypeResolver.resolve(TypeResolver.java:185) at com.sun.beans.TypeResolver.resolve(TypeResolver.java:218) at com.sun.beans.TypeResolver.resolve(TypeResolver.java:169) at com.sun.beans.TypeResolver.resolveInClass(TypeResolver.java:81) at java.beans.FeatureDescriptor.getReturnType(FeatureDescriptor.java:370) at java.beans.PropertyDescriptor.findPropertyType(PropertyDescriptor.java:661) at java.beans.PropertyDescriptor.updateGenericsFor(PropertyDescriptor.java:636) at java.beans.Introspector.addPropertyDescriptor(Introspector.java:595) at java.beans.Introspector.addPropertyDescriptors(Introspector.java:604) at java.beans.Introspector.getTargetPropertyInfo(Introspector.java:457) at java.beans.Introspector.getBeanInfo(Introspector.java:418) at java.beans.Introspector.getBeanInfo(Introspector.java:163) at groovy.lang.MetaClassImpl$15.run(MetaClassImpl.java:3290) at java.security.AccessController.doPrivileged(Native Method) at groovy.lang.MetaClassImpl.addProperties(MetaClassImpl.java:3288) at groovy.lang.MetaClassImpl.initialize(MetaClassImpl.java:3265) at org.codehaus.groovy.reflection.ClassInfo.getMetaClassUnderLock(ClassInfo.java:254) at org.codehaus.groovy.reflection.ClassInfo.getMetaClass(ClassInfo.java:285) at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass(MetaClassRegistryImpl.java:258) at org.codehaus.groovy.runtime.InvokerHelper.getProperty(InvokerHelper.java:175) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.getProperty(ScriptBytecodeAdapter.java:456) at com.cloudbees.groovy.cps.sandbox.DefaultInvoker.getProperty(DefaultInvoker.java:33) at com.cloudbees.groovy.cps.impl.PropertyAccessBlock.rawGet(PropertyAccessBlock.java:20) at com.indeed.pipeline.logging.Logger.info(file:/ var /local/jenkins/indeedu/jobs/junpeng/builds/305/libs/pipeline/src/com/indeed/pipeline/logging/Logger.groovy:23) at pipeline.call(/ var /local/jenkins/indeedu/jobs/junpeng/builds/305/libs/pipeline/vars/pipeline.groovy:44) at WorkflowScript.run(WorkflowScript:33) at ___cps.transform___(Native Method) at com.cloudbees.groovy.cps.impl.PropertyishBlock$ContinuationImpl.get(PropertyishBlock.java:74) at com.cloudbees.groovy.cps.LValueBlock$GetAdapter.receive(LValueBlock.java:30) at com.cloudbees.groovy.cps.impl.PropertyishBlock$ContinuationImpl.fixName(PropertyishBlock.java:66) at sun.reflect.GeneratedMethodAccessor536.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72) at com.cloudbees.groovy.cps.impl.ConstantBlock.eval(ConstantBlock.java:21) at com.cloudbees.groovy.cps.Next.step(Next.java:58) at com.cloudbees.groovy.cps.Continuable.run0(Continuable.java:154) at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.access$001(SandboxContinuable.java:18) at org.jenkinsci.plugins.workflow.cps.SandboxContinuable$1.call(SandboxContinuable.java:33) at org.jenkinsci.plugins.workflow.cps.SandboxContinuable$1.call(SandboxContinuable.java:30) at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.GroovySandbox.runInSandbox(GroovySandbox.java:108) at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.run0(SandboxContinuable.java:30) at org.jenkinsci.plugins.workflow.cps.CpsThread.runNextChunk(CpsThread.java:163) at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.run(CpsThreadGroup.java:328) at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.access$100(CpsThreadGroup.java:80) at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:240) at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:228) at org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$2.call(CpsVmExecutorService.java:63) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:112) at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang. Thread .run( Thread .java:745) ...

          Jesse Glick added a comment -

          I do not see anything in the upgrade diff that seems at all suspicious. Anyone know how to reproduce this from scratch?

          Jesse Glick added a comment - I do not see anything in the upgrade diff that seems at all suspicious. Anyone know how to reproduce this from scratch?
          Brian Ray made changes -
          Attachment New: production vs local pipeline plugins.txt [ 37708 ]

          Brian Ray added a comment - - edited

          Just hit this on my local instance, which leads our production instance slightly. Production is not yet affected. My pipelines make use of enums quite a bit.

          jglick, here's a minimal reproduction with a couple of controls.

          //Used println instead of echo just to sanity check things in groovysh first
          
          //Simple control test 1
          println "Color.RED is RED"
          
          //Simple control test 2
          abstract class Colour {
            static final RED = 'RED'
            static final BLUE = 'BLUE'
            static final GREEN = 'GREEN'
          }
          println "Colour.RED is $Colour.RED"
          
          //Reproduction
          enum Color { RED, BLUE, GREEN }
          println "Color.RED is $Color.RED"
          

          I've attached a diff of all the Pipeline plugin versions between the production and local instance, if that helps.

          Production core is at LTS 2.32.3 while my local instance is at LTS 2.46.2.

          Brian Ray added a comment - - edited Just hit this on my local instance, which leads our production instance slightly. Production is not yet affected. My pipelines make use of enums quite a bit. jglick , here's a minimal reproduction with a couple of controls. //Used println instead of echo just to sanity check things in groovysh first //Simple control test 1 println "Color.RED is RED" //Simple control test 2 abstract class Colour { static final RED = 'RED' static final BLUE = 'BLUE' static final GREEN = 'GREEN' } println "Colour.RED is $Colour.RED" //Reproduction enum Color { RED, BLUE, GREEN } println "Color.RED is $Color.RED" I've attached a diff of all the Pipeline plugin versions between the production and local instance, if that helps. Production core is at LTS 2.32.3 while my local instance is at LTS 2.46.2.

          Brian Ray added a comment -

          Bouncing the local master as suggested in the SO post above yields clean runs of the reproduction script. Curious to see if the exception creeps back over the next few days. The stack trace thrown was:

          [Pipeline] echo
          Color.RED is RED
          [Pipeline] echo
          Colour.RED is RED
          [Pipeline] End of Pipeline
          java.lang.TypeNotPresentException: Type java.lang$Enum not present
          	at sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:117)
          	at sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:125)
          	at sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49)
          	at sun.reflect.generics.repository.ClassRepository.getSuperclass(ClassRepository.java:90)
          	at java.lang.Class.getGenericSuperclass(Class.java:777)
          	at com.sun.beans.TypeResolver.prepare(TypeResolver.java:308)
          	at com.sun.beans.TypeResolver.resolve(TypeResolver.java:185)
          	at com.sun.beans.TypeResolver.resolve(TypeResolver.java:218)
          	at com.sun.beans.TypeResolver.resolve(TypeResolver.java:169)
          	at com.sun.beans.TypeResolver.resolveInClass(TypeResolver.java:81)
          	at java.beans.FeatureDescriptor.getReturnType(FeatureDescriptor.java:370)
          	at java.beans.PropertyDescriptor.findPropertyType(PropertyDescriptor.java:648)
          	at java.beans.PropertyDescriptor.updateGenericsFor(PropertyDescriptor.java:623)
          	at java.beans.Introspector.addPropertyDescriptor(Introspector.java:605)
          	at java.beans.Introspector.addPropertyDescriptors(Introspector.java:614)
          	at java.beans.Introspector.getTargetPropertyInfo(Introspector.java:467)
          	at java.beans.Introspector.getBeanInfo(Introspector.java:428)
          	at java.beans.Introspector.getBeanInfo(Introspector.java:173)
          	at groovy.lang.MetaClassImpl$15.run(MetaClassImpl.java:3290)
          	at java.security.AccessController.doPrivileged(Native Method)
          	at groovy.lang.MetaClassImpl.addProperties(MetaClassImpl.java:3288)
          	at groovy.lang.MetaClassImpl.initialize(MetaClassImpl.java:3265)
          	at org.codehaus.groovy.reflection.ClassInfo.getMetaClassUnderLock(ClassInfo.java:254)
          	at org.codehaus.groovy.reflection.ClassInfo.getMetaClass(ClassInfo.java:285)
          	at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass(MetaClassRegistryImpl.java:258)
          	at org.codehaus.groovy.runtime.InvokerHelper.getProperty(InvokerHelper.java:175)
          	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.getProperty(ScriptBytecodeAdapter.java:456)
          	at org.kohsuke.groovy.sandbox.impl.Checker$4.call(Checker.java:243)
          	at org.kohsuke.groovy.sandbox.GroovyInterceptor.onGetProperty(GroovyInterceptor.java:52)
          	at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onGetProperty(SandboxInterceptor.java:350)
          	at org.kohsuke.groovy.sandbox.impl.Checker$4.call(Checker.java:241)
          	at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:238)
          	at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.getProperty(SandboxInvoker.java:28)
          	at com.cloudbees.groovy.cps.impl.PropertyAccessBlock.rawGet(PropertyAccessBlock.java:20)
          	at WorkflowScript.run(WorkflowScript:14)
          	at ___cps.transform___(Native Method)
          	at com.cloudbees.groovy.cps.impl.PropertyishBlock$ContinuationImpl.get(PropertyishBlock.java:74)
          	at com.cloudbees.groovy.cps.LValueBlock$GetAdapter.receive(LValueBlock.java:30)
          	at com.cloudbees.groovy.cps.impl.PropertyishBlock$ContinuationImpl.fixName(PropertyishBlock.java:66)
          	at sun.reflect.GeneratedMethodAccessor1088.invoke(Unknown Source)
          	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          	at java.lang.reflect.Method.invoke(Method.java:498)
          	at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72)
          	at com.cloudbees.groovy.cps.impl.ConstantBlock.eval(ConstantBlock.java:21)
          	at com.cloudbees.groovy.cps.Next.step(Next.java:74)
          	at com.cloudbees.groovy.cps.Continuable.run0(Continuable.java:154)
          	at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.access$001(SandboxContinuable.java:18)
          	at org.jenkinsci.plugins.workflow.cps.SandboxContinuable$1.call(SandboxContinuable.java:33)
          	at org.jenkinsci.plugins.workflow.cps.SandboxContinuable$1.call(SandboxContinuable.java:30)
          	at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.GroovySandbox.runInSandbox(GroovySandbox.java:108)
          	at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.run0(SandboxContinuable.java:30)
          	at org.jenkinsci.plugins.workflow.cps.CpsThread.runNextChunk(CpsThread.java:165)
          	at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.run(CpsThreadGroup.java:330)
          	at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.access$100(CpsThreadGroup.java:82)
          	at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:242)
          	at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:230)
          	at org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$2.call(CpsVmExecutorService.java:64)
          	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
          	at hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:112)
          	at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
          	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
          	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
          	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
          	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
          	at java.lang.Thread.run(Thread.java:745)
          Caused by: java.lang.ClassNotFoundException: java.lang$Enum
          	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
          	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
          	at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:677)
          	at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:787)
          	at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:775)
          	at java.lang.Class.forName0(Native Method)
          	at java.lang.Class.forName(Class.java:348)
          	at sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:114)
          	at sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:125)
          	at sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49)
          	at sun.reflect.generics.repository.ClassRepository.getSuperclass(ClassRepository.java:90)
          	at java.lang.Class.getGenericSuperclass(Class.java:777)
          	at com.sun.beans.TypeResolver.prepare(TypeResolver.java:308)
          	at com.sun.beans.TypeResolver.resolve(TypeResolver.java:185)
          	at com.sun.beans.TypeResolver.resolve(TypeResolver.java:218)
          	at com.sun.beans.TypeResolver.resolve(TypeResolver.java:169)
          	at com.sun.beans.TypeResolver.resolveInClass(TypeResolver.java:81)
          	at java.beans.FeatureDescriptor.getReturnType(FeatureDescriptor.java:370)
          	at java.beans.PropertyDescriptor.findPropertyType(PropertyDescriptor.java:648)
          	at java.beans.PropertyDescriptor.updateGenericsFor(PropertyDescriptor.java:623)
          	at java.beans.Introspector.addPropertyDescriptor(Introspector.java:605)
          	at java.beans.Introspector.addPropertyDescriptors(Introspector.java:614)
          	at java.beans.Introspector.getTargetPropertyInfo(Introspector.java:467)
          	at java.beans.Introspector.getBeanInfo(Introspector.java:428)
          	at java.beans.Introspector.getBeanInfo(Introspector.java:173)
          	at groovy.lang.MetaClassImpl$15.run(MetaClassImpl.java:3290)
          	at java.security.AccessController.doPrivileged(Native Method)
          	at groovy.lang.MetaClassImpl.addProperties(MetaClassImpl.java:3288)
          	at groovy.lang.MetaClassImpl.initialize(MetaClassImpl.java:3265)
          	at org.codehaus.groovy.reflection.ClassInfo.getMetaClassUnderLock(ClassInfo.java:254)
          	at org.codehaus.groovy.reflection.ClassInfo.getMetaClass(ClassInfo.java:285)
          	at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass(MetaClassRegistryImpl.java:258)
          	at org.codehaus.groovy.runtime.InvokerHelper.getProperty(InvokerHelper.java:175)
          	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.getProperty(ScriptBytecodeAdapter.java:456)
          	at org.kohsuke.groovy.sandbox.impl.Checker$4.call(Checker.java:243)
          	at org.kohsuke.groovy.sandbox.GroovyInterceptor.onGetProperty(GroovyInterceptor.java:52)
          	at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onGetProperty(SandboxInterceptor.java:350)
          	at org.kohsuke.groovy.sandbox.impl.Checker$4.call(Checker.java:241)
          	at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:238)
          	at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.getProperty(SandboxInvoker.java:28)
          	at com.cloudbees.groovy.cps.impl.PropertyAccessBlock.rawGet(PropertyAccessBlock.java:20)
          	... 29 more
          

          Brian Ray added a comment - Bouncing the local master as suggested in the SO post above yields clean runs of the reproduction script. Curious to see if the exception creeps back over the next few days. The stack trace thrown was: [Pipeline] echo Color.RED is RED [Pipeline] echo Colour.RED is RED [Pipeline] End of Pipeline java.lang.TypeNotPresentException: Type java.lang$Enum not present at sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:117) at sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:125) at sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49) at sun.reflect.generics.repository.ClassRepository.getSuperclass(ClassRepository.java:90) at java.lang.Class.getGenericSuperclass(Class.java:777) at com.sun.beans.TypeResolver.prepare(TypeResolver.java:308) at com.sun.beans.TypeResolver.resolve(TypeResolver.java:185) at com.sun.beans.TypeResolver.resolve(TypeResolver.java:218) at com.sun.beans.TypeResolver.resolve(TypeResolver.java:169) at com.sun.beans.TypeResolver.resolveInClass(TypeResolver.java:81) at java.beans.FeatureDescriptor.getReturnType(FeatureDescriptor.java:370) at java.beans.PropertyDescriptor.findPropertyType(PropertyDescriptor.java:648) at java.beans.PropertyDescriptor.updateGenericsFor(PropertyDescriptor.java:623) at java.beans.Introspector.addPropertyDescriptor(Introspector.java:605) at java.beans.Introspector.addPropertyDescriptors(Introspector.java:614) at java.beans.Introspector.getTargetPropertyInfo(Introspector.java:467) at java.beans.Introspector.getBeanInfo(Introspector.java:428) at java.beans.Introspector.getBeanInfo(Introspector.java:173) at groovy.lang.MetaClassImpl$15.run(MetaClassImpl.java:3290) at java.security.AccessController.doPrivileged(Native Method) at groovy.lang.MetaClassImpl.addProperties(MetaClassImpl.java:3288) at groovy.lang.MetaClassImpl.initialize(MetaClassImpl.java:3265) at org.codehaus.groovy.reflection.ClassInfo.getMetaClassUnderLock(ClassInfo.java:254) at org.codehaus.groovy.reflection.ClassInfo.getMetaClass(ClassInfo.java:285) at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass(MetaClassRegistryImpl.java:258) at org.codehaus.groovy.runtime.InvokerHelper.getProperty(InvokerHelper.java:175) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.getProperty(ScriptBytecodeAdapter.java:456) at org.kohsuke.groovy.sandbox.impl.Checker$4.call(Checker.java:243) at org.kohsuke.groovy.sandbox.GroovyInterceptor.onGetProperty(GroovyInterceptor.java:52) at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onGetProperty(SandboxInterceptor.java:350) at org.kohsuke.groovy.sandbox.impl.Checker$4.call(Checker.java:241) at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:238) at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.getProperty(SandboxInvoker.java:28) at com.cloudbees.groovy.cps.impl.PropertyAccessBlock.rawGet(PropertyAccessBlock.java:20) at WorkflowScript.run(WorkflowScript:14) at ___cps.transform___(Native Method) at com.cloudbees.groovy.cps.impl.PropertyishBlock$ContinuationImpl.get(PropertyishBlock.java:74) at com.cloudbees.groovy.cps.LValueBlock$GetAdapter.receive(LValueBlock.java:30) at com.cloudbees.groovy.cps.impl.PropertyishBlock$ContinuationImpl.fixName(PropertyishBlock.java:66) at sun.reflect.GeneratedMethodAccessor1088.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72) at com.cloudbees.groovy.cps.impl.ConstantBlock.eval(ConstantBlock.java:21) at com.cloudbees.groovy.cps.Next.step(Next.java:74) at com.cloudbees.groovy.cps.Continuable.run0(Continuable.java:154) at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.access$001(SandboxContinuable.java:18) at org.jenkinsci.plugins.workflow.cps.SandboxContinuable$1.call(SandboxContinuable.java:33) at org.jenkinsci.plugins.workflow.cps.SandboxContinuable$1.call(SandboxContinuable.java:30) at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.GroovySandbox.runInSandbox(GroovySandbox.java:108) at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.run0(SandboxContinuable.java:30) at org.jenkinsci.plugins.workflow.cps.CpsThread.runNextChunk(CpsThread.java:165) at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.run(CpsThreadGroup.java:330) at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.access$100(CpsThreadGroup.java:82) at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:242) at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:230) at org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$2.call(CpsVmExecutorService.java:64) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:112) at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.ClassNotFoundException: java.lang$Enum at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:677) at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:787) at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:775) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:348) at sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:114) at sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:125) at sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49) at sun.reflect.generics.repository.ClassRepository.getSuperclass(ClassRepository.java:90) at java.lang.Class.getGenericSuperclass(Class.java:777) at com.sun.beans.TypeResolver.prepare(TypeResolver.java:308) at com.sun.beans.TypeResolver.resolve(TypeResolver.java:185) at com.sun.beans.TypeResolver.resolve(TypeResolver.java:218) at com.sun.beans.TypeResolver.resolve(TypeResolver.java:169) at com.sun.beans.TypeResolver.resolveInClass(TypeResolver.java:81) at java.beans.FeatureDescriptor.getReturnType(FeatureDescriptor.java:370) at java.beans.PropertyDescriptor.findPropertyType(PropertyDescriptor.java:648) at java.beans.PropertyDescriptor.updateGenericsFor(PropertyDescriptor.java:623) at java.beans.Introspector.addPropertyDescriptor(Introspector.java:605) at java.beans.Introspector.addPropertyDescriptors(Introspector.java:614) at java.beans.Introspector.getTargetPropertyInfo(Introspector.java:467) at java.beans.Introspector.getBeanInfo(Introspector.java:428) at java.beans.Introspector.getBeanInfo(Introspector.java:173) at groovy.lang.MetaClassImpl$15.run(MetaClassImpl.java:3290) at java.security.AccessController.doPrivileged(Native Method) at groovy.lang.MetaClassImpl.addProperties(MetaClassImpl.java:3288) at groovy.lang.MetaClassImpl.initialize(MetaClassImpl.java:3265) at org.codehaus.groovy.reflection.ClassInfo.getMetaClassUnderLock(ClassInfo.java:254) at org.codehaus.groovy.reflection.ClassInfo.getMetaClass(ClassInfo.java:285) at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass(MetaClassRegistryImpl.java:258) at org.codehaus.groovy.runtime.InvokerHelper.getProperty(InvokerHelper.java:175) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.getProperty(ScriptBytecodeAdapter.java:456) at org.kohsuke.groovy.sandbox.impl.Checker$4.call(Checker.java:243) at org.kohsuke.groovy.sandbox.GroovyInterceptor.onGetProperty(GroovyInterceptor.java:52) at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onGetProperty(SandboxInterceptor.java:350) at org.kohsuke.groovy.sandbox.impl.Checker$4.call(Checker.java:241) at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:238) at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.getProperty(SandboxInvoker.java:28) at com.cloudbees.groovy.cps.impl.PropertyAccessBlock.rawGet(PropertyAccessBlock.java:20) ... 29 more

          Jon Sten added a comment -

          For what it's worth, I haven't seen this issue on our servers since I commented back in January. Restart fixed it for us.

          Jon Sten added a comment - For what it's worth, I haven't seen this issue on our servers since I commented back in January. Restart fixed it for us.

          Brian Ray added a comment -

          Good to know. I'm now a little leery of updating Pipeline plugins on the production instance, but that gives some confidence. Thanks.

          Brian Ray added a comment - Good to know. I'm now a little leery of updating Pipeline plugins on the production instance, but that gives some confidence. Thanks.

          Jesse Glick added a comment -

          I am afraid I have no leads to go on here. Something is going haywire deep in the bowels of Groovy and I do not see any indication of what Pipeline code could be responsible, or what recent changes might possibly be related. Anyone who can figure out how to reproduce this from scratch, please reopen of course.

          Jesse Glick added a comment - I am afraid I have no leads to go on here. Something is going haywire deep in the bowels of Groovy and I do not see any indication of what Pipeline code could be responsible, or what recent changes might possibly be related. Anyone who can figure out how to reproduce this from scratch, please reopen of course.
          Jesse Glick made changes -
          Resolution New: Cannot Reproduce [ 5 ]
          Status Original: Open [ 1 ] New: Resolved [ 5 ]

            abayer Andrew Bayer
            nitram Martin Karing
            Votes:
            4 Vote for this issue
            Watchers:
            17 Start watching this issue

              Created:
              Updated:
              Resolved: