RFR: 8200204: SharedArchiveConfigFile cannot accept output of VM.stringtable (original) (raw)
Ioi Lam ioi.lam at oracle.com
Mon Mar 26 04:39:39 UTC 2018
- Previous message: RFR: 8200204: SharedArchiveConfigFile cannot accept output of VM.stringtable
- Next message: RFR: 8200204: SharedArchiveConfigFile cannot accept output of VM.stringtable
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hi Yasumasa,
The word "VERSION" actually means different things in different places. That's the confusing part.
"jcmd 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 VM.symboltable -verbose" () @SECTION: String ....contents of "jcmd 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 VM.symboltable -verbose" () @SECTION: String VERSION: 1.1 ....contents of "jcmd 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
- Previous message: RFR: 8200204: SharedArchiveConfigFile cannot accept output of VM.stringtable
- Next message: RFR: 8200204: SharedArchiveConfigFile cannot accept output of VM.stringtable
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]