RFR: 8200204: SharedArchiveConfigFile cannot accept output of VM.stringtable

Ioi Lam ioi.lam at oracle.com
Mon Mar 26 04:39:39 UTC 2018


Hi Yasumasa,

The word "VERSION" actually means different things in different places. 
That's the confusing part.

"jcmd <pid> VM.stringtable -verbose" prints out the version of the 
"string listing".

However,

The VERSION in SharedArchiveConfigFile means the "version of the config 
file". The current version is 1.0. The format of this file is:

     VERSION: 1.0
     @SECTION: Symbol
     ....contents of "jcmd <pid> VM.symboltable -verbose" (**)
     @SECTION: String
     ....contents of "jcmd <pid> VM.stringtable -verbose"(**)

(**) The first two lines of jcmd output (pid and VERSION) should be skipped.


So the creation of the config file is somewhat manual -- you need to cut 
out the process id anyway (maybe we should add an option to jcmd to not 
print the process ID).

I think a proper fix should clarify which VERSION we are looking for. We 
need a mechanism to ensure that the @SECTIONs for Symbol and String are 
in the correct format as expected by the JVM.

How about changing the config file format to this:

     VERSION: 1.1
     @SECTION: Symbol
     VERSION: 1.0
     ....contents of "jcmd <pid> VM.symboltable -verbose" (**)
     @SECTION: String
     VERSION: 1.1
     ....contents of "jcmd <pid> VM.stringtable -verbose" (**)


So we have 3 kinds of VERSIONS - for the config file, for the symbol 
section, and for the string section.

What do you think?

Thanks
- Ioi




On 3/25/18 5:46 PM, Yasumasa Suenaga wrote:
> Hi all,
>
> Please review this change.
>
>       JBS: https://bugs.openjdk.java.net/browse/JDK-8200204
>    webrev: http://cr.openjdk.java.net/~ysuenaga/JDK-8200204/webrev.00/
> submit-hs: mach5-one-ysuenaga-JDK-8200204-20180325-1440-16057
>
>
> JDK-8134448 says SharedArchiveConfigFile accepts output of `jcmd <pid> 
> VM.stringtable -verbose` , but it could not because JDK-8059510 has 
> changed version number to 1.1 .
>
> I think we should accept version 1.1 stringtable.
>
>
> Thanks,
>
> Yasumasa



More information about the serviceability-dev mailing list