[ https://issues.apache.org/jira/browse/ARIES-2124?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17772234#comment-17772234 ]
Amichai Rothman commented on ARIES-2124: ---------------------------------------- For example, here's an exception I see where it seems to be messing with karaf feature deployer: java.util.zip.ZipException: Exception in opening zip file: /opt/myapp/apache-karaf-4.4.4/data/cache/org.eclipse.osgi/279/0/.cp/lib/geronimo-osgi-locator.jar at org.eclipse.osgi.framework.util.SecureAction.getZipFile(SecureAction.java:356) ~[?:?] at org.eclipse.osgi.storage.bundlefile.ZipBundleFile.doOpen(ZipBundleFile.java:51) ~[?:?] at org.eclipse.osgi.storage.bundlefile.CloseableBundleFile.internalOpen(CloseableBundleFile.java:140) ~[?:?] at org.eclipse.osgi.storage.bundlefile.CloseableBundleFile.lockOpen(CloseableBundleFile.java:78) ~[?:?] at org.eclipse.osgi.storage.bundlefile.CloseableBundleFile.getEntry(CloseableBundleFile.java:274) ~[?:?] at org.eclipse.osgi.internal.loader.classpath.ClasspathEntry.loadManifest(ClasspathEntry.java:230) ~[?:?] at org.eclipse.osgi.internal.loader.classpath.ClasspathEntry.<init>(ClasspathEntry.java:77) ~[?:?] at org.eclipse.osgi.internal.loader.ModuleClassLoader.createClassPathEntry(ModuleClassLoader.java:267) ~[?:?] at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.createClassPathEntry(ClasspathManager.java:343) ~[?:?] at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.getClasspath(ClasspathManager.java:295) ~[?:?] at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.addStandardClassPathEntry(ClasspathManager.java:213) ~[?:?] at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.addClassPathEntry(ClasspathManager.java:205) ~[?:?] at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findClassPathEntry(ClasspathManager.java:188) ~[?:?] at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.buildClasspath(ClasspathManager.java:166) ~[?:?] at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.<init>(ClasspathManager.java:94) ~[?:?] at org.eclipse.osgi.internal.loader.EquinoxClassLoader.<init>(EquinoxClassLoader.java:54) ~[?:?] at org.eclipse.osgi.internal.loader.BundleLoader.createClassLoaderPrivledged(BundleLoader.java:345) ~[?:?] at org.eclipse.osgi.internal.loader.BundleLoader.getModuleClassLoader(BundleLoader.java:262) ~[?:?] at org.eclipse.osgi.internal.loader.BundleLoader.findEntries(BundleLoader.java:888) ~[?:?] at org.eclipse.osgi.container.ModuleWiring.findEntries(ModuleWiring.java:285) ~[?:?] at org.eclipse.osgi.storage.ManifestLocalization.findResource(ManifestLocalization.java:234) ~[?:?] at org.eclipse.osgi.storage.ManifestLocalization.lookupResourceBundle(ManifestLocalization.java:165) ~[?:?] at org.eclipse.osgi.storage.ManifestLocalization.getResourceBundle(ManifestLocalization.java:136) ~[?:?] at org.eclipse.osgi.storage.ManifestLocalization.getHeaders(ManifestLocalization.java:78) ~[?:?] at org.eclipse.osgi.storage.BundleInfo$Generation.getHeaders(BundleInfo.java:190) ~[?:?] at org.eclipse.osgi.internal.framework.EquinoxBundle.privGetHeaders(EquinoxBundle.java:520) ~[?:?] at org.eclipse.osgi.internal.framework.EquinoxBundle.getHeaders(EquinoxBundle.java:515) ~[?:?] at org.eclipse.osgi.internal.framework.EquinoxBundle.getHeaders(EquinoxBundle.java:509) ~[?:?] at org.apache.karaf.features.internal.service.Deployer.lambda$removeFragmentsAndBundlesInState$2(Deployer.java:1304) ~[?:?] at java.util.Collection.removeIf(Collection.java:544) ~[?:?] at org.apache.karaf.features.internal.service.Deployer.removeFragmentsAndBundlesInState(Deployer.java:1303) ~[?:?] at org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:1031) ~[?:?] at org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1069) ~[?:?] at org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:1004) ~[?:?] at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?] at java.lang.Thread.run(Thread.java:829) [?:?] Caused by: java.util.zip.ZipException: Invalid CEN header (invalid extra data field size for tag: 0xbfef at 55) at java.util.zip.ZipFile$Source.zerror(ZipFile.java:1769) ~[?:?] at java.util.zip.ZipFile$Source.checkExtraFields(ZipFile.java:1274) ~[?:?] at java.util.zip.ZipFile$Source.initCEN(ZipFile.java:1734) ~[?:?] at java.util.zip.ZipFile$Source.<init>(ZipFile.java:1463) ~[?:?] at java.util.zip.ZipFile$Source.get(ZipFile.java:1426) ~[?:?] at java.util.zip.ZipFile$CleanableResource.<init>(ZipFile.java:742) ~[?:?] at java.util.zip.ZipFile$CleanableResource.get(ZipFile.java:859) ~[?:?] at java.util.zip.ZipFile.<init>(ZipFile.java:257) ~[?:?] at java.util.zip.ZipFile.<init>(ZipFile.java:186) ~[?:?] at java.util.zip.ZipFile.<init>(ZipFile.java:200) ~[?:?] at org.eclipse.osgi.framework.util.SecureAction.getZipFile(SecureAction.java:342) ~[?:?] ... 37 more > Embedded jar file is corrupt > ---------------------------- > > Key: ARIES-2124 > URL: https://issues.apache.org/jira/browse/ARIES-2124 > Project: Aries > Issue Type: Bug > Components: jax-rs-whiteboard > Affects Versions: jax-rs-whiteboard-2.0.2 > Reporter: Amichai Rothman > Priority: Critical > > The aries-jax-rs-whiteboard karaf feature requires the bundle > mvn:org.apache.aries.spec/org.apache.aries.javax.jax.rs-api/1.0.1. This > bundle, in turn, contains an embedded jar and Bundle-ClassPath = > .,lib/geronimo-osgi-locator.jar. > This embedded jar is corrupt: > {quote} > $ unzip -t lib/geronimo-osgi-locator.jar > Archive: lib/geronimo-osgi-locator.jar > testing: META-INF/ OK > testing: META-INF/MANIFEST.MF bad extra-field entry: > EF block length (61373 bytes) exceeds remaining EF data (4 bytes) > $jar tf lib/geronimo-osgi-locator.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) > {quote} > Even worse, other mechanisms that scan for resources within bundles balk at > this (with the same ZipException) when scanning this bundle even if they have > nothing to do with the jaxrs whiteboard. So this issue also breaks various > unrelated application components. > Note that the ZipFile exception may be related to changes in the JDK > (11.0.20?) that added stricter validity checks on zip files, however even > after and additional fix in JDK-8313765, using 11.0.20.1, this still occurs - > presumably because the file is truly corrupt (as shown by the unzip/jar > tools). Also setting the system property > -Djdk.util.zip.disableZip64ExtraFieldValidation=true (as referenced in some > of the linked JDK issues) doesn't help in this case. > btw I couldn't find where the source for org.apache.aries.javax.jax.rs-api > is, and maven central has a few newer releases up to 1.0.4, but all contain > the same embedded corrupt jar. Further, I'm not sure where the corrupt > geronimo-osgi-locator.jar came from. Maven central has a > geronimo-osgi-locator-1.0.jar and a geronimo-osgi-locator-1.1.jar, neither of > which are corrupt. -- This message was sent by Atlassian Jira (v8.20.10#820010)