Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
Launchpad Base 2.7.2, Launchpad Base 2.7.4, Launchpad Base 2.7.6
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
- links to