JDK-7014173 : Intermittent "No registered plugin for applet ID x" errors in applet with JRE 6.
  • Type: Bug
  • Component: deploy
  • Sub-Component: plugin
  • Affected Version: 6u20
  • Priority: P3
  • Status: Closed
  • Resolution: Duplicate
  • OS: windows_xp
  • CPU: x86
  • Submitted: 2011-01-24
  • Updated: 2014-09-24
  • Resolved: 2011-07-19
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 6
6-poolResolved
Related Reports
Duplicate :  
Relates :  
Description
FULL PRODUCT VERSION :
java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) Client VM (build 16.3-b01, mixed mode, sharing)

ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows XP Version 5.1 (Build 2600.xpsp_sp3_gdr.100427-1636 : Service Pack 3)

EXTRA RELEVANT SYSTEM CONFIGURATION :
Complete configuration in file reprot.txt attached to this CR.

A DESCRIPTION OF THE PROBLEM :

SUMMARY:

When running an applet that uses with the next generation plugin, intermittent errors occur. The errors appear to be caused by internal Java plugin code.

A typical stack trace is as follows (note that getting the stack trace requires increasing Java console trace level to 5):

network: Connecting http://localhost:8080/OperationCheck/jsp/log4j.xml with proxy=DIRECT
network: Connecting http://localhost:8080/ with proxy=DIRECT
com.sun.deploy.net.cookie.CookieUnavailableException: No registered plugin for applet ID 48
	at sun.plugin2.main.client.MessagePassingExecutionContext.doCookieOp(Unknown Source)
	at sun.plugin2.main.client.MessagePassingExecutionContext.getCookie(Unknown Source)
	at sun.plugin2.main.client.PluginCookieSelector.getCookieFromBrowser(Unknown Source)
	at com.sun.deploy.net.cookie.DeployCookieSelector.getCookieInfo(Unknown Source)
	at com.sun.deploy.net.cookie.DeployCookieSelector.get(Unknown Source)
	at sun.net.www.protocol.http.HttpURLConnection.setCookieHeader(Unknown Source)
	at sun.net.www.protocol.http.HttpURLConnection.writeRequests(Unknown Source)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
	at java.net.HttpURLConnection.getResponseCode(Unknown Source)
	at sun.plugin2.applet.Applet2ClassLoader.resourceExists(Unknown Source)
	at sun.plugin2.applet.Applet2ClassLoader.findResource(Unknown Source)
	at java.lang.ClassLoader.getResource(Unknown Source)
	at org.apache.log4j.helpers.Loader.getResource(Loader.java:97)
	at org.apache.log4j.LogManager.<clinit>(LogManager.java:105)
	at org.apache.log4j.Logger.getLogger(Logger.java:118)
	at org.apache.log4j.jmx.HierarchyDynamicMBean.<clinit>(HierarchyDynamicMBean.java:72)
	at com.toshiba.pf.common.logging.Logger.<clinit>(Logger.java:61)
	at com.toshiba.pf.entry.engine.EntryImageFactory.<clinit>(EntryImageFactory.java:28)
	at jp.co.toshiba_sol.imageentry.operationcheck.applet.ISEApplet.init(ISEApplet.java:41)
	at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :

1. download apache tomcat and JDK 1.5.0_15:
http://ftp.kddilabs.jp/infosystems/apache/tomcat/tomcat-5/v5.5.31/bin/apache-tomcat-5.5.31.zip
http://www.oracle.com/technetwork/java/archive-139210.html
and configure the following to environment variables:
- JAVA_HOME=<JDK1.5.0 path> in setclasspath.bat, e.g.:
set JAVA_HOME=C:\jdk1.5.0_15
- CATALINA_HOME=<Tomcat install path> in startup.bat and shutdown.bat, e.g.:
set CATALINA_HOME="C:\apache-tomcat-5.5.31"
Note: avoid to have pathes which include spaces in their names.

2. extract OperationCheck.zip and put OperationCheck folder into %CATALINA_HOME%\webapps directory. Start Tomcat using startup.bat script.

3. extract JFrameServer.zip and confirm directory is C:\JFrameServer.

4. cd C:\JFrameServer\runtime\1.5\bin and execute following batch file in order.

start watcher.bat
start tunnelServer.bat
start appDispatcher.bat

5. access http://<hostname>:8080/OperationCheck/jsp/index.jsp and confirm button "3��������(JFS+ISE)" is displayed.

6. click "3��������(JFS+ISE)" button continuously

EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Normal communication, cookie sent properly with each request, no exceptions thrown.
ACTUAL -
Communication fails, cookie missing from request, exception thrown (com.sun.deploy.net.cookie.CookieUnavailableException: No registered plugin for applet ID 3).

ERROR MESSAGES/STACK TRACES THAT OCCUR :
network: Connecting http://localhost:8080/OperationCheck/jsp/log4j.xml with proxy=DIRECT
network: Connecting http://localhost:8080/ with proxy=DIRECT
com.sun.deploy.net.cookie.CookieUnavailableException: No registered plugin for applet ID 48
	at sun.plugin2.main.client.MessagePassingExecutionContext.doCookieOp(Unknown Source)
	at sun.plugin2.main.client.MessagePassingExecutionContext.getCookie(Unknown Source)
	at sun.plugin2.main.client.PluginCookieSelector.getCookieFromBrowser(Unknown Source)
	at com.sun.deploy.net.cookie.DeployCookieSelector.getCookieInfo(Unknown Source)
	at com.sun.deploy.net.cookie.DeployCookieSelector.get(Unknown Source)
	at sun.net.www.protocol.http.HttpURLConnection.setCookieHeader(Unknown Source)
	at sun.net.www.protocol.http.HttpURLConnection.writeRequests(Unknown Source)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
	at java.net.HttpURLConnection.getResponseCode(Unknown Source)
	at sun.plugin2.applet.Applet2ClassLoader.resourceExists(Unknown Source)
	at sun.plugin2.applet.Applet2ClassLoader.findResource(Unknown Source)
	at java.lang.ClassLoader.getResource(Unknown Source)
	at org.apache.log4j.helpers.Loader.getResource(Loader.java:97)
	at org.apache.log4j.LogManager.<clinit>(LogManager.java:105)
	at org.apache.log4j.Logger.getLogger(Logger.java:118)
	at org.apache.log4j.jmx.HierarchyDynamicMBean.<clinit>(HierarchyDynamicMBean.java:72)
	at com.toshiba.pf.common.logging.Logger.<clinit>(Logger.java:61)
	at com.toshiba.pf.entry.engine.EntryImageFactory.<clinit>(EntryImageFactory.java:28)
	at jp.co.toshiba_sol.imageentry.operationcheck.applet.ISEApplet.init(ISEApplet.java:41)
	at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)

REPRODUCIBILITY :
This bug can be reproduced often. I've been able to reproduce it with JRE 6u10, 6u20 (customer's actual version), 6u22 (with FVB from CR 6943350 - see below) and 6u23. I've attached the corresponding logs to this CR.
Note that for customer this issue can lead to a hang, but customer hasn't been able to produce a test case which generates the hang observed in his production environment.

COMPLEMENTARY INFORMATION:
This problem can be linked to CR 6943350. We can have sometime the exact same stack given in CR 6943350. Differences are:
- the issue is reproducible with JRE 6u10.
- the FVB provided in CR 6943350 didn't solve the issue.