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

Java 11 Docker Image: Invalid Manifest format when loading Git Client Plugin 2.7.2, JDK 11ea+18 is required

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Critical Critical
    • docker
    • Java 11 preview

      When running on Java 11, some plugins fail to startup with the following error:

      INFO: Winstone Servlet Engine v4.0 running: controlPort=disabled
      Jun 11, 2018 10:01:07 PM jenkins.InitReactorRunner$1 onAttained
      INFO: Started initialization
      Jun 11, 2018 10:01:07 PM jenkins.InitReactorRunner$1 onTaskFailed
      SEVERE: Failed Inspecting plugin /Users/nenashev/Documents/jenkins/test/java10/work/plugins/git-client.jpi
      java.io.IOException: invalid manifest format
      	at java.base/java.util.jar.Manifest.read(Manifest.java:223)
      	at java.base/java.util.jar.Manifest.<init>(Manifest.java:69)
      	at java.base/java.util.jar.JarFile.getManifestFromReference(JarFile.java:416)
      	at java.base/java.util.jar.JarFile.getManifest(JarFile.java:402)
      	at jenkins.util.AntClassLoader.addPathFile(AntClassLoader.java:504)
      	at jenkins.util.AntWithFindResourceClassLoader.addPathFiles(AntWithFindResourceClassLoader.java:35)
      	at hudson.ClassicPluginStrategy.createClassLoader(ClassicPluginStrategy.java:317)
      	at hudson.ClassicPluginStrategy.createPluginWrapper(ClassicPluginStrategy.java:258)
      	at hudson.PluginManager$1$3$1.run(PluginManager.java:403)
      	at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:169)
      	at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:296)
      	at jenkins.model.Jenkins$5.runTask(Jenkins.java:1068)
      	at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:214)
      	at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)
      	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
      	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
      	at java.base/java.lang.Thread.run(Thread.java:832)
      
      
      

          [JENKINS-51871] Java 11 Docker Image: Invalid Manifest format when loading Git Client Plugin 2.7.2, JDK 11ea+18 is required

          Oleg Nenashev created issue -
          Oleg Nenashev made changes -
          Epic Link New: JENKINS-51805 [ 191255 ]
          Oleg Nenashev made changes -
          Component/s New: git-plugin [ 15543 ]
          Oleg Nenashev made changes -
          Attachment New: Screen Shot 2018-06-11 at 22.23.59.png [ 42831 ]

          Oleg Nenashev added a comment -

          It seems to be a Git-specific issue. Many other plugins install and work successfully

          Oleg Nenashev added a comment - It seems to be a Git-specific issue. Many other plugins install and work successfully

          Oleg Nenashev added a comment -

          CC markewaite just in case he knows the cause

          Oleg Nenashev added a comment - CC markewaite just in case he knows the cause

          Mark Waite added a comment -

          I don't know the cause. The git client plugin being used in your test might be git client plugin 2.7.x. That version of git client plugin intentionally bundled JGit 4.5.4 in order to retain Java 7 compatibility.

          You might try git client plugin 3.0.0-beta3 to see if it shows the same failure mode. It bundles JGit 4.11.0 and requires Jenkins 2.60.3 or later.

          Mark Waite added a comment - I don't know the cause. The git client plugin being used in your test might be git client plugin 2.7.x. That version of git client plugin intentionally bundled JGit 4.5.4 in order to retain Java 7 compatibility. You might try git client plugin 3.0.0-beta3 to see if it shows the same failure mode. It bundles JGit 4.11.0 and requires Jenkins 2.60.3 or later.
          Mark Waite made changes -
          Component/s New: git-client-plugin [ 17423 ]
          Component/s Original: git-plugin [ 15543 ]

          Mark Waite added a comment -

          Can you provide the command line you're using to start Jenkins with JDK 11?

          I see in "end of the road for Java EE" and in Java JEP 320 that the java.xml.bind module is no longer available, but don't immediately see how to handle that in Jenkins.

          Mark Waite added a comment - Can you provide the command line you're using to start Jenkins with JDK 11? I see in " end of the road for Java EE " and in Java JEP 320 that the java.xml.bind module is no longer available, but don't immediately see how to handle that in Jenkins.

          Oleg Nenashev added a comment -

          markewaite I just dropped 3 libs into the exploded WAR in JENKINS_HOME/war/WEB-INF/lib , it was enough to get it running

          Oleg Nenashev added a comment - markewaite I just dropped 3 libs into the exploded WAR in JENKINS_HOME/war/WEB-INF/lib , it was enough to get it running

            oleg_nenashev Oleg Nenashev
            oleg_nenashev Oleg Nenashev
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: