Diagnose a Deadlock in a Multi-Threaded File Indexer
Overview
What this challenge is about.
Clone the indexer repo (provided), set up reproduction with thread-sanitizer and helgrind, and produce a deterministic deadlock test case in under 5 minutes of runtime. Diagnose the lock-ordering violation (hint: the inode cache and the queue acquire locks in opposite orders in two code paths). Propose 2 candidate fixes — one minimal-change, one structural — and recommend which to ship with rationale. Write a 4-page postmortem covering the timeline, root cause, fix, and 3 process improvements that would have caught it earlier. Deliver the repro test, the patch, and the postmortem.
The Brief
What you'll do, and what you'll demonstrate.
Reproduce, diagnose, and fix a thread-deadlock in a 4,000-line C indexer and write a postmortem that prevents the same class of bug.
Earning criteria — what you'll demonstrate
- Apply Coffman conditions to diagnose a real-world deadlock
- Use thread-sanitizer and helgrind to surface lock-order violations
- Distinguish minimal-change fixes from structural fixes and recommend honestly
- Write a postmortem that drives process change, not blame
Program Fit
Where this fits in your program.
Sharpens the same skills your degree expects you to demonstrate.
Skills
Skills you'll demonstrate.
Each one shows up on your verified credential.
Careers
Roles this prepares you for.
Real titles. Real skill bridges. Pick the one closest to your trajectory.
Career mappings coming soon.