United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: 6612006 Use UPX for Java Kernel .exe file compression
6612006 : Use UPX for Java Kernel .exe file compression

Details
Type:
Enhancement
Submit Date:
2007-10-02
Status:
Closed
Updated Date:
2010-09-17
Project Name:
JDK
Resolved Date:
2008-05-16
Component:
deploy
OS:
windows
Sub-Component:
deployment_toolkit
CPU:
generic
Priority:
P3
Resolution:
Fixed
Affected Versions:
6u5
Fixed Versions:
6u10

Related Reports
Backport:
Relates:
Relates:

Sub Tasks

Description
The "Ultimate Packer for eXecutables" aka "UPX" described at http://upx.sourceforge.net/ offers totally transparent .exe compression such that the compressed .exe expands itself into its process: there are no separate compressed vs uncompressed files, and there is no user interaction involved with the uncompression. The size of the compressed .exe could be significantly less than 1/2 of the original .exe size with no loss of functionality.

Decompression for executables the size of the current Java Kernel online installer is "instantaneous" on a medium speed Pentium 4 computer, adding no noticeable delay to program startup. 

The UPX documentation gives explicit permission to commercial organizations (and anybody else) to distribute compressed binaries without charge, suggesting Sun legal approval to use this utility may be straight forward. 

Use of this utility should be prototyped and tested and legal approval should be gotten to enable use for publicly available version of Java Kernel.

Wider use of UPX for .exe compression should be tempered by the (current) relative difficulty of validating that decompression is faithfully reproducing the original .exe bits. The functionality of the installer is so constrained that proper validation seems straight forward, but this might not be true for other executables (e.g. java.exe) until/unless a tools is made to inspect a process created from a UPX-compressed .exe and confirm the "bits are all correct."

                                    

Comments
SUGGESTED FIX

webrev: 
  http://sa.sfbay.sun.com/projects/deployment_data/6u5/6612006.1/
                                     
2007-11-07
EVALUATION

Conditional use of UPX can be added to the installer build process.
                                     
2007-10-02



Hardware and Software, Engineered to Work Together