Request for review 6924920: Class Data Sharing limit on the java version string can create failures: JVM Ident field too long

Coleen Phillimore coleen.phillimore at oracle.com
Thu Nov 8 11:48:01 PST 2012


Harold,
I looked at this once and thought it was okay, but now I don't think it 
is.   I think you want fail_stop() but just not to print the string that 
isn't initialized.
fail_continue() is used when reading the archive.  It allows the vm to 
continue without using the shared archive.   But when you're dumping it, 
if the string is truncated, it won't create a usable shared archive 
anyway.   The fail_continue() closes the CDS archive file.

If you want to have a truncated string work, you have issue the 
fail_continue() message as a warning only.  Then change the code for 
Xshare:on that validates that the versions match to truncate the 
current_version() too.

I suggest leaving it as fail_stop() but fixing the message to not print 
uninitialized data.

Coleen

On 11/8/2012 1:23 PM, harold seigel wrote:
> Please review the following change.
>
> Summary: The problem was fixed by truncating the JVM ident to 
> JVM_IDENT_MAX and calling method fail_continue() instead of fail_stop().
>
> Open webrev at http://cr.openjdk.java.net/~hseigel/bug_6924920/ 
> <http://cr.openjdk.java.net/%7Ehseigel/bug_6924920/>
>
> Bug link at http://bugs.sun.com/view_bug.do?bug_id=6924920
>
> The changes were tested with JPRT, JCK, and by using a version string 
> that exceeded 256 characters.
>
> Thanks, Harold


More information about the hotspot-runtime-dev mailing list