JDK-5086475 : Ctrl-break handler should print the java.util.concurrent locks info
  • Type: Enhancement
  • Component: core-svc
  • Sub-Component: tools
  • Affected Version: 5.0
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2004-08-12
  • Updated: 2005-06-14
  • Resolved: 2005-06-14
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
6 b39Fixed
Related Reports
Relates :  
Description
The java.util.concurrent locks are not known to the VM. Ctrl-break
handler and M&M API only provide lock information for the object
monitors but not Java-level JSR-166 primitives.

The dumping mechanism should be enhanced to include the JSR-166
locks information.

See comments in 5086470 for the email thread about this request.

Comments
SUGGESTED FIX See 5086470. ###@###.### 2005-05-20 23:18:56 GMT
20-05-2005

EVALUATION Will consider this in Mustang. ###@###.### 2004-08-12 The control-break (Windows) and SIGQUIT output are improved: 1. to print out the java.util.concurrent.locks lock that a thread is blocked on (i.e. the object responsible for the thread parking). 2. to find deadlocks involving both object monitors and java.util.concurrent locks. 3. to print out the list of all java.util.concurrent.locks owned by each thread if -XX:+PrintConcurrentLocks is set. 4. to print out the java.lang.Thread.State a thread is at. Note that VM will only provide this monitoring and diagnostic support for any synchronizers that use AbstractOwnableSynchronizer to implement its synchronization mechanism. A customized synchronizer (user-defined ones) that does not set the exclusive owner when granting a lock to thread and does not set the object responsible for the thread parking at contention time will have no information printed in the control-break/SIGQUIT output. See 5086470 for details. ###@###.### 2005-05-20 23:18:56 GMT
20-05-2005