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

SecurityException when trying to run a maven job with OpenJ9 JVM

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Won't Do
    • Component/s: core, maven-plugin
    • Labels:
      None
    • Environment:
    • Similar Issues:

      Description

      When I try to build a job with OpenJ9 for Java 12, I get a SecurityException in the remote executor before the maven execution actually starts:

      [IPACT_Java12] $ /var/local/jenkins/tools/hudson.model.JDK/JDK12_OpenJ9/jdk-12+33/bin/java -Duser.home=/var/local/jenkins -cp /var/local/jenkins/plugins/maven-plugin/WEB-INF/lib/maven33-agent-1.12.jar:/var/local/jenkins/tools/hudson.tasks.Maven_MavenInstallation/Maven3/boot/plexus-classworlds-2.5.2.jar:/var/local/jenkins/tools/hudson.tasks.Maven_MavenInstallation/Maven3/conf/logging jenkins.maven3.agent.Maven33Main /var/local/jenkins/tools/hudson.tasks.Maven_MavenInstallation/Maven3 /var/lib/tomcat8/webapps/jenkins/WEB-INF/lib/remoting-3.29.jar /var/local/jenkins/plugins/maven-plugin/WEB-INF/lib/maven33-interceptor-1.12.jar /var/local/jenkins/plugins/maven-plugin/WEB-INF/lib/maven3-interceptor-commons-1.12.jar 34243
      <===[JENKINS REMOTING CAPACITY]===>Exception in thread "main" java.lang.reflect.InvocationTargetException
      at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.base/java.lang.reflect.Method.invoke(Method.java:567)
      at jenkins.maven3.agent.Maven33Main.main(Maven33Main.java:135)
      at jenkins.maven3.agent.Maven33Main.main(Maven33Main.java:64)
      Caused by: java.lang.SecurityException: Signers of 'hudson.remoting.$Proxy1' do not match signers of other classes in package
      at java.base/java.lang.ClassLoader.checkPackageSigners(ClassLoader.java:556)
      at java.base/java.lang.ClassLoader.defineClassInternal(ClassLoader.java:470)
      at java.base/java.lang.Access.defineClass(Access.java:240)
      at java.base/java.lang.reflect.Proxy$ProxyBuilder.defineProxyClass(Proxy.java:537)
      at java.base/java.lang.reflect.Proxy$ProxyBuilder.build(Proxy.java:646)
      at java.base/java.lang.reflect.Proxy.lambda$getProxyConstructor$1(Proxy.java:425)
      at java.lang.reflect.Proxy$$Lambda$23.00000000404E6040.apply(Unknown Source)
      at java.base/jdk.internal.loader.AbstractClassLoaderValue$Memoizer.get(AbstractClassLoaderValue.java:329)
      at java.base/jdk.internal.loader.AbstractClassLoaderValue.computeIfAbsent(AbstractClassLoaderValue.java:205)
      at java.base/java.lang.reflect.Proxy.getProxyConstructor(Proxy.java:423)
      at java.base/java.lang.reflect.Proxy.newProxyInstance(Proxy.java:1004)
      at hudson.remoting.RemoteInvocationHandler.wrap(RemoteInvocationHandler.java:167)
      at hudson.remoting.Channel.<init>(Channel.java:541)
      at hudson.remoting.ChannelBuilder.build(ChannelBuilder.java:360)
      at hudson.remoting.Launcher.main(Launcher.java:743)
      at hudson.remoting.Launcher.main(Launcher.java:724)
      at hudson.remoting.Launcher.main(Launcher.java:715)
      at hudson.remoting.Launcher.main(Launcher.java:711)
      ... 6 more
      Set build name.
      New build name is '#5 (11.9.6)'
      ERROR: Processing failed due to a bug in the code. Please report this to the issue tracker (https://jenkins.io/redirect/report-an-issue).

       

      I use this version of OpenJ9 from adoptopenjdk.net:

      https://github.com/AdoptOpenJDK/openjdk12-binaries/releases/download/jdk-12%2B33_openj9-0.13.0/OpenJDK12U-jdk_x64_linux_openj9_12_33_openj9-0.13.0.tar.gz

      When I use a nightly build of the Hotspot JVM for Java 12, everything works fine.

        Attachments

          Activity

          Hide
          markewaite Mark Waite added a comment -

          Jenkins will never support Java 12. Current support includes Java 8 and Java 11. The next Java release to be supported will be coordinated by the Platform Special Interest Group and will likely not happen until the next Java LTS release.

          Upcoming plans for Java support are likely to be discussed in one of the April 2020 Platform SIG meetings.

          OpenJ9 is already being used to run a Jenkins agent on s390x running Ubuntu Linux. It is also used to compile and test the Jenkins platform labeler plugin, the git client plugin, and the git plugin. Work is in progress through INFRA-2519 to add s390x infrastructure to ci.jenkins.io. When that is added, then OpenJ9 on JDK 8 and JDK 11 will be available for core PR's and plugin PR's.

          Show
          markewaite Mark Waite added a comment - Jenkins will never support Java 12. Current support includes Java 8 and Java 11. The next Java release to be supported will be coordinated by the Platform Special Interest Group and will likely not happen until the next Java LTS release. Upcoming plans for Java support are likely to be discussed in one of the April 2020 Platform SIG meetings. OpenJ9 is already being used to run a Jenkins agent on s390x running Ubuntu Linux. It is also used to compile and test the Jenkins platform labeler plugin, the git client plugin, and the git plugin. Work is in progress through INFRA-2519 to add s390x infrastructure to ci.jenkins.io. When that is added, then OpenJ9 on JDK 8 and JDK 11 will be available for core PR's and plugin PR's.

            People

            • Assignee:
              Unassigned
              Reporter:
              kaser Christoph Kaser
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: