JDK-6601650 : Remove lib/zi from Kernel core
  • Type: Bug
  • Component: deploy
  • Sub-Component: deployment_toolkit
  • Affected Version: 6u5
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2007-09-06
  • Updated: 2010-09-08
  • Resolved: 2008-04-17
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
6u10 b05Fixed
The fix for 6583152 involved moving the contents of lib/zi into the jkernel core.  While this solved the problem, it also added about 100K to the Kernel footprint.  We need to find a solution which allows us to move lib/zi out of the kernel core without regressing 6583152.

EVALUATION The problem turned out to be unpack200. During unpacking, it creates a zip file. Initializing the ZipEntries requires the time libraries (due to setTime()), which in turn means lib/zi has to be present. The fix was to delegate all unpacking to unpack200.exe, rather than the Java unpack200 APIs. We tried to be a bit smarter and only delegate to the exe until all code required for the Java unpacker was present, but it turned out to be very complex and error prone, so for the time being we are going with the simple and safe solution.