It started as a simple optimization task: make Skipper start faster. It ended as a detective story involving a race condition that was “impossible.”
Below is the full visual case study I presented to Concurrency and Operating Systems students. Full detailed blog can be found at Beyond Race Detectors.
📥 Download as PDF (For offline reading)
















Key Takeaways
- Logs > Debuggers: You cannot step-through a race condition in an IDE.
- Time is not linear: In multi-threaded systems, pre-emption means “later” in code does not mean “later” in time.
- The Quick Fix: Bypass the notification channel and query the Source of Truth directly.
Disclaimer:
Organic content from original blog : Beyond Race Detectors. Slides structure supported by NotebookLLM and beautified by NanoBanana in Google slides.
