Automated hang detection in java thread dumps

Saved in:
Bibliographic Details
Title: Automated hang detection in java thread dumps
Patent Number: 7,502,968
Publication Date: March 10, 2009
Appl. No: 11/828916
Application Filed: July 26, 2007
Abstract: A system and method for analyzing Java thread deadlocks. A snapshot of threads in a Java Virtual Machine is generated, producing a thread dump file which can be analyzed off line. The thread dump file is optimistically parsed to identify threads which are deadlocked. A user is provided with an interface to select filtering rules for the threads, resulting in a set of filtered threads which are candidates for being in infinite wait conditions.
Inventors: Betancourt, Michel (Morrisville, NC, US); Patel, Dipak M. (Morrisville, NC, US); Sahoo, Chintamani (Cary, NC, US)
Assignees: International Business Machines Corporation (Armonk, NY, US)
Claim: 1. A method of analyzing thread deadlocks in a Java virtual machine (JVM), comprising the steps of: obtaining a thread dump file; identifying a locked object in the thread dump file, wherein the locked object is indicated as being in use by an active thread; identifying any waiting threads that are associated with the locked object, wherein the waiting threads are threads that are waiting on the locked object; identifying any locking threads that are associated with the locked object, wherein the locking threads are threads that own a resource and are currently attempting to lock the locked object; and comparing the waiting threads and the locking threads to identify any self threads in a self wait condition, wherein a self thread in a self wait condition is the active thread that currently owns the locked object and is also one of the waiting threads that is waiting on the locked object and matches one of the locking threads, wherein a user interface allows a user to choose rules, and wherein the rules are used to exclude threads that are identified as being in a self wait condition from being identified as in a deadlock condition.
Claim: 2. The method of claim 1 , wherein the step of comparing the waiting threads and the locking threads also identifies any circular threads in a circular wait condition.
Claim: 3. The method of claim 1 , wherein the step of obtaining a thread dump file comprises obtaining a thread dump from a live JVM.
Claim: 4. The method of claim 1 , wherein the step of obtaining a thread dump file comprises opening an existing thread dump file.
Claim: 5. The method of claim 4 , wherein the existing thread dump file is analyzed in offline mode.
Current U.S. Class: 714/38
Patent References Cited: 5440743 August 1995 Yokota et al.
5590335 December 1996 Dubourreau et al.
5809517 September 1998 Shimura
5835766 November 1998 Iba et al.
6009269 December 1999 Burrows et al.
6101524 August 2000 Choi et al.
6247025 June 2001 Bacon
6418542 July 2002 Yeager
6507861 January 2003 Nelson et al.
6983461 January 2006 Hutchison et al.
7278057 October 2007 Betancourt et al.
2002/0124085 September 2002 Matsuda et al.
2002/0147860 October 2002 Tapperson
2002/0161957 October 2002 Comeau et al.
2002/0194377 December 2002 Doolittle et al.
2003/0023655 January 2003 Sokolov et al.
2003/0023656 January 2003 Hutchison et al.
2005/0028157 February 2005 Betancourt et al.
2006/0143610 June 2006 Toader
2008/0046782 February 2008 Betancourt et al.
Other References: Nonaka et al., “A Run-Time Deadlock Detector for Concurrent Java Programs”, 2001 IEEE, pp. 45-52. cited by other
Primary Examiner: Puente, Emerson C
Attorney, Agent or Firm: Yee, Duke W.
Clay, Bruce
Glanzman, Gerald H.
Accession Number: edspgr.07502968
Database: USPTO Patent Grants
Be the first to leave a comment!
You must be logged in first