[ 
https://issues.apache.org/jira/browse/SLING-11975?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17746581#comment-17746581
 ] 

Mark Adamcin commented on SLING-11975:
--------------------------------------

For future reference, I narrowed down the affected artifact versions to just 
the three listed. Using zipinfo, it looks like the malformed entries are the 
ones embedded from org.apache.felix.framework. If the upstream zip entries 
defined a zip64 extra field like a last modified timestamp, the resulting 
embedded entry had a malformed zip64 extra field.
 * 7.0.1-2.7.2
 * 7.0.1-2.7.4
 * 7.0.3-2.7.6

> org.apache.sling.launchpad.base.jar fails to load on jdk 11.0.20 because it 
> has malformed Zip64 extra fields
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: SLING-11975
>                 URL: https://issues.apache.org/jira/browse/SLING-11975
>             Project: Sling
>          Issue Type: Bug
>          Components: Launchpad
>    Affects Versions: Launchpad Base 2.7.2, Launchpad Base 2.7.4, Launchpad 
> Base 2.7.6
>            Reporter: Mark Adamcin
>            Assignee: Mark Adamcin
>            Priority: Critical
>              Labels: has-pr
>             Fix For: Launchpad Base 2.7.8
>
>
> I ran into an error when trying to run AEM quickstart locally after upgrading 
> my jdk to 11.0.20 ([release 
> notes|https://www.oracle.com/java/technologies/javase/11-0-20-relnotes.html]):
> {quote}core-libs/java.util.jar
> *[➜|https://www.oracle.com/java/technologies/javase/11-0-20-relnotes.html#JDK-8302483]*
>  *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{}}}.{quote}
> it manifested for me as an exception in {{logs/stderr.log}} :
> {code:java}
> 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 {code}
> This appears to be an issue with the org.apache.sling.launchpad.base 
> 7.0.3-2.7.6 jar specifically:
> {code:java}
> $ 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) {code}
> 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|https://github.com/apache/felix-dev/commit/b29ea9a5d6dc8662dc0c960eff199c18fcd6b5e4]).



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to