JDK-6660166 : exceptions being thrown at different times with new plugin
  • Type: Bug
  • Component: deploy
  • Sub-Component: plugin
  • Affected Version: 6u10
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2008-02-06
  • Updated: 2010-09-08
  • Resolved: 2008-03-05
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
6u10 b13Fixed
Related Reports
Relates :  
Relates :  
Description
Description - Different exceptions are being thrown at different times with plugin2.

This one bug will summarize most of the exceptions at various times. These exceptions are not seen at all times consistently, but they do come up very often at different stages of the applet

OS tested - Win XP, Win VIsta
Browsers tested - IE7, FF3
build tested - promoted b11, pit b12

1.
***********************************************************************************
deploy.net.cookie.CookieUnavailableException: No registered plugin for applet ID 1
	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 com.sun.deploy.net.HttpUtils.followRedirects(Unknown Source)
	at com.sun.deploy.net.BasicHttpRequest.doRequest(Unknown Source)
	at com.sun.deploy.net.BasicHttpRequest.doGetRequestEX(Unknown Source)
	at com.sun.deploy.net.DownloadEngine.isUpdateAvailable(Unknown Source)
	at com.sun.deploy.cache.DeployCacheHandler.get(Unknown Source)
	at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
	at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
	at sun.plugin.PluginURLJarFileCallBack.downloadJAR(Unknown Source)
	at sun.plugin.PluginURLJarFileCallBack.access$000(Unknown Source)
	at sun.plugin.PluginURLJarFileCallBack$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.plugin.PluginURLJarFileCallBack.retrieve(Unknown Source)
	at sun.net.www.protocol.jar.URLJarFile.retrieve(Unknown Source)
	at sun.net.www.protocol.jar.URLJarFile.getJarFile(Unknown Source)
	at sun.net.www.protocol.jar.JarFileFactory.get(Unknown Source)
	at sun.net.www.protocol.jar.JarURLConnection.connect(Unknown Source)
	at sun.plugin.net.protocol.jar.CachedJarURLConnection.connect(Unknown Source)
	at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFileInternal(Unknown Source)
	at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFile(Unknown Source)
	at sun.misc.URLClassPath$JarLoader.getJarFile(Unknown Source)
	at sun.misc.URLClassPath$JarLoader.access$600(Unknown Source)
	at sun.misc.URLClassPath$JarLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.misc.URLClassPath$JarLoader.ensureOpen(Unknown Source)
	at sun.misc.URLClassPath$JarLoader.<init>(Unknown Source)
	at sun.misc.URLClassPath$3.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.misc.URLClassPath.getLoader(Unknown Source)
	at sun.misc.URLClassPath.getLoader(Unknown Source)
	at sun.misc.URLClassPath.getResource(Unknown Source)
	at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.plugin2.applet.Applet2ClassLoader.loadCode(Unknown Source)
	at sun.plugin2.applet.Applet2Manager.createApplet(Unknown Source)
	at sun.plugin2.applet.Applet2Manager.access$2000(Unknown Source)
	at sun.plugin2.applet.Applet2Manager$AppletExecutionRunnable.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
*********************************************************************************

2.
*********************************************************************************
netscape.javascript.JSException: No such method "AppletLoaded" on JavaScript object
	at sun.plugin2.main.client.MessagePassingJSObject.newJSException(Unknown Source)
	at sun.plugin2.main.client.MessagePassingJSObject.waitForReply(Unknown Source)
	at sun.plugin2.main.client.MessagePassingJSObject.call(Unknown Source)
	at sexy.util.AsyncJSCall.run(AsyncJSCall.java)
	at java.lang.Thread.run(Unknown Source)
*********************************************************************************

3.
*********************************************************************************
exceptions - java.lang.InterruptedException: sleep interrupted
	at java.lang.Thread.sleep(Native Method)
	at gamehouse.SuperApplet.run(gamehouse/SuperApplet)
	at java.lang.Thread.run(Unknown Source)
Command: gameloaded('stud')
Here's what happened: netscape.javascript.JSException
Applet status: Finished applet teardown
*********************************************************************************

4.
*********************************************************************************
Applet status: Applet loaded.
java.lang.reflect.InvocationTargetException
	at com.sun.deploy.util.DeployAWTUtil.invokeAndWait(Unknown Source)
	at sun.plugin2.applet.Applet2Manager.runOnEDT(Unknown Source)
	at sun.plugin2.applet.Applet2Manager.access$3600(Unknown Source)
	at sun.plugin2.applet.Applet2Manager$AppletExecutionRunnable.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
	at ni.d(Unknown Source)
	at prophet.chart.JavaChart.setSize(Unknown Source)
	at sun.plugin2.applet.Applet2Manager$AppletStubImpl$1.run(Unknown Source)
	at sun.plugin2.applet.Applet2Manager$AppletStubImpl.appletResize(Unknown Source)
	at java.applet.Applet.resize(Unknown Source)
	at java.applet.Applet.resize(Unknown Source)
	at sun.plugin2.applet.Applet2Manager$AppletExecutionRunnable$1.run(Unknown Source)
	at java.awt.event.InvocationEvent.dispatch(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)
exception
Applet status: Applet resized and added to parent container

*********************************************************************************


5.
*********************************************************************************
Exception in thread "AWT-EventQueue-3" java.lang.NullPointerException
	at ThreadLeakTest$1$1$1.run(ThreadLeakTest.java:62)
	at java.awt.event.InvocationEvent.dispatch(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)
*********************************************************************************
The above summary is not what was requested based on the applet compatibility test results. Nearly all of the exceptions described above are specific to particular applets. The following exceptions describe those which we want to silence in the common case:

(i)
Exception in thread "Thread-9" java.lang.NullPointerException
        at sun.plugin.util.AnimationPanel.createTranslucentImage(Unknown Source)
        at sun.plugin.util.AnimationPanel.createGradientShapeImage(Unknown Source)
        at sun.plugin.util.AnimationPanel.initBackground(Unknown Source)
        at sun.plugin.util.AnimationPanel.preloadResources(Unknown Source)
        at sun.plugin.util.AnimationPanel.doPaint(Unknown Source)
        at sun.plugin.util.AnimationPanel.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

(ii)
java.lang.InterruptedException
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:485)
        at com.sun.deploy.util.DeployAWTUtil.invokeAndWait(Unknown Source)
        at sun.plugin2.applet.Applet2Manager.runOnEDT(Unknown Source)
        at sun.plugin2.applet.Applet2Manager.access$3600(Unknown Source)
        at sun.plugin2.applet.Applet2Manager$AppletExecutionRunnable.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

(iii)
Applet status: Applet made visible
Applet status: Skipped starting applet -- terminated abruptly
Applet status: Starting applet teardown
java.lang.ThreadDeath
        at java.lang.Thread.stop(Unknown Source)
        at java.lang.ThreadGroup.stopOrSuspend(Unknown Source)
        at java.lang.ThreadGroup.stop(Unknown Source)
        at sun.awt.AppContext.dispose(Unknown Source)
        at sun.plugin2.applet.Applet2Manager$11.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

Note that (i) will be covered under 6657116.

Comments
EVALUATION Silenced Exceptions (ii) and (iii). The (i) is fixed under 6657116.
15-02-2008