Amichai Rothman created ARIES-2124:
--------------------------------------

             Summary: 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


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).

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)

Reply via email to