RFR JDK-8186464: ZipFile cannot read some InfoZip ZIP64 zip files

Martin Buchholz martinrb at google.com
Tue Aug 22 19:17:48 UTC 2017


On Mon, Aug 21, 2017 at 6:35 PM, Xueming Shen <xueming.shen at oracle.com>
wrote:

>
> I have manually verified the change does fix the problem (either use the
> jar tf or
> java jdk.nio.zipfs.ZipInfo to check the offending zip file). Given the
> nature of the
> test case, I'm hesitated to add this test as a unit/regression into the
> repo for now.
>

Testability is one of the serious problems with ZIP64, since even in 2017
it's still unreasonable to create 5GB files in a test.
I think we should have a standard way to mark and optionally run expensive
tests, as we do in j.u.concurrent with -Djsr166.expensiveTests=true.  But
we're not going to fix that here.

There is one giant benefit of zip's annoying creation of a ZIP64 END
header.  It allows us to write tests that aren't too expensive (but they do
rely on zip being available on the test machine).

This command:
echo hello | zip infozip.zip -
creates a very small zip file with a ZIP64 END header.  For bonus points,
check that everything still works if you prepend some data, with or without
running "zip -A" on it.  We should do this.


More information about the core-libs-dev mailing list