JDK-8009768 : -XX:MaxGCPauseMillis value set in control panel is ignored by javaws
  • Type: Bug
  • Component: deploy
  • Sub-Component: webstart
  • Affected Version: 7u21
  • Priority: P4
  • Status: Closed
  • Resolution: Fixed
  • Submitted: 2013-03-11
  • Updated: 2013-08-09
  • Resolved: 2013-04-02
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.
7u40 b19Fixed 8Fixed
Whatever user sets in control panel, the value of the property is always = 1000 in the JVM runnins java webstart application
Note that this fix introduces P2 regression (8015443) and this change has been reverted. Also I can't reproduce initial problem with latest JDK8 (secure property in JNLP overrides the same property in JCP). If the issue still exists, please file new bug.

Not critical for 7u25, target to 7uX.

Justification for deferral: Not a regression in release. Root cause is value is set differently in two different places, which leads to undefined behavior.

I've sent new webrev with the following fix: -- if we have 2 args contradicting each other, we need to check if it's secure vm arg. -- if it's secure arg - the arg from .jnlp will override one from control panel. if it's not secure - we will use the arg from control panel.

I sent a webrev for the fix is that we should check the value of "java-vm-args" (from .jnlp), and if it's null - we try to use value from "runtime parameters" (control panel).

You already specified vm args in your jnlp file: java-vm-args="-XX:MaxGCPauseMillis=1000". What's the behavior you expect to see? Currently, we always use vm args from .jnlp (even if it's null - I'm not sure it's correct). So, for now it always overwrites vm args that we can add in java console.