← Case log
Case 03 · Large legacy codebases

Decades of race conditions and deadlocks

Pattern

Years of growth accumulate shared state and locks added by people who never met. Eventually two of those decisions meet at the wrong moment. Components that weren't designed to interact now do.

Constraint

Observation changes timing: a log line or breakpoint makes the bug vanish. New bugs arise on slower or faster hardware or only in optimized code.

Method

Reconstruct the lock safety and lock order the code actually uses. Force the interleavings that matter. Prove the cause before touching the fix. Red before green.

Deliverable

Fixes that address the design rather than the symptom, plus a written map of the relevant concurrency.

Seeing something similar? patrick@eigenstate.solutions