Please review the following fix to JDK-8133206:

 - bug: https://bugs.openjdk.java.net/browse/JDK-8133206
- webrev for jdk9: http://cr.openjdk.java.net/~akasko/jdk9/8133206/webrev.00/

This fix is a forward-port of the patch to jdk7u created by Nikolay Gorshkov:

- webrev for jdk7u: http://cr.openjdk.java.net/~nikgor/8133206/jdk7u-dev/webrev.01/ - jdk7u review thread with the issue details: http://mail.openjdk.java.net/pipermail/jdk7u-dev/2015-October/010420.html - the same thread on core-libs-dev: http://mail.openjdk.java.net/pipermail/core-libs-dev/2015-October/035884.html

Forward-port to jdk9 is almost the same as original patch (with changed paths), one additional inflate(...) call is changed in zip_util.c .

jdk9 with this patch passes all the regression tests from java/util/jar, java/util/zip, tools/jar and tools/pack200.

I created a jtreg reproducer that works with jdk7u and jdk9:

 - web link: http://cr.openjdk.java.net/~akasko/jdk9/8133206/reproducer/
 - download: http://cr.openjdk.java.net/~akasko/jdk9/8133206/reproducer.zip

This reproducer is Linux-only, slow (takes more than a minute) and requires Valgrind and zlib-debuginfo (if system zlib is used). It runs java.util.zip.Inflater under the Memcheck multiple times and parses the output to compare the number of zlib-specific memory allocations. I am not sure whether such reproducer should be included into the jdk regression tests tree, so publishing it as a standalone jtreg test (not a webrev).

Please let me know if I need to create a new bug for jdk9 (in addition to JDK-8133206).

--
-Alex

Reply via email to