Uploaded image for project: 'Sling'
  1. Sling
  2. SLING-11975

org.apache.sling.launchpad.base.jar fails to load on jdk 11.0.20 because it has malformed Zip64 extra fields

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • Launchpad Base 2.7.2, Launchpad Base 2.7.4, Launchpad Base 2.7.6
    • Launchpad Base 2.7.8
    • Launchpad

    Description

      I ran into an error when trying to run AEM quickstart locally after upgrading my jdk to 11.0.20 (release notes):

      core-libs/java.util.jar
       Improved ZIP64 Extra Field Validation (JDK-8302483 (not public))java.util.zip.ZipFile has been updated to provide additional validation of ZIP64 extra fields when opening a ZIP file. This validation may be disabled by setting the system property jdk.util.zip.disableZip64ExtraFieldValidation to true.

      it manifested for me as an exception in logs/stderr.log :

      20.07.2023 07:59:22.568 *ERROR* [main] Cannot launch: Cannot install jar:file:/opt/code/aem/quickstart/target/author-54594/crx-quickstart/app/cq-quickstart-6.6.0-SNAPSHOT-standalone-quickstart.jar!/resources/org.apache.sling.launchpad.base.jar for use
      20.07.2023 07:59:22.568 *ERROR* [main] java.util.zip.ZipException: Invalid CEN header (invalid zip64 extra data field size)
      20.07.2023 07:59:22.568 *ERROR* [main]  at java.base/java.util.zip.ZipFile$Source.zerror(ZipFile.java:1736)
      20.07.2023 07:59:22.568 *ERROR* [main]  at java.base/java.util.zip.ZipFile$Source.checkExtraFields(ZipFile.java:1254)
      20.07.2023 07:59:22.568 *ERROR* [main]  at java.base/java.util.zip.ZipFile$Source.initCEN(ZipFile.java:1701)
      20.07.2023 07:59:22.568 *ERROR* [main]  at java.base/java.util.zip.ZipFile$Source.<init>(ZipFile.java:1430)
      20.07.2023 07:59:22.568 *ERROR* [main]  at java.base/java.util.zip.ZipFile$Source.get(ZipFile.java:1393)
      20.07.2023 07:59:22.568 *ERROR* [main]  at java.base/java.util.zip.ZipFile$CleanableResource.<init>(ZipFile.java:742)
      20.07.2023 07:59:22.568 *ERROR* [main]  at java.base/java.util.zip.ZipFile$CleanableResource.get(ZipFile.java:859)
      20.07.2023 07:59:22.568 *ERROR* [main]  at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:257)
      20.07.2023 07:59:22.568 *ERROR* [main]  at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:186)
      20.07.2023 07:59:22.568 *ERROR* [main]  at java.base/java.util.jar.JarFile.<init>(JarFile.java:348)
      20.07.2023 07:59:22.568 *ERROR* [main]  at java.base/java.util.jar.JarFile.<init>(JarFile.java:319)
      20.07.2023 07:59:22.568 *ERROR* [main]  at java.base/java.util.jar.JarFile.<init>(JarFile.java:285)
      20.07.2023 07:59:22.568 *ERROR* [main]  at org.apache.sling.commons.osgi.bundleversion.FileBundleVersionInfo.<init>(FileBundleVersionInfo.java:40)
      20.07.2023 07:59:22.568 *ERROR* [main]  at org.apache.sling.launchpad.base.shared.Loader.installLauncherJar(Loader.java:172)
      20.07.2023 07:59:22.568 *ERROR* [main]  at org.apache.sling.launchpad.app.Main.doStart(Main.java:382)
      20.07.2023 07:59:22.568 *ERROR* [main]  at org.apache.sling.launchpad.app.Main.doStart(Main.java:347)
      20.07.2023 07:59:22.568 *ERROR* [main]  at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      20.07.2023 07:59:22.568 *ERROR* [main]  at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      20.07.2023 07:59:22.568 *ERROR* [main]  at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      20.07.2023 07:59:22.568 *ERROR* [main]  at java.base/java.lang.reflect.Method.invoke(Method.java:566)
      20.07.2023 07:59:22.568 *ERROR* [main]  at com.adobe.granite.quickstart.base.impl.exec.Bootstrap.run(Bootstrap.java:107)
      20.07.2023 07:59:22.568 *ERROR* [main]  at com.adobe.granite.quickstart.base.impl.Quickstart.run(Quickstart.java:272)
      20.07.2023 07:59:22.568 *ERROR* [main]  at com.adobe.granite.quickstart.base.impl.Main.<init>(Main.java:918)
      20.07.2023 07:59:22.568 *ERROR* [main]  at com.adobe.granite.quickstart.base.impl.Main.main(Main.java:980)
      MAIN process: shutdown hook
      MAIN process: exiting 

      This appears to be an issue with the org.apache.sling.launchpad.base 7.0.3-2.7.6 jar specifically:

      $ jar -tf ~/.m2/repository/org/apache/sling/org.apache.sling.launchpad.base/7.0.3-2.7.6/org.apache.sling.launchpad.base-7.0.3-2.7.6.jar
      java.util.zip.ZipException: Invalid CEN header (invalid zip64 extra data field size)
      	at java.base/java.util.zip.ZipFile$Source.zerror(ZipFile.java:1736)
      	at java.base/java.util.zip.ZipFile$Source.checkExtraFields(ZipFile.java:1254)
      	at java.base/java.util.zip.ZipFile$Source.initCEN(ZipFile.java:1701)
      	at java.base/java.util.zip.ZipFile$Source.<init>(ZipFile.java:1430)
      	at java.base/java.util.zip.ZipFile$Source.get(ZipFile.java:1393)
      	at java.base/java.util.zip.ZipFile$CleanableResource.<init>(ZipFile.java:742)
      	at java.base/java.util.zip.ZipFile$CleanableResource.get(ZipFile.java:859)
      	at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:257)
      	at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:186)
      	at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:157)
      	at jdk.jartool/sun.tools.jar.Main.list(Main.java:1499)
      	at jdk.jartool/sun.tools.jar.Main.run(Main.java:380)
      	at jdk.jartool/sun.tools.jar.Main.main(Main.java:1680) 

      The issue is that it was created with Bnd 5.1.1 (according to the jar manifest), and the Bnd’s treatment of extra fields was corrected in 5.3 https://github.com/bndtools/bnd/issues/4507#issuecomment-771925051
       I believe a new version of org.apache.sling.launchpad.base should be released after upgrading maven-bundle-plugin to at least 5.1.5 (based on its bndlib dependency being upgraded to 6.20).

      Attachments

        Issue Links

          Activity

            People

              madamcin Mark Adamcin
              madamcin Mark Adamcin
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: