RFR: 8350982: -server|-client causes fatal exception on static JDK

Jiangli Zhou jiangli at openjdk.org
Tue Mar 4 01:48:22 UTC 2025


Please review the `Arguments::parse_each_vm_init_arg` change to ignore`-server|-client` options, which avoids unrecognized option error on static JDK. 

On regular JDK, '-server|-client' options are processed/removed from command-line arguments by `CheckJvmType` during `CreateExecutionEnvironment`. That happens before `Arguments::parse_each_vm_init_arg` is called. With jvm.cfg setting, only server vm is known and client is ignored. So specifying '-server' and '-client' in command-line is really a no-op. 

On static JDK, the VM is statically linked with the launcher, and `CreateExecutionEnvironment` & `CheckJvmType` are not called. As the result, `Arguments::parse_each_vm_init_arg` could see `-server|-client` when running on static JDK, if the options are specified in the command line.

-------------

Commit messages:
 - Ignore -server and -client options for static JDK.

Changes: https://git.openjdk.org/jdk/pull/23881/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=23881&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8350982
  Stats: 8 lines in 1 file changed: 8 ins; 0 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/23881.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/23881/head:pull/23881

PR: https://git.openjdk.org/jdk/pull/23881


More information about the hotspot-runtime-dev mailing list