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.