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

[JDK9] Detach JNR-Posix from core

    Details

    • Similar Issues:
    • Released As:
      Jenkins 2.144

      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. These uses do not seem to be able to be removed or fixed easily in JNR Posix, but Jenkins core does not use JNR Posix by default for anything critical after the changes for JENKINS-36088, so it can be detached.

      We would have to remove the useNativeChmodAndMode option, but that was only added in case of significant regressions with the NIO implementations, but I am not aware of regressions and would be fine with removing the option.

      A stack trace shows:

      WARNING: Illegal reflective access by jnr.posix.JavaLibCHelper (file:/var/jenkins_home/war/WEB-INF/lib/jnr-posix-3.0.1.jar) to method sun.nio.ch.SelChImpl.getFD()
              at jnr.posix.JavaLibCHelper.<clinit>(JavaLibCHelper.java:87)
              at jnr.posix.BaseNativePOSIX.<init>(BaseNativePOSIX.java:38)
              at jnr.posix.LinuxPOSIX.<init>(LinuxPOSIX.java:20)
              at jnr.posix.POSIXFactory.loadLinuxPOSIX(POSIXFactory.java:95)
              at jnr.posix.POSIXFactory.loadNativePOSIX(POSIXFactory.java:69)
              at jnr.posix.POSIXFactory.loadPOSIX(POSIXFactory.java:38)
              at jnr.posix.LazyPOSIX.loadPOSIX(LazyPOSIX.java:33)
              at jnr.posix.LazyPOSIX.posix(LazyPOSIX.java:29)
              at jnr.posix.LazyPOSIX.chmod(LazyPOSIX.java:55)
              at hudson.FilePath._chmod(FilePath.java:1611)
              at hudson.FilePath.access$1500(FilePath.java:197)
              at hudson.FilePath$29.invoke(FilePath.java:1596)
              at hudson.FilePath$29.invoke(FilePath.java:1592)
              at hudson.FilePath.act(FilePath.java:998)
              at hudson.FilePath.act(FilePath.java:976)
              at hudson.FilePath.chmod(FilePath.java:1592)
              at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.makeReadOnly(InstanceIdentity.java:116)
              at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.write(InstanceIdentity.java:105)
              at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.<init>(InstanceIdentity.java:66)
              at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.<init>(InstanceIdentity.java:40)
              at org.jenkinsci.main.modules.instance_identity.PageDecoratorImpl.<init>(PageDecoratorImpl.java:22)
              at org.jenkinsci.main.modules.instance_identity.PageDecoratorImpl$$FastClassByGuice$$68618106.newInstance(<generated>)
              at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
              at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:61)
              at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:105)
              at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
              at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
              at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
              at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
              at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
              at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
              at hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1.get(ExtensionFinder.java:424)
      

      A different stack trace shows:

      WARNING: Illegal reflective access by jnr.posix.JavaLibCHelper (file:/var/jenkins_home/war/WEB-INF/lib/jnr-posix-3.0.1.jar) to field sun.nio.ch.FileChannelImpl.fd
              at jnr.posix.JavaLibCHelper.<clinit>(JavaLibCHelper.java:104)
              at jnr.posix.BaseNativePOSIX.<init>(BaseNativePOSIX.java:38)
              at jnr.posix.LinuxPOSIX.<init>(LinuxPOSIX.java:20)
              at jnr.posix.POSIXFactory.loadLinuxPOSIX(POSIXFactory.java:95)
              at jnr.posix.POSIXFactory.loadNativePOSIX(POSIXFactory.java:69)
              at jnr.posix.POSIXFactory.loadPOSIX(POSIXFactory.java:38)
              at jnr.posix.LazyPOSIX.loadPOSIX(LazyPOSIX.java:33)
              at jnr.posix.LazyPOSIX.posix(LazyPOSIX.java:29)
              at jnr.posix.LazyPOSIX.chmod(LazyPOSIX.java:55)
              at hudson.FilePath._chmod(FilePath.java:1611)
              at hudson.FilePath.access$1500(FilePath.java:197)
              at hudson.FilePath$29.invoke(FilePath.java:1596)
              at hudson.FilePath$29.invoke(FilePath.java:1592)
              at hudson.FilePath.act(FilePath.java:998)
              at hudson.FilePath.act(FilePath.java:976)
              at hudson.FilePath.chmod(FilePath.java:1592)
              at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.makeReadOnly(InstanceIdentity.java:116)
              at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.write(InstanceIdentity.java:105)
              at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.<init>(InstanceIdentity.java:66)
              at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.<init>(InstanceIdentity.java:40)
              at org.jenkinsci.main.modules.instance_identity.PageDecoratorImpl.<init>(PageDecoratorImpl.java:22)
              at org.jenkinsci.main.modules.instance_identity.PageDecoratorImpl$$FastClassByGuice$$68618106.newInstance(<generated>)
              at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
              at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:61)
              at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:105)
              at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
              at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
              at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
              at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
              at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
              at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
              at hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1.get(ExtensionFinder.java:424)
      

      A third stack trace shows:

      WARNING: Illegal reflective access by jnr.posix.JavaLibCHelper (file:/var/jenkins_home/war/WEB-INF/lib/jnr-posix-3.0.1.jar) to field java.io.FileDescriptor.fd
              at jnr.posix.JavaLibCHelper.<clinit>(JavaLibCHelper.java:118)
              at jnr.posix.BaseNativePOSIX.<init>(BaseNativePOSIX.java:38)
              at jnr.posix.LinuxPOSIX.<init>(LinuxPOSIX.java:20)
              at jnr.posix.POSIXFactory.loadLinuxPOSIX(POSIXFactory.java:95)
              at jnr.posix.POSIXFactory.loadNativePOSIX(POSIXFactory.java:69)
              at jnr.posix.POSIXFactory.loadPOSIX(POSIXFactory.java:38)
              at jnr.posix.LazyPOSIX.loadPOSIX(LazyPOSIX.java:33)
              at jnr.posix.LazyPOSIX.posix(LazyPOSIX.java:29)
              at jnr.posix.LazyPOSIX.chmod(LazyPOSIX.java:55)
              at hudson.FilePath._chmod(FilePath.java:1611)
              at hudson.FilePath.access$1500(FilePath.java:197)
              at hudson.FilePath$29.invoke(FilePath.java:1596)
              at hudson.FilePath$29.invoke(FilePath.java:1592)
              at hudson.FilePath.act(FilePath.java:998)
              at hudson.FilePath.act(FilePath.java:976)
              at hudson.FilePath.chmod(FilePath.java:1592)
              at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.makeReadOnly(InstanceIdentity.java:116)
              at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.write(InstanceIdentity.java:105)
              at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.<init>(InstanceIdentity.java:66)
              at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.<init>(InstanceIdentity.java:40)
              at org.jenkinsci.main.modules.instance_identity.PageDecoratorImpl.<init>(PageDecoratorImpl.java:22)
              at org.jenkinsci.main.modules.instance_identity.PageDecoratorImpl$$FastClassByGuice$$68618106.newInstance(<generated>)
              at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
              at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:61)
              at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:105)
              at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
              at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
              at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
              at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
              at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
              at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
              at hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1.get(ExtensionFinder.java:424)
      

        Attachments

          Issue Links

            Activity

            markewaite Mark Waite created issue -
            markewaite Mark Waite made changes -
            Field Original Value New Value
            Epic Link JENKINS-40689 [ 177392 ]
            markewaite Mark Waite made changes -
            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 stack trace shows:

            {noformat}
            WARNING: Illegal reflective access by hudson.remoting.RemoteClassLoader (file:/var/jenkins_home/war/WEB-INF/lib/remoting-3.7.jar) to method java.lang.ClassLoader.getClassLoadingLock(java.lang.String)
                    at hudson.remoting.RemoteClassLoader.<clinit>(RemoteClassLoader.java:330)
                    at hudson.remoting.MultiClassLoaderSerializer$Output.annotateClass(MultiClassLoaderSerializer.java:69)
                    at java.base/java.io.ObjectOutputStream.writeNonProxyDesc(ObjectOutputStream.java:1291)
                    at java.base/java.io.ObjectOutputStream.writeClassDesc(ObjectOutputStream.java:1232)
                    at java.base/java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1428)
                    at java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1179)
                    at java.base/java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:349)
                    at hudson.remoting.UserRequest._serialize(UserRequest.java:190)
                    at hudson.remoting.UserRequest.serialize(UserRequest.java:199)
                    at hudson.remoting.UserRequest.<init>(UserRequest.java:64)
                    at hudson.remoting.Channel.call(Channel.java:828)
                    at hudson.slaves.SlaveComputer.setChannel(SlaveComputer.java:517)
                    at hudson.slaves.SlaveComputer.setChannel(SlaveComputer.java:390)
                    at hudson.plugins.sshslaves.SSHLauncher.startSlave(SSHLauncher.java:1074)
                    at hudson.plugins.sshslaves.SSHLauncher.access$500(SSHLauncher.java:145)
                    at hudson.plugins.sshslaves.SSHLauncher$2.call(SSHLauncher.java:818)
                    at hudson.plugins.sshslaves.SSHLauncher$2.call(SSHLauncher.java:793)
                    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
                    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
                    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
                    at java.base/java.lang.Thread.run(Thread.java:844)
            {noformat}
            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 stack trace shows:

            {noformat}
            WARNING: Illegal reflective access by jnr.posix.JavaLibCHelper (file:/var/jenkins_home/war/WEB-INF/lib/jnr-posix-3.0.1.jar) to method sun.nio.ch.SelChImpl.getFD()
                    at jnr.posix.JavaLibCHelper.<clinit>(JavaLibCHelper.java:87)
                    at jnr.posix.BaseNativePOSIX.<init>(BaseNativePOSIX.java:38)
                    at jnr.posix.LinuxPOSIX.<init>(LinuxPOSIX.java:20)
                    at jnr.posix.POSIXFactory.loadLinuxPOSIX(POSIXFactory.java:95)
                    at jnr.posix.POSIXFactory.loadNativePOSIX(POSIXFactory.java:69)
                    at jnr.posix.POSIXFactory.loadPOSIX(POSIXFactory.java:38)
                    at jnr.posix.LazyPOSIX.loadPOSIX(LazyPOSIX.java:33)
                    at jnr.posix.LazyPOSIX.posix(LazyPOSIX.java:29)
                    at jnr.posix.LazyPOSIX.chmod(LazyPOSIX.java:55)
                    at hudson.FilePath._chmod(FilePath.java:1611)
                    at hudson.FilePath.access$1500(FilePath.java:197)
                    at hudson.FilePath$29.invoke(FilePath.java:1596)
                    at hudson.FilePath$29.invoke(FilePath.java:1592)
                    at hudson.FilePath.act(FilePath.java:998)
                    at hudson.FilePath.act(FilePath.java:976)
                    at hudson.FilePath.chmod(FilePath.java:1592)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.makeReadOnly(InstanceIdentity.java:116)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.write(InstanceIdentity.java:105)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.<init>(InstanceIdentity.java:66)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.<init>(InstanceIdentity.java:40)
                    at org.jenkinsci.main.modules.instance_identity.PageDecoratorImpl.<init>(PageDecoratorImpl.java:22)
                    at org.jenkinsci.main.modules.instance_identity.PageDecoratorImpl$$FastClassByGuice$$68618106.newInstance(<generated>)
                    at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
                    at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:61)
                    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:105)
                    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
                    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
                    at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
                    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
                    at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
                    at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
                    at hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1.get(ExtensionFinder.java:424)
            {noformat}

            A different stack trace shows:
            {noformat}
            WARNING: Illegal reflective access by jnr.posix.JavaLibCHelper (file:/var/jenkins_home/war/WEB-INF/lib/jnr-posix-3.0.1.jar) to field sun.nio.ch.FileChannelImpl.fd
                    at jnr.posix.JavaLibCHelper.<clinit>(JavaLibCHelper.java:104)
                    at jnr.posix.BaseNativePOSIX.<init>(BaseNativePOSIX.java:38)
                    at jnr.posix.LinuxPOSIX.<init>(LinuxPOSIX.java:20)
                    at jnr.posix.POSIXFactory.loadLinuxPOSIX(POSIXFactory.java:95)
                    at jnr.posix.POSIXFactory.loadNativePOSIX(POSIXFactory.java:69)
                    at jnr.posix.POSIXFactory.loadPOSIX(POSIXFactory.java:38)
                    at jnr.posix.LazyPOSIX.loadPOSIX(LazyPOSIX.java:33)
                    at jnr.posix.LazyPOSIX.posix(LazyPOSIX.java:29)
                    at jnr.posix.LazyPOSIX.chmod(LazyPOSIX.java:55)
                    at hudson.FilePath._chmod(FilePath.java:1611)
                    at hudson.FilePath.access$1500(FilePath.java:197)
                    at hudson.FilePath$29.invoke(FilePath.java:1596)
                    at hudson.FilePath$29.invoke(FilePath.java:1592)
                    at hudson.FilePath.act(FilePath.java:998)
                    at hudson.FilePath.act(FilePath.java:976)
                    at hudson.FilePath.chmod(FilePath.java:1592)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.makeReadOnly(InstanceIdentity.java:116)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.write(InstanceIdentity.java:105)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.<init>(InstanceIdentity.java:66)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.<init>(InstanceIdentity.java:40)
                    at org.jenkinsci.main.modules.instance_identity.PageDecoratorImpl.<init>(PageDecoratorImpl.java:22)
                    at org.jenkinsci.main.modules.instance_identity.PageDecoratorImpl$$FastClassByGuice$$68618106.newInstance(<generated>)
                    at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
                    at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:61)
                    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:105)
                    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
                    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
                    at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
                    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
                    at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
                    at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
                    at hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1.get(ExtensionFinder.java:424)
            {noformat}

            A third stack trace shows:
            {noformat}
            {noformat}
            markewaite Mark Waite made changes -
            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 stack trace shows:

            {noformat}
            WARNING: Illegal reflective access by jnr.posix.JavaLibCHelper (file:/var/jenkins_home/war/WEB-INF/lib/jnr-posix-3.0.1.jar) to method sun.nio.ch.SelChImpl.getFD()
                    at jnr.posix.JavaLibCHelper.<clinit>(JavaLibCHelper.java:87)
                    at jnr.posix.BaseNativePOSIX.<init>(BaseNativePOSIX.java:38)
                    at jnr.posix.LinuxPOSIX.<init>(LinuxPOSIX.java:20)
                    at jnr.posix.POSIXFactory.loadLinuxPOSIX(POSIXFactory.java:95)
                    at jnr.posix.POSIXFactory.loadNativePOSIX(POSIXFactory.java:69)
                    at jnr.posix.POSIXFactory.loadPOSIX(POSIXFactory.java:38)
                    at jnr.posix.LazyPOSIX.loadPOSIX(LazyPOSIX.java:33)
                    at jnr.posix.LazyPOSIX.posix(LazyPOSIX.java:29)
                    at jnr.posix.LazyPOSIX.chmod(LazyPOSIX.java:55)
                    at hudson.FilePath._chmod(FilePath.java:1611)
                    at hudson.FilePath.access$1500(FilePath.java:197)
                    at hudson.FilePath$29.invoke(FilePath.java:1596)
                    at hudson.FilePath$29.invoke(FilePath.java:1592)
                    at hudson.FilePath.act(FilePath.java:998)
                    at hudson.FilePath.act(FilePath.java:976)
                    at hudson.FilePath.chmod(FilePath.java:1592)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.makeReadOnly(InstanceIdentity.java:116)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.write(InstanceIdentity.java:105)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.<init>(InstanceIdentity.java:66)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.<init>(InstanceIdentity.java:40)
                    at org.jenkinsci.main.modules.instance_identity.PageDecoratorImpl.<init>(PageDecoratorImpl.java:22)
                    at org.jenkinsci.main.modules.instance_identity.PageDecoratorImpl$$FastClassByGuice$$68618106.newInstance(<generated>)
                    at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
                    at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:61)
                    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:105)
                    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
                    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
                    at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
                    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
                    at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
                    at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
                    at hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1.get(ExtensionFinder.java:424)
            {noformat}

            A different stack trace shows:
            {noformat}
            WARNING: Illegal reflective access by jnr.posix.JavaLibCHelper (file:/var/jenkins_home/war/WEB-INF/lib/jnr-posix-3.0.1.jar) to field sun.nio.ch.FileChannelImpl.fd
                    at jnr.posix.JavaLibCHelper.<clinit>(JavaLibCHelper.java:104)
                    at jnr.posix.BaseNativePOSIX.<init>(BaseNativePOSIX.java:38)
                    at jnr.posix.LinuxPOSIX.<init>(LinuxPOSIX.java:20)
                    at jnr.posix.POSIXFactory.loadLinuxPOSIX(POSIXFactory.java:95)
                    at jnr.posix.POSIXFactory.loadNativePOSIX(POSIXFactory.java:69)
                    at jnr.posix.POSIXFactory.loadPOSIX(POSIXFactory.java:38)
                    at jnr.posix.LazyPOSIX.loadPOSIX(LazyPOSIX.java:33)
                    at jnr.posix.LazyPOSIX.posix(LazyPOSIX.java:29)
                    at jnr.posix.LazyPOSIX.chmod(LazyPOSIX.java:55)
                    at hudson.FilePath._chmod(FilePath.java:1611)
                    at hudson.FilePath.access$1500(FilePath.java:197)
                    at hudson.FilePath$29.invoke(FilePath.java:1596)
                    at hudson.FilePath$29.invoke(FilePath.java:1592)
                    at hudson.FilePath.act(FilePath.java:998)
                    at hudson.FilePath.act(FilePath.java:976)
                    at hudson.FilePath.chmod(FilePath.java:1592)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.makeReadOnly(InstanceIdentity.java:116)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.write(InstanceIdentity.java:105)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.<init>(InstanceIdentity.java:66)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.<init>(InstanceIdentity.java:40)
                    at org.jenkinsci.main.modules.instance_identity.PageDecoratorImpl.<init>(PageDecoratorImpl.java:22)
                    at org.jenkinsci.main.modules.instance_identity.PageDecoratorImpl$$FastClassByGuice$$68618106.newInstance(<generated>)
                    at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
                    at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:61)
                    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:105)
                    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
                    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
                    at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
                    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
                    at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
                    at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
                    at hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1.get(ExtensionFinder.java:424)
            {noformat}

            A third stack trace shows:
            {noformat}
            {noformat}
            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 stack trace shows:

            {noformat}
            WARNING: Illegal reflective access by jnr.posix.JavaLibCHelper (file:/var/jenkins_home/war/WEB-INF/lib/jnr-posix-3.0.1.jar) to method sun.nio.ch.SelChImpl.getFD()
                    at jnr.posix.JavaLibCHelper.<clinit>(JavaLibCHelper.java:87)
                    at jnr.posix.BaseNativePOSIX.<init>(BaseNativePOSIX.java:38)
                    at jnr.posix.LinuxPOSIX.<init>(LinuxPOSIX.java:20)
                    at jnr.posix.POSIXFactory.loadLinuxPOSIX(POSIXFactory.java:95)
                    at jnr.posix.POSIXFactory.loadNativePOSIX(POSIXFactory.java:69)
                    at jnr.posix.POSIXFactory.loadPOSIX(POSIXFactory.java:38)
                    at jnr.posix.LazyPOSIX.loadPOSIX(LazyPOSIX.java:33)
                    at jnr.posix.LazyPOSIX.posix(LazyPOSIX.java:29)
                    at jnr.posix.LazyPOSIX.chmod(LazyPOSIX.java:55)
                    at hudson.FilePath._chmod(FilePath.java:1611)
                    at hudson.FilePath.access$1500(FilePath.java:197)
                    at hudson.FilePath$29.invoke(FilePath.java:1596)
                    at hudson.FilePath$29.invoke(FilePath.java:1592)
                    at hudson.FilePath.act(FilePath.java:998)
                    at hudson.FilePath.act(FilePath.java:976)
                    at hudson.FilePath.chmod(FilePath.java:1592)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.makeReadOnly(InstanceIdentity.java:116)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.write(InstanceIdentity.java:105)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.<init>(InstanceIdentity.java:66)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.<init>(InstanceIdentity.java:40)
                    at org.jenkinsci.main.modules.instance_identity.PageDecoratorImpl.<init>(PageDecoratorImpl.java:22)
                    at org.jenkinsci.main.modules.instance_identity.PageDecoratorImpl$$FastClassByGuice$$68618106.newInstance(<generated>)
                    at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
                    at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:61)
                    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:105)
                    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
                    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
                    at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
                    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
                    at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
                    at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
                    at hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1.get(ExtensionFinder.java:424)
            {noformat}

            A different stack trace shows:
            {noformat}
            WARNING: Illegal reflective access by jnr.posix.JavaLibCHelper (file:/var/jenkins_home/war/WEB-INF/lib/jnr-posix-3.0.1.jar) to field sun.nio.ch.FileChannelImpl.fd
                    at jnr.posix.JavaLibCHelper.<clinit>(JavaLibCHelper.java:104)
                    at jnr.posix.BaseNativePOSIX.<init>(BaseNativePOSIX.java:38)
                    at jnr.posix.LinuxPOSIX.<init>(LinuxPOSIX.java:20)
                    at jnr.posix.POSIXFactory.loadLinuxPOSIX(POSIXFactory.java:95)
                    at jnr.posix.POSIXFactory.loadNativePOSIX(POSIXFactory.java:69)
                    at jnr.posix.POSIXFactory.loadPOSIX(POSIXFactory.java:38)
                    at jnr.posix.LazyPOSIX.loadPOSIX(LazyPOSIX.java:33)
                    at jnr.posix.LazyPOSIX.posix(LazyPOSIX.java:29)
                    at jnr.posix.LazyPOSIX.chmod(LazyPOSIX.java:55)
                    at hudson.FilePath._chmod(FilePath.java:1611)
                    at hudson.FilePath.access$1500(FilePath.java:197)
                    at hudson.FilePath$29.invoke(FilePath.java:1596)
                    at hudson.FilePath$29.invoke(FilePath.java:1592)
                    at hudson.FilePath.act(FilePath.java:998)
                    at hudson.FilePath.act(FilePath.java:976)
                    at hudson.FilePath.chmod(FilePath.java:1592)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.makeReadOnly(InstanceIdentity.java:116)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.write(InstanceIdentity.java:105)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.<init>(InstanceIdentity.java:66)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.<init>(InstanceIdentity.java:40)
                    at org.jenkinsci.main.modules.instance_identity.PageDecoratorImpl.<init>(PageDecoratorImpl.java:22)
                    at org.jenkinsci.main.modules.instance_identity.PageDecoratorImpl$$FastClassByGuice$$68618106.newInstance(<generated>)
                    at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
                    at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:61)
                    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:105)
                    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
                    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
                    at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
                    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
                    at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
                    at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
                    at hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1.get(ExtensionFinder.java:424)
            {noformat}

            A third stack trace shows:
            {noformat}
            WARNING: Illegal reflective access by jnr.posix.JavaLibCHelper (file:/var/jenkins_home/war/WEB-INF/lib/jnr-posix-3.0.1.jar) to field java.io.FileDescriptor.fd
                    at jnr.posix.JavaLibCHelper.<clinit>(JavaLibCHelper.java:118)
                    at jnr.posix.BaseNativePOSIX.<init>(BaseNativePOSIX.java:38)
                    at jnr.posix.LinuxPOSIX.<init>(LinuxPOSIX.java:20)
                    at jnr.posix.POSIXFactory.loadLinuxPOSIX(POSIXFactory.java:95)
                    at jnr.posix.POSIXFactory.loadNativePOSIX(POSIXFactory.java:69)
                    at jnr.posix.POSIXFactory.loadPOSIX(POSIXFactory.java:38)
                    at jnr.posix.LazyPOSIX.loadPOSIX(LazyPOSIX.java:33)
                    at jnr.posix.LazyPOSIX.posix(LazyPOSIX.java:29)
                    at jnr.posix.LazyPOSIX.chmod(LazyPOSIX.java:55)
                    at hudson.FilePath._chmod(FilePath.java:1611)
                    at hudson.FilePath.access$1500(FilePath.java:197)
                    at hudson.FilePath$29.invoke(FilePath.java:1596)
                    at hudson.FilePath$29.invoke(FilePath.java:1592)
                    at hudson.FilePath.act(FilePath.java:998)
                    at hudson.FilePath.act(FilePath.java:976)
                    at hudson.FilePath.chmod(FilePath.java:1592)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.makeReadOnly(InstanceIdentity.java:116)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.write(InstanceIdentity.java:105)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.<init>(InstanceIdentity.java:66)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.<init>(InstanceIdentity.java:40)
                    at org.jenkinsci.main.modules.instance_identity.PageDecoratorImpl.<init>(PageDecoratorImpl.java:22)
                    at org.jenkinsci.main.modules.instance_identity.PageDecoratorImpl$$FastClassByGuice$$68618106.newInstance(<generated>)
                    at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
                    at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:61)
                    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:105)
                    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
                    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
                    at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
                    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
                    at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
                    at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
                    at hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1.get(ExtensionFinder.java:424)
            {noformat}
            oleg_nenashev Oleg Nenashev made changes -
            Labels explorator_testing java10_hackathon
            dnusbaum Devin Nusbaum made changes -
            Assignee Devin Nusbaum [ dnusbaum ]
            dnusbaum Devin Nusbaum made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            dnusbaum Devin Nusbaum made changes -
            Status In Progress [ 3 ] In Review [ 10005 ]
            ndeloof Nicolas De Loof made changes -
            Link This issue is blocking JENKINS-46619 [ JENKINS-46619 ]
            ndeloof Nicolas De Loof made changes -
            Remote Link This issue links to "https://github.com/jenkinsci/jenkins/pull/3511 (Web Link)" [ 20929 ]
            dnusbaum Devin Nusbaum made changes -
            Summary [JDK9] Illegal reflective access from jnr-posix [JDK9] Detach JNR-Posix from core
            dnusbaum Devin Nusbaum made changes -
            Assignee Devin Nusbaum [ dnusbaum ]
            ndeloof Nicolas De Loof made changes -
            Assignee Nicolas De Loof [ ndeloof ]
            dnusbaum Devin Nusbaum made changes -
            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 stack trace shows:

            {noformat}
            WARNING: Illegal reflective access by jnr.posix.JavaLibCHelper (file:/var/jenkins_home/war/WEB-INF/lib/jnr-posix-3.0.1.jar) to method sun.nio.ch.SelChImpl.getFD()
                    at jnr.posix.JavaLibCHelper.<clinit>(JavaLibCHelper.java:87)
                    at jnr.posix.BaseNativePOSIX.<init>(BaseNativePOSIX.java:38)
                    at jnr.posix.LinuxPOSIX.<init>(LinuxPOSIX.java:20)
                    at jnr.posix.POSIXFactory.loadLinuxPOSIX(POSIXFactory.java:95)
                    at jnr.posix.POSIXFactory.loadNativePOSIX(POSIXFactory.java:69)
                    at jnr.posix.POSIXFactory.loadPOSIX(POSIXFactory.java:38)
                    at jnr.posix.LazyPOSIX.loadPOSIX(LazyPOSIX.java:33)
                    at jnr.posix.LazyPOSIX.posix(LazyPOSIX.java:29)
                    at jnr.posix.LazyPOSIX.chmod(LazyPOSIX.java:55)
                    at hudson.FilePath._chmod(FilePath.java:1611)
                    at hudson.FilePath.access$1500(FilePath.java:197)
                    at hudson.FilePath$29.invoke(FilePath.java:1596)
                    at hudson.FilePath$29.invoke(FilePath.java:1592)
                    at hudson.FilePath.act(FilePath.java:998)
                    at hudson.FilePath.act(FilePath.java:976)
                    at hudson.FilePath.chmod(FilePath.java:1592)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.makeReadOnly(InstanceIdentity.java:116)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.write(InstanceIdentity.java:105)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.<init>(InstanceIdentity.java:66)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.<init>(InstanceIdentity.java:40)
                    at org.jenkinsci.main.modules.instance_identity.PageDecoratorImpl.<init>(PageDecoratorImpl.java:22)
                    at org.jenkinsci.main.modules.instance_identity.PageDecoratorImpl$$FastClassByGuice$$68618106.newInstance(<generated>)
                    at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
                    at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:61)
                    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:105)
                    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
                    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
                    at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
                    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
                    at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
                    at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
                    at hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1.get(ExtensionFinder.java:424)
            {noformat}

            A different stack trace shows:
            {noformat}
            WARNING: Illegal reflective access by jnr.posix.JavaLibCHelper (file:/var/jenkins_home/war/WEB-INF/lib/jnr-posix-3.0.1.jar) to field sun.nio.ch.FileChannelImpl.fd
                    at jnr.posix.JavaLibCHelper.<clinit>(JavaLibCHelper.java:104)
                    at jnr.posix.BaseNativePOSIX.<init>(BaseNativePOSIX.java:38)
                    at jnr.posix.LinuxPOSIX.<init>(LinuxPOSIX.java:20)
                    at jnr.posix.POSIXFactory.loadLinuxPOSIX(POSIXFactory.java:95)
                    at jnr.posix.POSIXFactory.loadNativePOSIX(POSIXFactory.java:69)
                    at jnr.posix.POSIXFactory.loadPOSIX(POSIXFactory.java:38)
                    at jnr.posix.LazyPOSIX.loadPOSIX(LazyPOSIX.java:33)
                    at jnr.posix.LazyPOSIX.posix(LazyPOSIX.java:29)
                    at jnr.posix.LazyPOSIX.chmod(LazyPOSIX.java:55)
                    at hudson.FilePath._chmod(FilePath.java:1611)
                    at hudson.FilePath.access$1500(FilePath.java:197)
                    at hudson.FilePath$29.invoke(FilePath.java:1596)
                    at hudson.FilePath$29.invoke(FilePath.java:1592)
                    at hudson.FilePath.act(FilePath.java:998)
                    at hudson.FilePath.act(FilePath.java:976)
                    at hudson.FilePath.chmod(FilePath.java:1592)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.makeReadOnly(InstanceIdentity.java:116)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.write(InstanceIdentity.java:105)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.<init>(InstanceIdentity.java:66)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.<init>(InstanceIdentity.java:40)
                    at org.jenkinsci.main.modules.instance_identity.PageDecoratorImpl.<init>(PageDecoratorImpl.java:22)
                    at org.jenkinsci.main.modules.instance_identity.PageDecoratorImpl$$FastClassByGuice$$68618106.newInstance(<generated>)
                    at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
                    at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:61)
                    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:105)
                    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
                    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
                    at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
                    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
                    at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
                    at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
                    at hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1.get(ExtensionFinder.java:424)
            {noformat}

            A third stack trace shows:
            {noformat}
            WARNING: Illegal reflective access by jnr.posix.JavaLibCHelper (file:/var/jenkins_home/war/WEB-INF/lib/jnr-posix-3.0.1.jar) to field java.io.FileDescriptor.fd
                    at jnr.posix.JavaLibCHelper.<clinit>(JavaLibCHelper.java:118)
                    at jnr.posix.BaseNativePOSIX.<init>(BaseNativePOSIX.java:38)
                    at jnr.posix.LinuxPOSIX.<init>(LinuxPOSIX.java:20)
                    at jnr.posix.POSIXFactory.loadLinuxPOSIX(POSIXFactory.java:95)
                    at jnr.posix.POSIXFactory.loadNativePOSIX(POSIXFactory.java:69)
                    at jnr.posix.POSIXFactory.loadPOSIX(POSIXFactory.java:38)
                    at jnr.posix.LazyPOSIX.loadPOSIX(LazyPOSIX.java:33)
                    at jnr.posix.LazyPOSIX.posix(LazyPOSIX.java:29)
                    at jnr.posix.LazyPOSIX.chmod(LazyPOSIX.java:55)
                    at hudson.FilePath._chmod(FilePath.java:1611)
                    at hudson.FilePath.access$1500(FilePath.java:197)
                    at hudson.FilePath$29.invoke(FilePath.java:1596)
                    at hudson.FilePath$29.invoke(FilePath.java:1592)
                    at hudson.FilePath.act(FilePath.java:998)
                    at hudson.FilePath.act(FilePath.java:976)
                    at hudson.FilePath.chmod(FilePath.java:1592)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.makeReadOnly(InstanceIdentity.java:116)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.write(InstanceIdentity.java:105)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.<init>(InstanceIdentity.java:66)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.<init>(InstanceIdentity.java:40)
                    at org.jenkinsci.main.modules.instance_identity.PageDecoratorImpl.<init>(PageDecoratorImpl.java:22)
                    at org.jenkinsci.main.modules.instance_identity.PageDecoratorImpl$$FastClassByGuice$$68618106.newInstance(<generated>)
                    at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
                    at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:61)
                    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:105)
                    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
                    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
                    at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
                    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
                    at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
                    at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
                    at hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1.get(ExtensionFinder.java:424)
            {noformat}
            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. These uses do not seem to be able to be removed or fixed easily in JNR Posix, but Jenkins core does not use JNR Posix by default for anything critical after the changes for JENKINS-36088, so it can be detached.

            We would have to remove the {{useNativeChmodAndMode}} option, but that was only added in case of significant regressions with the NIO implementations, but I am not aware of significant regressions and would be fine with removing the option.

            A stack trace shows:

            {noformat}
            WARNING: Illegal reflective access by jnr.posix.JavaLibCHelper (file:/var/jenkins_home/war/WEB-INF/lib/jnr-posix-3.0.1.jar) to method sun.nio.ch.SelChImpl.getFD()
                    at jnr.posix.JavaLibCHelper.<clinit>(JavaLibCHelper.java:87)
                    at jnr.posix.BaseNativePOSIX.<init>(BaseNativePOSIX.java:38)
                    at jnr.posix.LinuxPOSIX.<init>(LinuxPOSIX.java:20)
                    at jnr.posix.POSIXFactory.loadLinuxPOSIX(POSIXFactory.java:95)
                    at jnr.posix.POSIXFactory.loadNativePOSIX(POSIXFactory.java:69)
                    at jnr.posix.POSIXFactory.loadPOSIX(POSIXFactory.java:38)
                    at jnr.posix.LazyPOSIX.loadPOSIX(LazyPOSIX.java:33)
                    at jnr.posix.LazyPOSIX.posix(LazyPOSIX.java:29)
                    at jnr.posix.LazyPOSIX.chmod(LazyPOSIX.java:55)
                    at hudson.FilePath._chmod(FilePath.java:1611)
                    at hudson.FilePath.access$1500(FilePath.java:197)
                    at hudson.FilePath$29.invoke(FilePath.java:1596)
                    at hudson.FilePath$29.invoke(FilePath.java:1592)
                    at hudson.FilePath.act(FilePath.java:998)
                    at hudson.FilePath.act(FilePath.java:976)
                    at hudson.FilePath.chmod(FilePath.java:1592)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.makeReadOnly(InstanceIdentity.java:116)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.write(InstanceIdentity.java:105)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.<init>(InstanceIdentity.java:66)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.<init>(InstanceIdentity.java:40)
                    at org.jenkinsci.main.modules.instance_identity.PageDecoratorImpl.<init>(PageDecoratorImpl.java:22)
                    at org.jenkinsci.main.modules.instance_identity.PageDecoratorImpl$$FastClassByGuice$$68618106.newInstance(<generated>)
                    at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
                    at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:61)
                    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:105)
                    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
                    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
                    at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
                    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
                    at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
                    at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
                    at hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1.get(ExtensionFinder.java:424)
            {noformat}

            A different stack trace shows:
            {noformat}
            WARNING: Illegal reflective access by jnr.posix.JavaLibCHelper (file:/var/jenkins_home/war/WEB-INF/lib/jnr-posix-3.0.1.jar) to field sun.nio.ch.FileChannelImpl.fd
                    at jnr.posix.JavaLibCHelper.<clinit>(JavaLibCHelper.java:104)
                    at jnr.posix.BaseNativePOSIX.<init>(BaseNativePOSIX.java:38)
                    at jnr.posix.LinuxPOSIX.<init>(LinuxPOSIX.java:20)
                    at jnr.posix.POSIXFactory.loadLinuxPOSIX(POSIXFactory.java:95)
                    at jnr.posix.POSIXFactory.loadNativePOSIX(POSIXFactory.java:69)
                    at jnr.posix.POSIXFactory.loadPOSIX(POSIXFactory.java:38)
                    at jnr.posix.LazyPOSIX.loadPOSIX(LazyPOSIX.java:33)
                    at jnr.posix.LazyPOSIX.posix(LazyPOSIX.java:29)
                    at jnr.posix.LazyPOSIX.chmod(LazyPOSIX.java:55)
                    at hudson.FilePath._chmod(FilePath.java:1611)
                    at hudson.FilePath.access$1500(FilePath.java:197)
                    at hudson.FilePath$29.invoke(FilePath.java:1596)
                    at hudson.FilePath$29.invoke(FilePath.java:1592)
                    at hudson.FilePath.act(FilePath.java:998)
                    at hudson.FilePath.act(FilePath.java:976)
                    at hudson.FilePath.chmod(FilePath.java:1592)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.makeReadOnly(InstanceIdentity.java:116)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.write(InstanceIdentity.java:105)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.<init>(InstanceIdentity.java:66)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.<init>(InstanceIdentity.java:40)
                    at org.jenkinsci.main.modules.instance_identity.PageDecoratorImpl.<init>(PageDecoratorImpl.java:22)
                    at org.jenkinsci.main.modules.instance_identity.PageDecoratorImpl$$FastClassByGuice$$68618106.newInstance(<generated>)
                    at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
                    at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:61)
                    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:105)
                    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
                    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
                    at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
                    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
                    at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
                    at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
                    at hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1.get(ExtensionFinder.java:424)
            {noformat}

            A third stack trace shows:
            {noformat}
            WARNING: Illegal reflective access by jnr.posix.JavaLibCHelper (file:/var/jenkins_home/war/WEB-INF/lib/jnr-posix-3.0.1.jar) to field java.io.FileDescriptor.fd
                    at jnr.posix.JavaLibCHelper.<clinit>(JavaLibCHelper.java:118)
                    at jnr.posix.BaseNativePOSIX.<init>(BaseNativePOSIX.java:38)
                    at jnr.posix.LinuxPOSIX.<init>(LinuxPOSIX.java:20)
                    at jnr.posix.POSIXFactory.loadLinuxPOSIX(POSIXFactory.java:95)
                    at jnr.posix.POSIXFactory.loadNativePOSIX(POSIXFactory.java:69)
                    at jnr.posix.POSIXFactory.loadPOSIX(POSIXFactory.java:38)
                    at jnr.posix.LazyPOSIX.loadPOSIX(LazyPOSIX.java:33)
                    at jnr.posix.LazyPOSIX.posix(LazyPOSIX.java:29)
                    at jnr.posix.LazyPOSIX.chmod(LazyPOSIX.java:55)
                    at hudson.FilePath._chmod(FilePath.java:1611)
                    at hudson.FilePath.access$1500(FilePath.java:197)
                    at hudson.FilePath$29.invoke(FilePath.java:1596)
                    at hudson.FilePath$29.invoke(FilePath.java:1592)
                    at hudson.FilePath.act(FilePath.java:998)
                    at hudson.FilePath.act(FilePath.java:976)
                    at hudson.FilePath.chmod(FilePath.java:1592)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.makeReadOnly(InstanceIdentity.java:116)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.write(InstanceIdentity.java:105)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.<init>(InstanceIdentity.java:66)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.<init>(InstanceIdentity.java:40)
                    at org.jenkinsci.main.modules.instance_identity.PageDecoratorImpl.<init>(PageDecoratorImpl.java:22)
                    at org.jenkinsci.main.modules.instance_identity.PageDecoratorImpl$$FastClassByGuice$$68618106.newInstance(<generated>)
                    at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
                    at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:61)
                    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:105)
                    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
                    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
                    at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
                    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
                    at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
                    at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
                    at hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1.get(ExtensionFinder.java:424)
            {noformat}
            dnusbaum Devin Nusbaum made changes -
            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. These uses do not seem to be able to be removed or fixed easily in JNR Posix, but Jenkins core does not use JNR Posix by default for anything critical after the changes for JENKINS-36088, so it can be detached.

            We would have to remove the {{useNativeChmodAndMode}} option, but that was only added in case of significant regressions with the NIO implementations, but I am not aware of significant regressions and would be fine with removing the option.

            A stack trace shows:

            {noformat}
            WARNING: Illegal reflective access by jnr.posix.JavaLibCHelper (file:/var/jenkins_home/war/WEB-INF/lib/jnr-posix-3.0.1.jar) to method sun.nio.ch.SelChImpl.getFD()
                    at jnr.posix.JavaLibCHelper.<clinit>(JavaLibCHelper.java:87)
                    at jnr.posix.BaseNativePOSIX.<init>(BaseNativePOSIX.java:38)
                    at jnr.posix.LinuxPOSIX.<init>(LinuxPOSIX.java:20)
                    at jnr.posix.POSIXFactory.loadLinuxPOSIX(POSIXFactory.java:95)
                    at jnr.posix.POSIXFactory.loadNativePOSIX(POSIXFactory.java:69)
                    at jnr.posix.POSIXFactory.loadPOSIX(POSIXFactory.java:38)
                    at jnr.posix.LazyPOSIX.loadPOSIX(LazyPOSIX.java:33)
                    at jnr.posix.LazyPOSIX.posix(LazyPOSIX.java:29)
                    at jnr.posix.LazyPOSIX.chmod(LazyPOSIX.java:55)
                    at hudson.FilePath._chmod(FilePath.java:1611)
                    at hudson.FilePath.access$1500(FilePath.java:197)
                    at hudson.FilePath$29.invoke(FilePath.java:1596)
                    at hudson.FilePath$29.invoke(FilePath.java:1592)
                    at hudson.FilePath.act(FilePath.java:998)
                    at hudson.FilePath.act(FilePath.java:976)
                    at hudson.FilePath.chmod(FilePath.java:1592)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.makeReadOnly(InstanceIdentity.java:116)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.write(InstanceIdentity.java:105)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.<init>(InstanceIdentity.java:66)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.<init>(InstanceIdentity.java:40)
                    at org.jenkinsci.main.modules.instance_identity.PageDecoratorImpl.<init>(PageDecoratorImpl.java:22)
                    at org.jenkinsci.main.modules.instance_identity.PageDecoratorImpl$$FastClassByGuice$$68618106.newInstance(<generated>)
                    at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
                    at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:61)
                    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:105)
                    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
                    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
                    at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
                    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
                    at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
                    at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
                    at hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1.get(ExtensionFinder.java:424)
            {noformat}

            A different stack trace shows:
            {noformat}
            WARNING: Illegal reflective access by jnr.posix.JavaLibCHelper (file:/var/jenkins_home/war/WEB-INF/lib/jnr-posix-3.0.1.jar) to field sun.nio.ch.FileChannelImpl.fd
                    at jnr.posix.JavaLibCHelper.<clinit>(JavaLibCHelper.java:104)
                    at jnr.posix.BaseNativePOSIX.<init>(BaseNativePOSIX.java:38)
                    at jnr.posix.LinuxPOSIX.<init>(LinuxPOSIX.java:20)
                    at jnr.posix.POSIXFactory.loadLinuxPOSIX(POSIXFactory.java:95)
                    at jnr.posix.POSIXFactory.loadNativePOSIX(POSIXFactory.java:69)
                    at jnr.posix.POSIXFactory.loadPOSIX(POSIXFactory.java:38)
                    at jnr.posix.LazyPOSIX.loadPOSIX(LazyPOSIX.java:33)
                    at jnr.posix.LazyPOSIX.posix(LazyPOSIX.java:29)
                    at jnr.posix.LazyPOSIX.chmod(LazyPOSIX.java:55)
                    at hudson.FilePath._chmod(FilePath.java:1611)
                    at hudson.FilePath.access$1500(FilePath.java:197)
                    at hudson.FilePath$29.invoke(FilePath.java:1596)
                    at hudson.FilePath$29.invoke(FilePath.java:1592)
                    at hudson.FilePath.act(FilePath.java:998)
                    at hudson.FilePath.act(FilePath.java:976)
                    at hudson.FilePath.chmod(FilePath.java:1592)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.makeReadOnly(InstanceIdentity.java:116)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.write(InstanceIdentity.java:105)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.<init>(InstanceIdentity.java:66)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.<init>(InstanceIdentity.java:40)
                    at org.jenkinsci.main.modules.instance_identity.PageDecoratorImpl.<init>(PageDecoratorImpl.java:22)
                    at org.jenkinsci.main.modules.instance_identity.PageDecoratorImpl$$FastClassByGuice$$68618106.newInstance(<generated>)
                    at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
                    at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:61)
                    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:105)
                    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
                    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
                    at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
                    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
                    at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
                    at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
                    at hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1.get(ExtensionFinder.java:424)
            {noformat}

            A third stack trace shows:
            {noformat}
            WARNING: Illegal reflective access by jnr.posix.JavaLibCHelper (file:/var/jenkins_home/war/WEB-INF/lib/jnr-posix-3.0.1.jar) to field java.io.FileDescriptor.fd
                    at jnr.posix.JavaLibCHelper.<clinit>(JavaLibCHelper.java:118)
                    at jnr.posix.BaseNativePOSIX.<init>(BaseNativePOSIX.java:38)
                    at jnr.posix.LinuxPOSIX.<init>(LinuxPOSIX.java:20)
                    at jnr.posix.POSIXFactory.loadLinuxPOSIX(POSIXFactory.java:95)
                    at jnr.posix.POSIXFactory.loadNativePOSIX(POSIXFactory.java:69)
                    at jnr.posix.POSIXFactory.loadPOSIX(POSIXFactory.java:38)
                    at jnr.posix.LazyPOSIX.loadPOSIX(LazyPOSIX.java:33)
                    at jnr.posix.LazyPOSIX.posix(LazyPOSIX.java:29)
                    at jnr.posix.LazyPOSIX.chmod(LazyPOSIX.java:55)
                    at hudson.FilePath._chmod(FilePath.java:1611)
                    at hudson.FilePath.access$1500(FilePath.java:197)
                    at hudson.FilePath$29.invoke(FilePath.java:1596)
                    at hudson.FilePath$29.invoke(FilePath.java:1592)
                    at hudson.FilePath.act(FilePath.java:998)
                    at hudson.FilePath.act(FilePath.java:976)
                    at hudson.FilePath.chmod(FilePath.java:1592)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.makeReadOnly(InstanceIdentity.java:116)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.write(InstanceIdentity.java:105)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.<init>(InstanceIdentity.java:66)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.<init>(InstanceIdentity.java:40)
                    at org.jenkinsci.main.modules.instance_identity.PageDecoratorImpl.<init>(PageDecoratorImpl.java:22)
                    at org.jenkinsci.main.modules.instance_identity.PageDecoratorImpl$$FastClassByGuice$$68618106.newInstance(<generated>)
                    at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
                    at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:61)
                    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:105)
                    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
                    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
                    at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
                    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
                    at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
                    at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
                    at hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1.get(ExtensionFinder.java:424)
            {noformat}
            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. These uses do not seem to be able to be removed or fixed easily in JNR Posix, but Jenkins core does not use JNR Posix by default for anything critical after the changes for JENKINS-36088, so it can be detached.

            We would have to remove the {{useNativeChmodAndMode}} option, but that was only added in case of significant regressions with the NIO implementations, but I am not aware of regressions and would be fine with removing the option.

            A stack trace shows:

            {noformat}
            WARNING: Illegal reflective access by jnr.posix.JavaLibCHelper (file:/var/jenkins_home/war/WEB-INF/lib/jnr-posix-3.0.1.jar) to method sun.nio.ch.SelChImpl.getFD()
                    at jnr.posix.JavaLibCHelper.<clinit>(JavaLibCHelper.java:87)
                    at jnr.posix.BaseNativePOSIX.<init>(BaseNativePOSIX.java:38)
                    at jnr.posix.LinuxPOSIX.<init>(LinuxPOSIX.java:20)
                    at jnr.posix.POSIXFactory.loadLinuxPOSIX(POSIXFactory.java:95)
                    at jnr.posix.POSIXFactory.loadNativePOSIX(POSIXFactory.java:69)
                    at jnr.posix.POSIXFactory.loadPOSIX(POSIXFactory.java:38)
                    at jnr.posix.LazyPOSIX.loadPOSIX(LazyPOSIX.java:33)
                    at jnr.posix.LazyPOSIX.posix(LazyPOSIX.java:29)
                    at jnr.posix.LazyPOSIX.chmod(LazyPOSIX.java:55)
                    at hudson.FilePath._chmod(FilePath.java:1611)
                    at hudson.FilePath.access$1500(FilePath.java:197)
                    at hudson.FilePath$29.invoke(FilePath.java:1596)
                    at hudson.FilePath$29.invoke(FilePath.java:1592)
                    at hudson.FilePath.act(FilePath.java:998)
                    at hudson.FilePath.act(FilePath.java:976)
                    at hudson.FilePath.chmod(FilePath.java:1592)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.makeReadOnly(InstanceIdentity.java:116)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.write(InstanceIdentity.java:105)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.<init>(InstanceIdentity.java:66)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.<init>(InstanceIdentity.java:40)
                    at org.jenkinsci.main.modules.instance_identity.PageDecoratorImpl.<init>(PageDecoratorImpl.java:22)
                    at org.jenkinsci.main.modules.instance_identity.PageDecoratorImpl$$FastClassByGuice$$68618106.newInstance(<generated>)
                    at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
                    at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:61)
                    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:105)
                    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
                    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
                    at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
                    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
                    at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
                    at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
                    at hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1.get(ExtensionFinder.java:424)
            {noformat}

            A different stack trace shows:
            {noformat}
            WARNING: Illegal reflective access by jnr.posix.JavaLibCHelper (file:/var/jenkins_home/war/WEB-INF/lib/jnr-posix-3.0.1.jar) to field sun.nio.ch.FileChannelImpl.fd
                    at jnr.posix.JavaLibCHelper.<clinit>(JavaLibCHelper.java:104)
                    at jnr.posix.BaseNativePOSIX.<init>(BaseNativePOSIX.java:38)
                    at jnr.posix.LinuxPOSIX.<init>(LinuxPOSIX.java:20)
                    at jnr.posix.POSIXFactory.loadLinuxPOSIX(POSIXFactory.java:95)
                    at jnr.posix.POSIXFactory.loadNativePOSIX(POSIXFactory.java:69)
                    at jnr.posix.POSIXFactory.loadPOSIX(POSIXFactory.java:38)
                    at jnr.posix.LazyPOSIX.loadPOSIX(LazyPOSIX.java:33)
                    at jnr.posix.LazyPOSIX.posix(LazyPOSIX.java:29)
                    at jnr.posix.LazyPOSIX.chmod(LazyPOSIX.java:55)
                    at hudson.FilePath._chmod(FilePath.java:1611)
                    at hudson.FilePath.access$1500(FilePath.java:197)
                    at hudson.FilePath$29.invoke(FilePath.java:1596)
                    at hudson.FilePath$29.invoke(FilePath.java:1592)
                    at hudson.FilePath.act(FilePath.java:998)
                    at hudson.FilePath.act(FilePath.java:976)
                    at hudson.FilePath.chmod(FilePath.java:1592)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.makeReadOnly(InstanceIdentity.java:116)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.write(InstanceIdentity.java:105)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.<init>(InstanceIdentity.java:66)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.<init>(InstanceIdentity.java:40)
                    at org.jenkinsci.main.modules.instance_identity.PageDecoratorImpl.<init>(PageDecoratorImpl.java:22)
                    at org.jenkinsci.main.modules.instance_identity.PageDecoratorImpl$$FastClassByGuice$$68618106.newInstance(<generated>)
                    at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
                    at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:61)
                    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:105)
                    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
                    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
                    at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
                    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
                    at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
                    at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
                    at hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1.get(ExtensionFinder.java:424)
            {noformat}

            A third stack trace shows:
            {noformat}
            WARNING: Illegal reflective access by jnr.posix.JavaLibCHelper (file:/var/jenkins_home/war/WEB-INF/lib/jnr-posix-3.0.1.jar) to field java.io.FileDescriptor.fd
                    at jnr.posix.JavaLibCHelper.<clinit>(JavaLibCHelper.java:118)
                    at jnr.posix.BaseNativePOSIX.<init>(BaseNativePOSIX.java:38)
                    at jnr.posix.LinuxPOSIX.<init>(LinuxPOSIX.java:20)
                    at jnr.posix.POSIXFactory.loadLinuxPOSIX(POSIXFactory.java:95)
                    at jnr.posix.POSIXFactory.loadNativePOSIX(POSIXFactory.java:69)
                    at jnr.posix.POSIXFactory.loadPOSIX(POSIXFactory.java:38)
                    at jnr.posix.LazyPOSIX.loadPOSIX(LazyPOSIX.java:33)
                    at jnr.posix.LazyPOSIX.posix(LazyPOSIX.java:29)
                    at jnr.posix.LazyPOSIX.chmod(LazyPOSIX.java:55)
                    at hudson.FilePath._chmod(FilePath.java:1611)
                    at hudson.FilePath.access$1500(FilePath.java:197)
                    at hudson.FilePath$29.invoke(FilePath.java:1596)
                    at hudson.FilePath$29.invoke(FilePath.java:1592)
                    at hudson.FilePath.act(FilePath.java:998)
                    at hudson.FilePath.act(FilePath.java:976)
                    at hudson.FilePath.chmod(FilePath.java:1592)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.makeReadOnly(InstanceIdentity.java:116)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.write(InstanceIdentity.java:105)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.<init>(InstanceIdentity.java:66)
                    at org.jenkinsci.main.modules.instance_identity.InstanceIdentity.<init>(InstanceIdentity.java:40)
                    at org.jenkinsci.main.modules.instance_identity.PageDecoratorImpl.<init>(PageDecoratorImpl.java:22)
                    at org.jenkinsci.main.modules.instance_identity.PageDecoratorImpl$$FastClassByGuice$$68618106.newInstance(<generated>)
                    at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
                    at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:61)
                    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:105)
                    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
                    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
                    at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
                    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
                    at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
                    at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
                    at hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1.get(ExtensionFinder.java:424)
            {noformat}
            ndeloof Nicolas De Loof made changes -
            Link This issue depends on HOSTING-580 [ HOSTING-580 ]
            ndeloof Nicolas De Loof made changes -
            Link This issue depends on HOSTING-581 [ HOSTING-581 ]
            oleg_nenashev Oleg Nenashev made changes -
            Status In Review [ 10005 ] Resolved [ 5 ]
            Resolution Fixed [ 1 ]
            Released As Jenkins 2.144
            oleg_nenashev Oleg Nenashev made changes -
            Labels explorator_testing java10_hackathon explorator_testing java10_hackathon java11
            markewaite Mark Waite made changes -
            Status Resolved [ 5 ] Closed [ 6 ]
            batmat Baptiste Mathus made changes -
            Remote Link This issue links to "Related Core PR (Web Link)" [ 22553 ]

              People

              • Assignee:
                ndeloof Nicolas De Loof
                Reporter:
                markewaite Mark Waite
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: