JDK-6668837 : Failure to unlock Kernel-related mutex in error cases causes browser hangs
  • Type: Bug
  • Component: deploy
  • Sub-Component: deployment_toolkit
  • Affected Version: 6u10
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: windows
  • CPU: generic
  • Submitted: 2008-02-28
  • Updated: 2010-09-08
  • Resolved: 2008-05-16
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 b21Fixed
Related Reports
Relates :  
Description
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.

Comments
SUGGESTED FIX http://sa.sfbay.sun.com/projects/deployment_data/6u10/6668837.0
29-02-2008

EVALUATION Added code to unlock jvmStart mutex along all error paths. Verified via manual tests and code inspection. Not feasible to write a test case.
29-02-2008

EVALUATION Must unlock jvmStart mutex along all error paths.
28-02-2008