On 22/02/2013 22:03, Martin Buchholz wrote:
Hi Alan, Xueming, build-ers,

I'd like you to do a code review.

I've finally figured out why fastdebug jdk occasionally gives InternalError in the zip code.

Exception in thread "main" java.lang.InternalError
at java.util.zip.Inflater.init(Native Method)
at java.util.zip.Inflater.<init>(Inflater.java:101)
at java.util.zip.ZipFile.getInflater(ZipFile.java:448)

It's because:
- jdk changed structure size of z_stream struct
- making jdk zlib incompatible with stock zlib
- as a result of which, it is imperative to keep jdk zlib sequestered from system zlib
- so need to not export zlib symbols from libzip.so
- so need to tell makefiles to use linker script unconditionally

http://cr.openjdk.java.net/~martin/webrevs/openjdk8/hide-zlib/ <http://cr.openjdk.java.net/%7Emartin/webrevs/openjdk8/hide-zlib/>

I see Sherman has created a bug for this but it turns out that someone else running with fastdebug ran into issues too:

8006319: fastdebug libzip.so is linked with global symbols, allowing symbols to be overridden

I see you are proposing to update make/java/zip/Makefile so that is the old build. Looking at makefiles/CompileNativeLibraries.gmk (new build) then it looks to me that it is using the map file. I haven't checking the symbols in a fast debug build to double check so I'm curious if you've seen this with a recent (new) build.

-Alan.

Reply via email to