JDK-8210591 : Verify default CDS archive is included in JDK RE bundle
  • Type: Sub-task
  • Component: infrastructure
  • Sub-Component: release_eng
  • Affected Version: 12
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2018-09-11
  • Updated: 2019-01-21
  • Resolved: 2019-01-21
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 12
12Fixed
Related Reports
Relates :  
Description
This subtask is created as a placeholder. After the changes for the default CDS archive is integrated, the build process will automatically copy the generated CDS archive into the lib/ or bin/ directory (depending on the platform). Most likely no additional RE work will be needed to include the default archive in the JDK RE bundle. To verify the default CDS archive is included in the RE bundle:

- unzip the bundle and make sure a .jsa file is included 
- run the binary using 'java -version' and verify 'sharing' is in the version string
Comments
[~skonchad]Thank you so much!
21-01-2019

[~jiangli] This task is completed
21-01-2019

[~skonchad] Just want to check with you to see if this sub-task can be completed? Thanks!
17-01-2019

I've verified the downloaded OpenJDK 12 bundles (all platforms, please see above comments) and confirmed that they all contained the default CDS archive. To close this subtask, the only remaining task is to verify that the JDK installer (Windows only?) does not overwrite the default CDS archive, based on discussions with Jeannette. I'm assigning it to [~skonchad] so he can assign the task appropriately.
17-12-2018

[~mseledtsov]Please let me know if you or someone else in SQE should be assigned with this task. We are trying to wrapping this up. Thanks!
17-12-2018

One important note: When running "java -version" you will almost always have 'sharing' in version string (indicating that shared archive is in use by VM); however, on rare occasion the archive will fail to map to a designated area. This happens when desired address range designated for the shared archive is already reserved (by shared library, heap area, or more). This effect is random in nature, and can be amplified by system security mechanisms (such as ASLR - address space layout randomization). Solution: run "java -version" multiple times, and you should almost certainly see sharing in one of them. If you run say 10 times, and do not see 'sharing', this should be a concern and warrant further investigation.
08-11-2018

I downloaded the b18 Alpine Linux���/���x64 binary, openjdk-12-ea+18_linux-x64-musl_bin.tar today (11/6/2018) and checked again. The b18 Alpine Linux���/���x64 binary contains the shared archive. :) jianzhou-mac:tmp jianzhou$ find . | grep jsa ./jdk-12/lib/server/classes.jsa
06-11-2018

For the Alpine Linux���/���x64 binary, however there is no classes.jsa being included. $ ls -ltr total 43736 -rw-r--r--@ 1 jianzhou staff 1322 Oct 4 19:41 Xusage.txt -rw-r--r--@ 1 jianzhou staff 22370368 Oct 4 19:41 libjvm.so -rw-r--r--@ 1 jianzhou staff 13240 Oct 4 19:41 libjsig.so No classes.jsa in lib/server directory.
27-10-2018

I downloaded the latest (2018/10/11) Linux���/���x64 and macos/x64 b15 builds from openjdk. Both binaries contain the default CDS archive. Linux x64: jdk-12% bin/java -version openjdk version "12-ea" 2019-03-19 OpenJDK Runtime Environment (build 12-ea+15) OpenJDK 64-Bit Server VM (build 12-ea+15, mixed mode, sharing) jdk-12% find . | grep jsa ./lib/server/classes.jsa macos x64: $ bin/java -version openjdk version "12-ea" 2019-03-19 OpenJDK Runtime Environment (build 12-ea+15) OpenJDK 64-Bit Server VM (build 12-ea+15, mixed mode, sharing) $ find . | grep jsa ./lib/server/classes.jsa I have also downloaded and verified the Windows b17 binary and verified that the shared archive is included today (10/26/18): C:\tmp\openjdk-12-ea+17_windows-x64_bin\jdk-12\bin>java -version openjdk version "12-ea" 2019-03-19 OpenJDK Runtime Environment (build 12-ea+17) OpenJDK 64-Bit Server VM (build 12-ea+17, mixed mode, sharing) (There seems to be an inconsistency with the version id for the idk 12 Windows EA build. The download page indicates it is b16, however the version string above says 12-ea+17).
27-10-2018

JDK-8202951 task seems to be only about adding extra bits to JDK image. Installer part of the build takes JDK image as input and doesn't add anything extra. So this task looks like out of scope of our responsibilities.
12-10-2018