United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
JDK-8017249 : Plug-in does not report version

Details
Type:
Bug
Submit Date:
2013-06-20
Status:
Resolved
Updated Date:
2014-02-12
Project Name:
JDK
Resolved Date:
2013-07-09
Component:
deploy
OS:
linux
Sub-Component:
plugin
CPU:
Priority:
P3
Resolution:
Fixed
Affected Versions:
7u25
Fixed Versions:

Related Reports
Backport:
Backport:
Backport:
Backport:

Sub Tasks

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
SQE-Ok to get this issue fixed for 7u40
                                     
2013-07-10
justification:  simple and low risk fix for 7u40, chrome is popular on Linux.
                                     
2013-07-10
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).

                                     
2013-07-05
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)




                                     
2013-07-05
SQE-OK to defer this issue for 7u40.
                                     
2013-07-03
I will give Dev time to respond to Jeannette's question before I approve this.
                                     
2013-07-03
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.
                                     
2013-07-03
Defer request: not a showstopper, Linux only
                                     
2013-07-02



Hardware and Software, Engineered to Work Together