preJVMStart() in src/windows/native/sun/jkernel/kernel.cpp in the Java SE workspace does not unlock the jvmStart mutex along all error paths, in particular the one where rt.jar does not exist. For the developers of the Java Plug-In where we run applets directly against our development builds that contain no rt.jar, this means that if you try to launch applets in both Firefox 3 and IE, the second browser that tries to launch an applet will hang until the first browser is exited, since the first browser will have had the rt.jar-related error in the in-browser JVM which will cause the mutex to be held for the lifetime of the browser process. This can happen between arbitrary Java processes for certain kernel-related error conditions.