Method and apparatus for detecting lock acquisition hierarchy violations and unsafe lock releases
First Claim
Patent Images
1. A method comprising:
- recording a set of currently-held synchronization primitives and a set of currently-acquired synchronization primitives if a thread acquires a synchronization primitive;
searching for a lock acquisition hierarchy violation; and
reporting the lock acquisition hierarchy violation if the lock acquisition hierarchy violation is found.
1 Assignment
0 Petitions
Accused Products
Abstract
A thread analysis tool records a set of currently-held synchronization objects and currently-acquired objects when a thread acquires one or more objects, then searches for a lock acquisition hierarchy violation that may cause program deadlock. If a violation is found, it is reported to the user. Software to implement the methods of the analysis tool, and systems using the methods, are also described and claimed.
-
Citations
20 Claims
-
1. A method comprising:
-
recording a set of currently-held synchronization primitives and a set of currently-acquired synchronization primitives if a thread acquires a synchronization primitive; searching for a lock acquisition hierarchy violation; and reporting the lock acquisition hierarchy violation if the lock acquisition hierarchy violation is found. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer-readable medium containing instructions to cause a programmable machine to perform operations comprising:
-
building a data structure to represent synchronization primitive operations of a plurality of threads of a multi-threaded program; adding a node to the data structure if one of the plurality of threads acquires a synchronization primitive; analyzing the data structure to detect a lock acquisition hierarchy violation; and reporting the lock acquisition hierarchy violation. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system comprising:
-
a plurality of processors; a multi-threaded program; data collection logic to collect information about synchronization operations of the program; analysis logic to examine the information and detect a lock acquisition hierarchy violation; and reporting logic to emit a warning about the violation. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification