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

[JDK9] Illegal reflective access from stapler

XMLWordPrintable

      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.kohsuke.stapler.lang.FieldRef (file:/var/jenkins_home/war/WEB-INF/lib/stapler-1.250.jar) to field java.lang.Throwable.serialVersionUID
              at org.kohsuke.stapler.lang.FieldRef.wrap(FieldRef.java:39)
              at org.kohsuke.stapler.lang.KlassNavigator$1$2.get(KlassNavigator.java:202)
              at org.kohsuke.stapler.lang.KlassNavigator$1$2.get(KlassNavigator.java:199)
              at java.base/java.util.AbstractList$Itr.next(AbstractList.java:371)
              at org.kohsuke.stapler.lang.Klass.getFields(Klass.java:79)
              at org.kohsuke.stapler.KlassDescriptor.<init>(KlassDescriptor.java:26)
              at org.kohsuke.stapler.MetaClass.buildDispatchers(MetaClass.java:105)
              at org.kohsuke.stapler.MetaClass.<init>(MetaClass.java:93)
              at org.kohsuke.stapler.WebApp.getMetaClass(WebApp.java:204)
              at org.kohsuke.stapler.MetaClass.<init>(MetaClass.java:91)
              at org.kohsuke.stapler.WebApp.getMetaClass(WebApp.java:204)
              at org.kohsuke.stapler.MetaClass.<init>(MetaClass.java:91)
              at org.kohsuke.stapler.WebApp.getMetaClass(WebApp.java:204)
              at org.kohsuke.stapler.WebApp.getMetaClass(WebApp.java:196)
              at org.kohsuke.stapler.jelly.IncludeTag.doTag(IncludeTag.java:109)
              at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
              at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
              at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
              at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
              at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
              at org.kohsuke.stapler.jelly.JellyViewScript.run(JellyViewScript.java:95)
              at org.kohsuke.stapler.jelly.IncludeTag.doTag(IncludeTag.java:147)
              at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
              at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161)
              at org.apache.commons.jelly.tags.core.ForEachTag.doTag(ForEachTag.java:150)
              at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
              at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
              at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
              at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:99)
              at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
              at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
              at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161)
      
      WARNING: Illegal reflective access by org.kohsuke.stapler.lang.FieldRef (file:/var/jenkins_home/war/WEB-INF/lib/stapler-1.250.jar) to field java.lang.Throwable.backtrace
              at org.kohsuke.stapler.lang.FieldRef.wrap(FieldRef.java:39)
              at org.kohsuke.stapler.lang.KlassNavigator$1$2.get(KlassNavigator.java:202)
              at org.kohsuke.stapler.lang.KlassNavigator$1$2.get(KlassNavigator.java:199)
              at java.base/java.util.AbstractList$Itr.next(AbstractList.java:371)
              at org.kohsuke.stapler.lang.Klass.getFields(Klass.java:79)
              at org.kohsuke.stapler.KlassDescriptor.<init>(KlassDescriptor.java:26)
              at org.kohsuke.stapler.MetaClass.buildDispatchers(MetaClass.java:105)
              at org.kohsuke.stapler.MetaClass.<init>(MetaClass.java:93)
              at org.kohsuke.stapler.WebApp.getMetaClass(WebApp.java:204)
              at org.kohsuke.stapler.MetaClass.<init>(MetaClass.java:91)
              at org.kohsuke.stapler.WebApp.getMetaClass(WebApp.java:204)
              at org.kohsuke.stapler.MetaClass.<init>(MetaClass.java:91)
              at org.kohsuke.stapler.WebApp.getMetaClass(WebApp.java:204)
              at org.kohsuke.stapler.WebApp.getMetaClass(WebApp.java:196)
              at org.kohsuke.stapler.jelly.IncludeTag.doTag(IncludeTag.java:109)
              at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
      

      Additional FieldRef messages are generated for:

      WARNING: Illegal reflective access by ...stapler.lang.FieldRef to field java.lang.Thread.blocker
      WARNING: Illegal reflective access by ...stapler.lang.FieldRef to field java.lang.Thread.blockerLock
      WARNING: Illegal reflective access by ...stapler.lang.FieldRef to field java.lang.Thread.contextClassLoader
      WARNING: Illegal reflective access by ...stapler.lang.FieldRef to field java.lang.Thread.daemon
      WARNING: Illegal reflective access by ...stapler.lang.FieldRef to field java.lang.Thread.defaultUncaughtExceptionHandler
      WARNING: Illegal reflective access by ...stapler.lang.FieldRef to field java.lang.Thread.eetop
      WARNING: Illegal reflective access by ...stapler.lang.FieldRef to field java.lang.Thread.EMPTY_STACK_TRACE
      WARNING: Illegal reflective access by ...stapler.lang.FieldRef to field java.lang.Thread.group
      WARNING: Illegal reflective access by ...stapler.lang.FieldRef to field java.lang.Thread.inheritableThreadLocals
      WARNING: Illegal reflective access by ...stapler.lang.FieldRef to field java.lang.Thread.inheritedAccessControlContext
      WARNING: Illegal reflective access by ...stapler.lang.FieldRef to field java.lang.Thread.name
      WARNING: Illegal reflective access by ...stapler.lang.FieldRef to field java.lang.Thread.nativeParkEventPointer
      WARNING: Illegal reflective access by ...stapler.lang.FieldRef to field java.lang.Thread.parkBlocker
      WARNING: Illegal reflective access by ...stapler.lang.FieldRef to field java.lang.Thread.priority
      WARNING: Illegal reflective access by ...stapler.lang.FieldRef to field java.lang.Thread.single_step
      WARNING: Illegal reflective access by ...stapler.lang.FieldRef to field java.lang.Thread.stackSize
      WARNING: Illegal reflective access by ...stapler.lang.FieldRef to field java.lang.Thread.stillborn
      WARNING: Illegal reflective access by ...stapler.lang.FieldRef to field java.lang.Thread.SUBCLASS_IMPLEMENTATION_PERMISSION
      WARNING: Illegal reflective access by ...stapler.lang.FieldRef to field java.lang.Thread.target
      WARNING: Illegal reflective access by ...stapler.lang.FieldRef to field java.lang.Thread.threadInitNumber
      WARNING: Illegal reflective access by ...stapler.lang.FieldRef to field java.lang.Thread.threadLocalRandomProbe
      WARNING: Illegal reflective access by ...stapler.lang.FieldRef to field java.lang.Thread.threadLocalRandomSecondarySeed
      WARNING: Illegal reflective access by ...stapler.lang.FieldRef to field java.lang.Thread.threadLocalRandomSeed
      WARNING: Illegal reflective access by ...stapler.lang.FieldRef to field java.lang.Thread.threadLocals
      WARNING: Illegal reflective access by ...stapler.lang.FieldRef to field java.lang.Thread.threadQ
      WARNING: Illegal reflective access by ...stapler.lang.FieldRef to field java.lang.Thread.threadSeqNumber
      WARNING: Illegal reflective access by ...stapler.lang.FieldRef to field java.lang.Thread.threadStatus
      WARNING: Illegal reflective access by ...stapler.lang.FieldRef to field java.lang.Thread.tid
      WARNING: Illegal reflective access by ...stapler.lang.FieldRef to field java.lang.Thread.uncaughtExceptionHandler
      WARNING: Illegal reflective access by ...stapler.lang.FieldRef to field java.util.AbstractCollection.MAX_ARRAY_SIZE
      WARNING: Illegal reflective access by ...stapler.lang.FieldRef to field java.util.AbstractList.modCount
      

      Additional MethodRef warnings are generated for:

      WARNING: Illegal reflective access by ...stapler.lang.MethodRef to method java.lang.Object.clone()
      WARNING: Illegal reflective access by ...stapler.lang.MethodRef to method java.lang.Object.finalize()
      WARNING: Illegal reflective access by ...stapler.lang.MethodRef to method java.lang.Object.registerNatives()
      

            Unassigned Unassigned
            markewaite Mark Waite
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: