deadlock-finder-and-fixer
Made by JeffFind and fix concurrency bugs - deadlocks, races, livelocks, await-holding-lock, database locks, LD_PRELOAD init, swarm races. Use when processes hang, tests flake, or auditing concurrency.
Works With
Quality and Utility come from canonical skill metadata. Community ratings appear separately as stars when subscriber reviews exist.
Subscribe to download
Public previews are available, but downloads, CLI sync, and premium content require an active subscription.
Sign In to Subscribe- Full skill content with deterministic versioning
- CLI sync + local search index
- Access to Jeffrey’s premium library
Save to your account
Saved skills live in your cloud list. Run jsm sync on each machine to pull them locally.
What's New with this Skill
1Updates, enhancements, and release notes for this skill.
Deadlock Finder & Fixer
A 10,000+ line concurrency guide covering 9 bug classes, 7 cookbooks across 6 languages, and 14 real incident narratives. When your process hangs, your test flakes, or your database says locked, this skill tells you why and how to fix it.
- 9-class concurrency bug taxonomy with symptom triage table: process 0% CPU but unresponsive, async tasks pending but workers idle, 100% CPU with no progress, database is locked, hang during library load, test flakes under load, agent swarm stalls, poisoned mutex, lost wakeups
- 7 language-specific cookbooks (Rust/asupersync, Rust/tokio, Go, Python, TypeScript/Node, C/C++, Java) each with 20-30 code recipes, anti-patterns, framework-specific gotchas, and audit commands
- Asupersync-first Rust cookbook: shows how two-phase channels, obligation tracking, lab runtime DPOR, and structured concurrency prevent or surface 7 of the 9 bug classes
- 10 composable diagnostic operators from /operationalizing-expertise: Trace-All-Locks, Graph-Build, Exhaust-Search, Classify-Symptom, Snapshot-State, Replace-Primitive, Deterministic-Repro, Audit-Static, Validate-Fix, Prevent-by-Design. Each has triggers, failure modes, and a copy-paste prompt module
- 14 real incident narratives with verbatim session quotes: glibc-rust LD_PRELOAD strlen hang (OnceLock + 72 mutexes + reentrant env var), frankensqlite flat combiner, CoalesceMap loom verification (31 edge-case tests), NTM Go data race in rotation.go, asupersync obligation leak detection, and more
- Lock-free deep-dive sourced from frankensqlite internals: CAS loops, ABA problem, epoch-based reclamation, seqlocks for metadata reads, flat combiner batching (2-3x under contention), hardware transactional memory (Intel TSX/ARM TME), MPMC ring buffers
- Formal methods chapter: asupersync DPOR with Mazurkiewicz traces, persistent directed homology for schedule prioritization, loom permutation testing, miri for UB detection, TSAN for data races, TLA+ for distributed protocol verification
- Distributed concurrency: Redlock with fencing tokens, pg_advisory_lock for webhook dedup, etcd lease-based coordination, CRDTs (G-Counter, OR-Set, RGA), saga/outbox patterns, optimistic vs pessimistic locking, SKIP LOCKED job queues, database isolation levels with retry patterns
- Executable scripts: hang-capture.sh (one-command parallel evidence collection from a hung process), full-audit.sh (multi-language concurrency audit runner). Spawnable deadlock-auditor subagent for systematic codebase review
- Cross-language pattern matrix mapping the same bug and fix across Rust, Go, Python, TypeScript/Node, and C/C++, plus 10 universal concurrency rules
Concurrency bugs depend on timing, hide from tests, and show up in production. This skill collects what was learned from debugging deadlocks, races, livelocks, and contention across Rust, Go, Python, TypeScript, C/C++, and Java projects.
The core is a 9-class taxonomy: classic mutex deadlock, async await-holding-lock, livelock/retry storms, database contention, LD_PRELOAD/runtime-init reentrancy, data races, multi-process/swarm races, poisoning, and memory ordering. Each class has a symptom triage table, static-audit grep recipes, canonical fix patterns, and real incident narratives extracted