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

[JDK9] Illegal reflective access from guice 4.0

      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 com.google.inject.internal.cglib.core.$ReflectUtils$2 (file:/var/jenkins_home/war/WEB-INF/lib/guice-4.0.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
              at com.google.inject.internal.cglib.core.$ReflectUtils$2.run(ReflectUtils.java:56)
              at java.base/java.security.AccessController.doPrivileged(Native Method)
              at com.google.inject.internal.cglib.core.$ReflectUtils.<clinit>(ReflectUtils.java:46)
              at com.google.inject.internal.cglib.reflect.$FastClassEmitter.<init>(FastClassEmitter.java:67)
              at com.google.inject.internal.cglib.reflect.$FastClass$Generator.generateClass(FastClass.java:72)
              at com.google.inject.internal.cglib.core.$DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25)
              at com.google.inject.internal.cglib.core.$AbstractClassGenerator.create(AbstractClassGenerator.java:216)
              at com.google.inject.internal.cglib.reflect.$FastClass$Generator.create(FastClass.java:64)
              at com.google.inject.internal.BytecodeGen.newFastClass(BytecodeGen.java:204)
              at com.google.inject.internal.DefaultConstructionProxyFactory.create(DefaultConstructionProxyFactory.java:54)
              at com.google.inject.internal.ProxyFactory.create(ProxyFactory.java:159)
              at com.google.inject.internal.ConstructorInjectorStore.createConstructor(ConstructorInjectorStore.java:90)
              at com.google.inject.internal.ConstructorInjectorStore.access$000(ConstructorInjectorStore.java:29)
              at com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:37)
              at com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:33)
              at com.google.inject.internal.FailableCache$1.load(FailableCache.java:37)
              at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3568)
              at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2350)
              at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2313)
              at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2228)
              at com.google.common.cache.LocalCache.get(LocalCache.java:3965)
              at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3969)
              at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4829)
              at com.google.common.cache.LocalCache$LocalManualCache.getUnchecked(LocalCache.java:4834)
              at com.google.inject.internal.FailableCache.get(FailableCache.java:48)
              at com.google.inject.internal.ConstructorInjectorStore.get(ConstructorInjectorStore.java:50)
              at com.google.inject.internal.ConstructorBindingImpl.initialize(ConstructorBindingImpl.java:136)
              at com.google.inject.internal.InjectorImpl.initializeJitBinding(InjectorImpl.java:547)
              at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:884)
              at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:805)
              at com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:282)
              at com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:214)
      

          [JENKINS-46620] [JDK9] Illegal reflective access from guice 4.0

          FMOM added a comment -

          I have also this issue. What can I do to avoid this?

          FMOM added a comment - I have also this issue. What can I do to avoid this?

          Mark Waite added a comment -

          It is simplest to ignore the message in the log. It is harmless.

          If you need to completely avoid it, then you'll need to run Jenkins with Java 8 rather than Java 11.

          Mark Waite added a comment - It is simplest to ignore the message in the log. It is harmless. If you need to completely avoid it, then you'll need to run Jenkins with Java 8 rather than Java 11.

          Ronny Perinke added a comment -

          Testing the dependency-track-plugin with Java 17 GA and Jenkins 2.303.1 fails due to a similar error.

          org.jvnet.hudson.reactor.ReactorException: com.google.common.util.concurrent.ExecutionError: java.lang.NoClassDefFoundError: Could not initialize class com.google.inject.internal.cglib.core.$ReflectUtils
          	at org.jvnet.hudson.reactor.Reactor.execute(Reactor.java:282)
          	at jenkins.InitReactorRunner.run(InitReactorRunner.java:50)
          	at jenkins.model.Jenkins.executeReactor(Jenkins.java:1193)
          	at jenkins.model.Jenkins.<init>(Jenkins.java:991)
          	at hudson.model.Hudson.<init>(Hudson.java:86)
          	at org.jvnet.hudson.test.JenkinsRule.newHudson(JenkinsRule.java:688)
          	at org.jvnet.hudson.test.JenkinsRule.before(JenkinsRule.java:404)
          	at org.jvnet.hudson.test.JenkinsRule$1.evaluate(JenkinsRule.java:595)
          	at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:299)
          	at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:293)
          	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
          	at java.base/java.lang.Thread.run(Thread.java:833)
          Caused by: com.google.common.util.concurrent.ExecutionError: java.lang.NoClassDefFoundError: Could not initialize class com.google.inject.internal.cglib.core.$ReflectUtils
          	at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2232)
          	at com.google.common.cache.LocalCache.get(LocalCache.java:3965)
          	at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3969)
          	at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4829)
          	at com.google.common.cache.LocalCache$LocalManualCache.getUnchecked(LocalCache.java:4834)
          	at com.google.inject.internal.FailableCache.get(FailableCache.java:48)
          	at com.google.inject.internal.ConstructorInjectorStore.get(ConstructorInjectorStore.java:50)
          	at com.google.inject.internal.ConstructorBindingImpl.initialize(ConstructorBindingImpl.java:136)
          	at com.google.inject.internal.InjectorImpl.initializeBinding(InjectorImpl.java:533)
          	at com.google.inject.internal.AbstractBindingProcessor$Processor$1.run(AbstractBindingProcessor.java:160)
          	at com.google.inject.internal.ProcessedBindingData.initializeBindings(ProcessedBindingData.java:44)
          	at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:123)
          	at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107)
          	at com.google.inject.Guice.createInjector(Guice.java:96)
          	at com.google.inject.Guice.createInjector(Guice.java:73)
          	at com.google.inject.Guice.createInjector(Guice.java:62)
          	at hudson.ExtensionFinder$GuiceFinder.<init>(ExtensionFinder.java:287)
          	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
          	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
          	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
          	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
          	at java.base/java.lang.reflect.ReflectAccess.newInstance(ReflectAccess.java:128)
          	at java.base/jdk.internal.reflect.ReflectionFactory.newInstance(ReflectionFactory.java:347)
          	at java.base/java.lang.Class.newInstance(Class.java:645)
          	at net.java.sezpoz.IndexItem.instance(IndexItem.java:181)
          	at hudson.ExtensionFinder$Sezpoz._find(ExtensionFinder.java:707)
          	at hudson.ExtensionFinder$Sezpoz.find(ExtensionFinder.java:693)
          	at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:350)
          	at hudson.ExtensionList.load(ExtensionList.java:383)
          	at hudson.ExtensionList.ensureLoaded(ExtensionList.java:319)
          	at hudson.ExtensionList.getComponents(ExtensionList.java:183)
          	at jenkins.model.Jenkins$6.onInitMilestoneAttained(Jenkins.java:1190)
          	at jenkins.InitReactorRunner$1.onAttained(InitReactorRunner.java:89)
          	at org.jvnet.hudson.reactor.ReactorListener$Aggregator.lambda$onAttained$3(ReactorListener.java:102)
          	at org.jvnet.hudson.reactor.ReactorListener$Aggregator.run(ReactorListener.java:109)
          	at org.jvnet.hudson.reactor.ReactorListener$Aggregator.onAttained(ReactorListener.java:102)
          	at org.jvnet.hudson.reactor.Reactor$1.run(Reactor.java:177)
          	at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)
          	at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:68)
          	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
          	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
          	... 1 more
          Caused by: java.lang.NoClassDefFoundError: Could not initialize class com.google.inject.internal.cglib.core.$ReflectUtils
          	at com.google.inject.internal.cglib.reflect.$FastClassEmitter.<init>(FastClassEmitter.java:67)
          	at com.google.inject.internal.cglib.reflect.$FastClass$Generator.generateClass(FastClass.java:72)
          	at com.google.inject.internal.cglib.core.$DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25)
          	at com.google.inject.internal.cglib.core.$AbstractClassGenerator.create(AbstractClassGenerator.java:216)
          	at com.google.inject.internal.cglib.reflect.$FastClass$Generator.create(FastClass.java:64)
          	at com.google.inject.internal.BytecodeGen.newFastClass(BytecodeGen.java:204)
          	at com.google.inject.internal.DefaultConstructionProxyFactory.create(DefaultConstructionProxyFactory.java:54)
          	at com.google.inject.internal.ProxyFactory.create(ProxyFactory.java:159)
          	at com.google.inject.internal.ConstructorInjectorStore.createConstructor(ConstructorInjectorStore.java:90)
          	at com.google.inject.internal.ConstructorInjectorStore.access$000(ConstructorInjectorStore.java:29)
          	at com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:37)
          	at com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:33)
          	at com.google.inject.internal.FailableCache$1.load(FailableCache.java:37)
          	at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3568)
          	at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2350)
          	at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2313)
          	at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2228)
          	... 41 more
          

          Ronny Perinke added a comment - Testing the dependency-track-plugin with Java 17 GA and Jenkins 2.303.1 fails due to a similar error. org.jvnet.hudson.reactor.ReactorException: com.google.common.util.concurrent.ExecutionError: java.lang.NoClassDefFoundError: Could not initialize class com.google.inject.internal.cglib.core.$ReflectUtils at org.jvnet.hudson.reactor.Reactor.execute(Reactor.java:282) at jenkins.InitReactorRunner.run(InitReactorRunner.java:50) at jenkins.model.Jenkins.executeReactor(Jenkins.java:1193) at jenkins.model.Jenkins.<init>(Jenkins.java:991) at hudson.model.Hudson.<init>(Hudson.java:86) at org.jvnet.hudson.test.JenkinsRule.newHudson(JenkinsRule.java:688) at org.jvnet.hudson.test.JenkinsRule.before(JenkinsRule.java:404) at org.jvnet.hudson.test.JenkinsRule$1.evaluate(JenkinsRule.java:595) at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:299) at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:293) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.lang. Thread .run( Thread .java:833) Caused by: com.google.common.util.concurrent.ExecutionError: java.lang.NoClassDefFoundError: Could not initialize class com.google.inject.internal.cglib.core.$ReflectUtils at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2232) at com.google.common.cache.LocalCache.get(LocalCache.java:3965) at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3969) at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4829) at com.google.common.cache.LocalCache$LocalManualCache.getUnchecked(LocalCache.java:4834) at com.google.inject.internal.FailableCache.get(FailableCache.java:48) at com.google.inject.internal.ConstructorInjectorStore.get(ConstructorInjectorStore.java:50) at com.google.inject.internal.ConstructorBindingImpl.initialize(ConstructorBindingImpl.java:136) at com.google.inject.internal.InjectorImpl.initializeBinding(InjectorImpl.java:533) at com.google.inject.internal.AbstractBindingProcessor$Processor$1.run(AbstractBindingProcessor.java:160) at com.google.inject.internal.ProcessedBindingData.initializeBindings(ProcessedBindingData.java:44) at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:123) at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107) at com.google.inject.Guice.createInjector(Guice.java:96) at com.google.inject.Guice.createInjector(Guice.java:73) at com.google.inject.Guice.createInjector(Guice.java:62) at hudson.ExtensionFinder$GuiceFinder.<init>(ExtensionFinder.java:287) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) at java.base/java.lang.reflect.ReflectAccess.newInstance(ReflectAccess.java:128) at java.base/jdk.internal.reflect.ReflectionFactory.newInstance(ReflectionFactory.java:347) at java.base/java.lang. Class .newInstance( Class .java:645) at net.java.sezpoz.IndexItem.instance(IndexItem.java:181) at hudson.ExtensionFinder$Sezpoz._find(ExtensionFinder.java:707) at hudson.ExtensionFinder$Sezpoz.find(ExtensionFinder.java:693) at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:350) at hudson.ExtensionList.load(ExtensionList.java:383) at hudson.ExtensionList.ensureLoaded(ExtensionList.java:319) at hudson.ExtensionList.getComponents(ExtensionList.java:183) at jenkins.model.Jenkins$6.onInitMilestoneAttained(Jenkins.java:1190) at jenkins.InitReactorRunner$1.onAttained(InitReactorRunner.java:89) at org.jvnet.hudson.reactor.ReactorListener$Aggregator.lambda$onAttained$3(ReactorListener.java:102) at org.jvnet.hudson.reactor.ReactorListener$Aggregator.run(ReactorListener.java:109) at org.jvnet.hudson.reactor.ReactorListener$Aggregator.onAttained(ReactorListener.java:102) at org.jvnet.hudson.reactor.Reactor$1.run(Reactor.java:177) at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117) at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:68) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ... 1 more Caused by: java.lang.NoClassDefFoundError: Could not initialize class com.google.inject.internal.cglib.core.$ReflectUtils at com.google.inject.internal.cglib.reflect.$FastClassEmitter.<init>(FastClassEmitter.java:67) at com.google.inject.internal.cglib.reflect.$FastClass$Generator.generateClass(FastClass.java:72) at com.google.inject.internal.cglib.core.$DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25) at com.google.inject.internal.cglib.core.$AbstractClassGenerator.create(AbstractClassGenerator.java:216) at com.google.inject.internal.cglib.reflect.$FastClass$Generator.create(FastClass.java:64) at com.google.inject.internal.BytecodeGen.newFastClass(BytecodeGen.java:204) at com.google.inject.internal.DefaultConstructionProxyFactory.create(DefaultConstructionProxyFactory.java:54) at com.google.inject.internal.ProxyFactory.create(ProxyFactory.java:159) at com.google.inject.internal.ConstructorInjectorStore.createConstructor(ConstructorInjectorStore.java:90) at com.google.inject.internal.ConstructorInjectorStore.access$000(ConstructorInjectorStore.java:29) at com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:37) at com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:33) at com.google.inject.internal.FailableCache$1.load(FailableCache.java:37) at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3568) at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2350) at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2313) at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2228) ... 41 more

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

              Created:
              Updated:
              Resolved: