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

[JDK9] Illegal reflective access from groovy

    Details

    • Type: Bug
    • Status: Open
    • Priority: Minor
    • Resolution: Unresolved
    • Component/s: core
    • Labels:
      None
    • Environment:
      JDK 9, Jenkins 2.60.3 as described in my lts-with-plugins docker instance
    • Similar Issues:

      Description

      While exploring Jenkins 2.60.3 on Oracle Java 9 build 181 (pre-release), it reports illegal access exceptions and warns that a future release of Java 9 will forbid illegal access.

      A partial stack trace shows:

      WARNING: Illegal reflective access by org.codehaus.groovy.reflection.CachedClass (file:/var/jenkins_home/war/WEB-INF/lib/groovy-all-2.4.8.jar) to method java.lang.reflect.Proxy.checkNewProxyPermission(java.lang.Class,java.lang.Class)
              at org.codehaus.groovy.reflection.CachedClass.makeAccessible(CachedClass.java:84)
              at org.codehaus.groovy.reflection.CachedClass.access$000(CachedClass.java:42)
              at org.codehaus.groovy.reflection.CachedClass$3$1.run(CachedClass.java:109)
              at java.base/java.security.AccessController.doPrivileged(Native Method)
              at org.codehaus.groovy.reflection.CachedClass$3.initValue(CachedClass.java:105)
              at org.codehaus.groovy.reflection.CachedClass$3.initValue(CachedClass.java:102)
              at org.codehaus.groovy.util.LazyReference.getLocked(LazyReference.java:49)
              at org.codehaus.groovy.util.LazyReference.get(LazyReference.java:36)
              at org.codehaus.groovy.reflection.CachedClass.getMethods(CachedClass.java:274)
              at groovy.lang.MetaClassImpl.populateMethods(MetaClassImpl.java:367)
              at groovy.lang.MetaClassImpl.fillMethodIndex(MetaClassImpl.java:346)
              at groovy.lang.MetaClassImpl.initialize(MetaClassImpl.java:3286)
              at org.codehaus.groovy.reflection.ClassInfo.getMetaClassUnderLock(ClassInfo.java:271)
              at org.codehaus.groovy.reflection.ClassInfo.getMetaClass(ClassInfo.java:313)
              at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass(MetaClassRegistryImpl.java:258)
              at org.codehaus.groovy.runtime.InvokerHelper.getMetaClass(InvokerHelper.java:883)
              at org.kohsuke.stapler.jelly.groovy.Namespace.createInvoker(Namespace.java:74)
              at org.kohsuke.stapler.jelly.groovy.JellyBuilder.namespace(JellyBuilder.java:125)
              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:1218)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1027)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:815)
              at groovy.lang.GroovyObjectSupport.invokeMethod(GroovyObjectSupport.java:46)
              at org.kohsuke.stapler.jelly.groovy.GroovyClosureScript.invokeMethod(GroovyClosureScript.java:87)
              at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:75)
              at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:52)
              at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:154)
              at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:166)
              at jenkins.widgets.BuildQueueWidget.index.run(index.groovy:3)
              at org.kohsuke.stapler.jelly.groovy.GroovierJellyScript.run(GroovierJellyScript.java:74)
              at org.kohsuke.stapler.jelly.groovy.GroovierJellyScript.run(GroovierJellyScript.java:62)
      

      The stack trace seems to appear any time I try to run a pipeline job.

      Reflective access exceptions are reported for the following fields:

      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.io.File.$assertionsDisabled
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.io.File.filePath
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.io.File.fs
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.io.File.path
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.io.File.PATH_OFFSET
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.io.File.prefixLength
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.io.File.PREFIX_LENGTH_OFFSET
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.io.File.serialVersionUID
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.io.File.status
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.io.File.UNSAFE
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Class.allPermDomain
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Class.ANNOTATION
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Class.annotationData
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Class.annotationType
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Class.cachedConstructor
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Class.classRedefinedCount
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Class.classValueMap
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Class.componentType
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Class.EMPTY_CLASS_ARRAY
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Class.ENUM
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Class.enumConstantDirectory
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Class.enumConstants
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Class.genericInfo
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Class.module
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Class.name
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Class.newInstanceCallerCache
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Class.packageName
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Class.reflectionData
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Class.reflectionFactory
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Class.serialPersistentFields
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Class.serialVersionUID
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Class.SYNTHETIC
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.reflect.Proxy.constructorParams
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.reflect.Proxy.EMPTY_CLASS_ARRAY
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.reflect.Proxy.h
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.reflect.Proxy.proxyCache
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.reflect.Proxy.PROXY_PACKAGE_PREFIX
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.reflect.Proxy.serialVersionUID
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.String.coder
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.String.COMPACT_STRINGS
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.String.hash
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.String.LATIN1
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.String.serialPersistentFields
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.String.serialVersionUID
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.String.UTF16
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.String.value
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.System.bootLayer
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.System.cons
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.System.lineSeparator
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.System.props
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Thread.blocker
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Thread.blockerLock
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Thread.contextClassLoader
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Thread.daemon
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Thread.defaultUncaughtExceptionHandler
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Thread.eetop
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Thread.EMPTY_STACK_TRACE
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Thread.group
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Thread.inheritableThreadLocals
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Thread.inheritedAccessControlContext
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Thread.name
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Thread.nativeParkEventPointer
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Thread.parkBlocker
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Thread.priority
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Thread.single_step
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Thread.stackSize
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Thread.stillborn
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Thread.SUBCLASS_IMPLEMENTATION_PERMISSION
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Thread.target
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Thread.threadInitNumber
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Thread.threadLocalRandomProbe
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Thread.threadLocalRandomSecondarySeed
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Thread.threadLocalRandomSeed
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Thread.threadLocals
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Thread.threadQ
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Thread.threadSeqNumber
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Thread.threadStatus
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Thread.tid
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.lang.Thread.uncaughtExceptionHandler
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.AbstractCollection.MAX_ARRAY_SIZE
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.AbstractList.modCount
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.AbstractMap.keySet
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.AbstractMap.values
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.ArrayList.DEFAULT_CAPACITY
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.ArrayList.DEFAULTCAPACITY_EMPTY_ELEMENTDATA
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.ArrayList.elementData
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.ArrayList.EMPTY_ELEMENTDATA
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.ArrayList.MAX_ARRAY_SIZE
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.ArrayList.serialVersionUID
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.ArrayList.size
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.Collections$UnmodifiableMap.entrySet
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.Collections$UnmodifiableMap.keySet
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.Collections$UnmodifiableMap.m
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.Collections$UnmodifiableMap.serialVersionUID
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.Collections$UnmodifiableMap.values
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.HashMap.DEFAULT_INITIAL_CAPACITY
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.HashMap.DEFAULT_LOAD_FACTOR
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.HashMap.entrySet
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.HashMap.loadFactor
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.HashMap.MAXIMUM_CAPACITY
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.HashMap.MIN_TREEIFY_CAPACITY
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.HashMap.modCount
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.HashMap.serialVersionUID
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.HashMap.size
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.HashMap.table
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.HashMap.threshold
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.HashMap.TREEIFY_THRESHOLD
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.HashMap.UNTREEIFY_THRESHOLD
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.HashSet.map
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.HashSet.PRESENT
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.HashSet.serialVersionUID
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.LinkedHashMap.accessOrder
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.LinkedHashMap.head
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.LinkedHashMap.serialVersionUID
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.LinkedHashMap.tail
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.LinkedHashSet.serialVersionUID
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.WeakHashMap.DEFAULT_INITIAL_CAPACITY
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.WeakHashMap.DEFAULT_LOAD_FACTOR
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.WeakHashMap.entrySet
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.WeakHashMap.loadFactor
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.WeakHashMap.MAXIMUM_CAPACITY
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.WeakHashMap.modCount
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.WeakHashMap.NULL_KEY
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.WeakHashMap.queue
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.WeakHashMap.size
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.WeakHashMap.table
      WARNING: Illegal reflective access by ...reflection.CachedClass to field java.util.WeakHashMap.threshold
      

      Illegal access exceptions are reported for the methods:

      WARNING: Illegal reflective access by ...reflection.CachedClass to method java.io.File.access$000()
      WARNING: Illegal reflective access by ...reflection.CachedClass to method java.io.File.getPrefixLength()
      WARNING: Illegal reflective access by ...reflection.CachedClass to method java.io.File.isInvalid()
      WARNING: Illegal reflective access by ...reflection.CachedClass to method java.io.File.readObject(java.io.ObjectInputStream)
      WARNING: Illegal reflective access by ...reflection.CachedClass to method java.io.File.slashify(java.lang.String,boolean)
      WARNING: Illegal reflective access by ...reflection.CachedClass to method java.io.File.writeObject(java.io.ObjectOutputStream)
      WARNING: Illegal reflective access by ...reflection.CachedClass to method java.lang.CharSequence.lambda$chars$0()
      WARNING: Illegal reflective access by ...reflection.CachedClass to method java.lang.CharSequence.lambda$codePoints$1()
      WARNING: Illegal reflective access by ...reflection.CachedClass to method java.lang.Class.access$000(java.lang.Class,boolean)
      WARNING: Illegal reflective access by ...reflection.CachedClass to method java.lang.Class.access$100(java.lang.reflect.Field[],java.lang.String)
      

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                markewaite Mark Waite
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated: