JDK-8017249 : Plug-in does not report version
  • Type: Bug
  • Component: deploy
  • Sub-Component: plugin
  • Affected Version: 7u25
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: linux
  • Submitted: 2013-06-20
  • Updated: 2014-02-12
  • Resolved: 2013-07-09
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
7u40Fixed 8 b98Fixed
Description
FULL PRODUCT VERSION :
java version  " 1.7.0_25 " 
Java(TM) SE Runtime Environment (build 1.7.0_25-b15)
Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)


ADDITIONAL OS VERSION INFORMATION :
Linux caleb 3.2.0-4-amd64 #1 SMP Debian 3.2.41-2+deb7u2 x86_64 GNU/Linux


EXTRA RELEVANT SYSTEM CONFIGURATION :
Google Chrome 28.0.1500.52

A DESCRIPTION OF THE PROBLEM :
libnpjp2.so does not report any version number on Linux. This means that Chrome always reports that it is out of date and should be updated - see https://code.google.com/p/chromium/issues/detail?id=137388

This bug is like #8010789 - reported on Solaris, but with a comment expressing doubt over the Version field. Let me clear that up: the version should be in the Version field, not embedded in the name field. Database 101: fields should be atomic.

The Mac folks agree, and in #8000368 agreed to put the version number in the Version field.



STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1. Install Chrome.
2. Install Java JRE and plugin (Chrome will find the plugin from ~/.mozilla/plugins/libnpjp2.so symlink or similar)
3. Go to http://www.java.com/en/download/testjava.jsp
4. Go to chrome://plugins/


EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
In step 3, the java applet should run (so long as the JRE is up-to-date)

In step 4, the entry for the java plugin should report the version in the version field. For comparison, the Flash Player reports  " 11.7.700.203 " 
ACTUAL -
In step 3, the applet does not run and an info bar says  " Java(TM) was blocked because it is out of date " . Yet if you choose  " Run this time "  the applet will run and report the latest version.

In step 4, the entry for the java plugin has a pointless link to  " Download Critical Security Update "  and the Version field is blank.

REPRODUCIBILITY :
This bug can be reproduced always.
Comments
justification: simple and low risk fix for 7u40, chrome is popular on Linux.
10-07-2013

SQE-Ok to get this issue fixed for 7u40
10-07-2013

Per Chromium sources it detects NPAPI version by parsing plugin name string. It uses following prefixes static const struct { const char* kPrefix; const char* kPostfix; } kPrePostFixes[] = { { "Shockwave Flash ", 0 }, { "Java(TM) Plug-in ", 0 }, { "(using IcedTea-Web ", " " }, { 0, 0 } }; For some reason the name of our NPAPI plugin is "Java Plug-in <VERSION>". So there is no "(TM)". Changing name fixes the issue but I'm not sure who need give an approval for that. Probably "(TM)" was removed for some legal reason? Changing plugin name to "Java (TM) <version>" does fix the problem (tested on Ubuntu amd54 with Chrome 28)
05-07-2013

It could to be related with the fact that Chrome could not detect version of plugin (it is a blank). In fact all NPAPI plugins I see in my Chrome installation on Ubuntu have a blank version. The only plugin which has version specified is ShockWave Flash but it uses new PPAPI. There is a fix that makes FireFox shown plugin version correctly (see my comment to JDK-8010789). But it doesn't fix Chrome case, it stills show version as blank. More research is required. Probably digging in Chromium sources could bring out some ideas on how Chromium detects version of NPAPI plugin and makes decision that it is obsolete ( assuming that Chrome uses the same logic as Chromium and did not alter it).
05-07-2013

I will give Dev time to respond to Jeannette's question before I approve this.
03-07-2013

Is this an easy fix? Would be really nice if chrome didn't think Java was out of date, even if it is just Linux. Arguably Chrome is the most popular browser on Linux.
03-07-2013

SQE-OK to defer this issue for 7u40.
03-07-2013

Defer request: not a showstopper, Linux only
02-07-2013