JDK-8067236 : DRS with non-force version run rule can block when it should not.
  • Type: Bug
  • Component: deploy
  • Sub-Component: plugin
  • Affected Version: 8u40
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • Submitted: 2014-12-11
  • Updated: 2015-09-29
  • Resolved: 2015-01-13
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.
JDK 7 JDK 8 JDK 9
7u60Fixed 8u40 b21Fixed 9Fixed
Description
In the case of a non-jnlp applet that have java version specified by either "java_version" parameter, CLASSID, or "application/x-java-applet;version=..." mimetype.

When the specified version specifies a range, like "1.7*" or "1.6+" (specified in any of the three methods) and the DRS run rule specifies a (non-force) version (say "1.7.0_51") that is in the range (and is installed).

Then if the applet is run with a later version of deployment code, (say "1.7.0_65"). It will block instead of running with 1.7.0_51.

There is also an error here in the error message when the applet should block:
If the same DRS is used on an applet specifying a non-matching range, say "1.6*" or "1.6.0_85", the error message will say:
"Deployment Rule Set required Java version 1.7.0_51 is not available or is incompatible with version 1.7.0_51 requested by the application." 
when it should say: 
"Deployment Rule Set required Java version 1.7.0_51 is not available or is incompatible with version 1.6* requested by the application."
Comments
UR SQE OK to take the fix to 8u40.
16-12-2014

Crucible review for 8u40: https://java.se.oracle.com/code/cru/CR-JDK8UDEV-145 (same patch as jdk9) critical request justification: Causes some applets to block when they should not - relates to escalatedissue: JDK-9066257
13-12-2014

a group of test cases is posted at: http://oklahoma.us.oracle.com/www/tests/1.9.0/8067236/bug.html Crucible review: https://java.se.oracle.com/code/cru/CR-JDK9CLIENT-651
12-12-2014