United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6723194 Reliability problems launching multiple applets on the same web page
JDK-6723194 : Reliability problems launching multiple applets on the same web page

Details
Type:
Bug
Submit Date:
2008-07-07
Status:
Resolved
Updated Date:
2010-09-08
Project Name:
JDK
Resolved Date:
2008-07-19
Component:
deploy
OS:
generic
Sub-Component:
plugin
CPU:
generic
Priority:
P2
Resolution:
Fixed
Affected Versions:
6u10
Fixed Versions:
6u10 (b28)

Related Reports
Relates:
Relates:
Relates:
Relates:
Relates:

Sub Tasks

Description
Reliability problems have been seen in recent builds of the new Java Plug-In when launching multiple applets on the same web page. Applets occasionally fail to load, and in some situations, hangs have been seen where the applets are waiting for a cookie or proxy lookup where the browser never replies. In the latter situation, the debug console (JPI_PLUGIN2_DEBUG) indicates that an InternalError was thrown for a NULL plugin instance.

Throwing an InternalError on the JVMInstance's worker thread is extremely dangerous. It causes the thread to exit and therefore to silently ignore all further requests from applets launched in that JVM instance, leading to hangs starting applets.

At a minimum, the InternalErrors being thrown in the JVMInstance need to be changed in a way that the errors are reported without causing complete failure, and ideally that if they are being produced as a part of a lookup on behalf of an attached JVM instance, that a no-op result (like an empty proxy list) be returned so that the JVM instance making the request does not hang indefinitely waiting for a reply.

The issues in this area appear to be relatively recent regressions. The problem seems to reproduce most easily by quitting the browser, clearing the Java cache, and launching the Scene Graph applets from the demo section of the new plug-in's release notes. 6u10 build 25 appears to launch these applets reliably but 6u10 build 27 seems to have reliability problems. However, the problems are only intermittently reproducible. Even if the problem can not be reproduced reliably, the InternalError issue above needs to be fixed as it has been seen in real-world situations and causes complete failure of the Java Plug-In.
This issue may be related to the problems described in 6709817.

                                    

Comments
EVALUATION

Recently (under 6705524) a couple of too-strong error checks were
added to the browser side of the new plug-in's code which are throwing
an Error and causing an important worker thread to exit abruptly. The
side-effect of this is that all applets subsequently launched in that
JVM instance hang during startup.

These failures are intermittent but fairly reliably reproducible. The
root cause of the error condition has not been fully determined and is
being tracked for the next update release under 6727020.

Changed the error checks to stop throwing exceptions. In the relaunch
situations where the errors are reported, it appears that the applets
may actually be loading fine; further investigation is needed to see
whether duplicate relaunch messages may be incorrectly being sent.

Verified manually with the Scene Graph demo applets from
http://scenegraph-demos.dev.java.net/demo-applets.html that the error
condition is seen but that the system recovers from it without
subsequently hanging all applets.
                                     
2008-07-18



Hardware and Software, Engineered to Work Together