Report 00 · Summary

Nondeterministic systems, made deterministic again.

Patrick Stein finds the root cause of race conditions, deadlocks, and corrupted memory in large, legacy systems—the faults that don’t reproduce, don’t log, and don’t go away.

File a report by email patrick@eigenstate.solutions
Principal
Patrick Stein
Faults
Race conditions · deadlocks · corrupted memory
Languages
C · C++ · Java · JavaScript · more...
Also
Bridging scientists and software, custom software for small business and non-profits
Clients
Startup CTOs · enterprise & platform teams

Fault classes

Table 1: What I’m called in for
ClassPresents asHow I isolate it
Race conditionsFails once in a thousand runs. Disappears under the debugger or with extra logging. Different result on different hardware.Reconstruct the interleaving, then force it. Turn “sometimes” into “every time” before touching a fix.
DeadlocksThe system stops. No crash, no error, no log line. Often only under production load.Map which thread holds what, in which order. Audit the code paths holding multiple locks.
Corrupted memoryValues change when nothing wrote them. Crashes far from their cause. Worse at language or platform boundaries.Work backwards from the damage and the code to the one write that did it—layout, lifetime, alignment, encoding.

Case log

All cases

Method

No guessing. Every step leaves evidence your team can check.

  1. 01
    Observe

    Record what the system is actually doing, not what it is said to do.

  2. 02
    Hypothesize

    Make a short list of causes the evidence allows.

  3. 03
    Isolate

    Eliminate until one cause remains.

  4. 04
    Fix & verify

    Prove the fix closes the cause, not just the symptom.

Second practice

Between the scientist and the code(rs).

With a working knowledge of and love for mathematics and physics, I translate in both directions: turning a scientist’s models into software that’s correct, and turning developers’ questions into ones a scientist can answer.

Bridging services
From science
Papers, equations, models, lab procedures
To software
Specifications, working code, tests that check the physics
Both ways
Developers’ questions rephrased so a scientist can answer them
Third practice

Custom Software for You.

Is there something that your small business or non-profit wishes your computer could do for you? We can help you build it.

Custom software services
From you
What does your organization need?
To software
Specifications, working code, tools you can use