JDK-8016770 : Regression: JRE 6 installer for Windows OS cannot be built after the fix for 8004711
  • Type: Bug
  • Component: install
  • Sub-Component: install
  • Affected Version: 6-pool
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • Submitted: 2013-06-17
  • Updated: 2013-07-18
  • Resolved: 2013-06-19
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.
JDK 6
6u60 b03Fixed
Related Reports
Relates :  
Description
Trying to create the installer of JDK 6 for Windows OS from the latest source code located in "jdk6u-dev" repository, it was found out that the installer of JRE cannot be built after the changes introduced with the fix for JDK-8004711. A trailing part of the build log which contains the error of building process is provided below.

-----------End of the build log:----------
getBootClassPathEntryForResource(java/lang/Object.class) == null
[Loaded sun.kernel.BeansTest from file:/C:/Workspace/Build/6u-dev/tmp/kernel/SplitJRE.jar]
Entering getBootClassPathEntryForResource(java/lang/Throwable.class)
getBootClassPathEntryForResource(java/lang/Throwable.class) == null
Entering getBootClassPathEntryForResource(java/lang/ClassNotFoundException.class)
getBootClassPathEntryForResource(java/lang/ClassNotFoundException.class) == null
Entering getBootClassPathEntryForResource(java/lang/NoClassDefFoundError.class)
getBootClassPathEntryForResource(java/lang/NoClassDefFoundError.class) == null
Entering getBootClassPathEntryForResource(java/lang/Exception.class)
getBootClassPathEntryForResource(java/lang/Exception.class) == null
Entering getBootClassPathEntryForResource(java/lang/Class.class)
getBootClassPathEntryForResource(java/lang/Class.class) == null
Entering getBootClassPathEntryForResource(java/awt/Component.class)
getBootClassPathEntryForResource(java/awt/Component.class) == null
Entering getBootClassPathEntryForResource(sun/awt/resources/awt.class)
getBootClassPathEntryForResource(sun/awt/resources/awt.class) == null
Entering getBootClassPathEntryForResource(java/beans/Introspector.class)
getBootClassPathEntryForResource(java/beans/Introspector.class) == null
Entering getBootClassPathEntryForResource(java/awt/ComponentBeanInfo.class)
getBootClassPathEntryForResource(java/awt/ComponentBeanInfo.class) == null
Entering getBootClassPathEntryForResource(java/awt/ComponentBeanInfo.class)
getBootClassPathEntryForResource(java/awt/ComponentBeanInfo.class) == null
Entering getBootClassPathEntryForResource(java/awt/ComponentBeanInfo.class)
getBootClassPathEntryForResource(java/awt/ComponentBeanInfo.class) == null
Entering getBootClassPathEntryForResource(java/awt/ComponentBeanInfo.class)
getBootClassPathEntryForResource(java/awt/ComponentBeanInfo.class) == null
Entering getBootClassPathEntryForResource(java/awt/ComponentBeanInfo.class)
getBootClassPathEntryForResource(java/awt/ComponentBeanInfo.class) == null
Entering getBootClassPathEntryForResource(java/awt/ComponentBeanInfo.class)
getBootClassPathEntryForResource(java/awt/ComponentBeanInfo.class) == null
Entering getBootClassPathEntryForResource(sun/beans/infos/ComponentBeanInfo.class)
getBootClassPathEntryForResource(sun/beans/infos/ComponentBeanInfo.class) == null
Entering getBootClassPathEntryForResource(java/lang/ObjectBeanInfo.class)
getBootClassPathEntryForResource(java/lang/ObjectBeanInfo.class) == null
Entering getBootClassPathEntryForResource(java/lang/ObjectBeanInfo.class)
getBootClassPathEntryForResource(java/lang/ObjectBeanInfo.class) == null
Entering getBootClassPathEntryForResource(java/lang/ObjectBeanInfo.class)
getBootClassPathEntryForResource(java/lang/ObjectBeanInfo.class) == null
Entering getBootClassPathEntryForResource(java/lang/ObjectBeanInfo.class)
getBootClassPathEntryForResource(java/lang/ObjectBeanInfo.class) == null
Entering getBootClassPathEntryForResource(java/lang/ObjectBeanInfo.class)
getBootClassPathEntryForResource(java/lang/ObjectBeanInfo.class) == null
Entering getBootClassPathEntryForResource(java/lang/ObjectBeanInfo.class)
getBootClassPathEntryForResource(java/lang/ObjectBeanInfo.class) == null
neededToRun: 573 classes
Packing C:\Workspace\Build\6u-dev\tmp\kernel\pack\java_beans_core.jar...
Exec: C:\Workspace\Build\6u-dev\j2sdk-image\bin\pack200 -J-mx256m --no-gzip -f C:\WORKSP~1\Build\6u-dev\tmp\kernel\pack.properties C:\Workspace\Build\6u-dev\tmp\kernel\pack\java_beans_core.pack C:\Workspace\Build\6u-dev\tmp\kernel\pack\java_beans_core.jar
Creating java_beans...
Packing C:\Workspace\Build\6u-dev\tmp\kernel\pack\java_beans.jar...
Exec: C:\Workspace\Build\6u-dev\j2sdk-image\bin\pack200 -J-mx256m --no-gzip -f C:\WORKSP~1\Build\6u-dev\tmp\kernel\pack.properties C:\Workspace\Build\6u-dev\tmp\kernel\pack\java_beans.pack C:\Workspace\Build\6u-dev\tmp\kernel\pack\java_beans.jar
Creating javax_sound...
Packing C:\Workspace\Build\6u-dev\tmp\kernel\pack\javax_sound.jar...
Exec: C:\Workspace\Build\6u-dev\j2sdk-image\bin\pack200 -J-mx256m --no-gzip -f C:\WORKSP~1\Build\6u-dev\tmp\kernel\pack.properties C:\Workspace\Build\6u-dev\tmp\kernel\pack\javax_sound.pack C:\Workspace\Build\6u-dev\tmp\kernel\pack\javax_sound.jar
Creating soundbanks...
Exception in thread "main" java.util.zip.ZipException: ZIP file must have at least one entry
	at java.util.zip.ZipOutputStream.finish(ZipOutputStream.java:304)
	at java.util.zip.DeflaterOutputStream.close(DeflaterOutputStream.java:140)
	at java.util.zip.ZipOutputStream.close(ZipOutputStream.java:321)
	at sun.kernel.Bundle.finish(Bundle.java:269)
	at sun.kernel.SplitJRE.createBundle(SplitJRE.java:1009)
	at sun.kernel.SplitJRE.createBundles(SplitJRE.java:1340)
	at sun.kernel.SplitJRE.main(SplitJRE.java:1586)
gnumake[7]: *** [kernel-image] Error 1
gnumake[7]: Leaving directory `C:/Workspace/jdk6u-dev/install/make/installer/bundles/windows/ishield/kernel'
gnumake[6]: *** [do_zip] Error 2
gnumake[6]: Leaving directory `C:/Workspace/jdk6u-dev/install/make/installer/bundles/windows/ishield/jre'
gnumake[5]: *** [all] Error 1
gnumake[5]: Leaving directory `C:/Workspace/jdk6u-dev/install/make/installer/bundles/windows/ishield'
gnumake[4]: *** [all] Error 1
gnumake[4]: Leaving directory `C:/Workspace/jdk6u-dev/install/make/installer/bundles/windows'
gnumake[3]: *** [all] Error 2
gnumake[3]: Leaving directory `C:/Workspace/jdk6u-dev/install/make/installer/bundles'
gnumake[2]: *** [all] Error 1
gnumake[2]: Leaving directory `C:/Workspace/jdk6u-dev/install/make/installer'
gnumake[1]: *** [all] Error 1
gnumake[1]: Leaving directory `C:/Workspace/jdk6u-dev/install/make'
gnumake: *** [install-build] Error 2
Comments
SQE is OK with this fix
24-06-2013

this fix depends on another fix (JDK-8004711), SQE requetsed PIT testing for JDK-8004711. Approval for this bug fix depends on PIT testing results for JDK-8004711
20-06-2013

Justification (for 8016770): https://jbs.oracle.com/bugs/browse/JDK-8004711 https://jbs.oracle.com/bugs/browse/JDK-8016770 - regression due to JDK-8004711 Need to be included as a pair in 6u60 for us to proceed/pending critical-approval. Status: Fix for 8004711 + 8016770 code review complete and in 6u-dev. Fix for 8016770 in 6u60 PIT build provided to SQE with both fixes Pending SQE decision/approval and critical-approval decision.
20-06-2013

The reason of this problem consists of the following parts. - The fix for JDK-8004711 removed the binary file "j2se/src/share/lib/audio/soundbank.gm" from the repository and eliminated creation of the directory "lib/audio", since it contained just one file "soundbank.gm" for all supported platforms: MS Windows OS, Linux OS, Oracle Solaris OS. - One dependency on the removed directory "lib/audio" remained in "deploy" workspace. It is a declaration of the kernel bundle "soundbanks" in the XML file "deploy/src/kernel/share/classes/sun/kernel/bundles.xml". Looking at the error log specified in the description of the bug it can be seen that the makefile target "kernel-image" fails exactly during creation of "soundbanks" bundle, because a corresponding ZIP archive cannot be created from an absent directory "lib/audio". This bug can be resolved by removal of the remaining dependency on "lib/audio" directory, which is "soundbanks" bundle tag, from the the file "deploy/src/kernel/share/classes/sun/kernel/bundles.xml".
18-06-2013