More Effective Approach To Detecting Potential Deadlocks, DEPT(DEPendency Tracker)
summary
DEPT (DEPendency Tracker) presents a runtime checker that captures waits and events instead of just lock acquisition order, adding dependencies to a graph via runtime hooks in sync primitives and finding cycles lockdep misses. It reports real issues, having detected NTFS3 and folio-lock deadlocks caused by PG-locked style waits, and supports read/write and completion-style waits. Implementation reuses lockdep ideas, plans module/boot enablement, and faces upstream resistance tied to potential false positives despite practical success.
AI-written summary · about
chapters (14)
- 0:00Deadlock detection tools intro
- 1:29Lockdep deadlock detection overview
- 5:19Lock-based detection limits
- 6:00Introducing DEPT dependency tracker
- 8:47DEPT detecting complex deadlocks
- 10:39DEPT handling waits and events
- 13:58DEPT benefits and features summary
- 20:39Lockdep vs DEPT choice
- 21:21Q&A on DEPT upstreaming
- 25:43Runtime enablement with BPF
- 28:15False positives and merging
- 31:41DEPT technical structure
- 33:31DEPT and Lockdep relationship
- 35:00User space and cross-project use
related talks
48mMore Effective Approach to Detecting Potential Deadlocks, DEPT(DEPendency Track...
15mSound Dynamic Deadlock Prediction in Linear Time
48mDPTrace: Dual Purpose Trace for Exploitability Analysis of Program Crashes
55mJava PathFinder: going to Mars without bugs and deadlocks
18mEnhancing Static Analysis for Practical Bug Detection: An LLM-Integrated Approach
29mPerforming Laparoscopic Lockfile Surgery
35mDetecting failed device probes
24mStatic analysis for concurrent C++ in Visual Studio
