You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
io-sim-por: don't follow threads which are after any of the races
Consider the following sequence of events
x
⋮
y
⋮
z
If x is racing with z, we will reverse x and z (e.g. postpone x after
z). If y is also racing with x, then we should not include in the
schedule any event which happens after it. Originally we used a policy
to remove y's thread from the list of racing threads with the x's
thread. But this turns out to be too week. While we are visiting new
events we need to remove their threads as soon as the event happens
after any of the so far discovered races. Otherwise we can end with
a schedule which contains events that can only happen after the racing
event was executed, and thus likely will block and violate internal
invariant: all steps which we follow should be in the runqueue (e.g.
should not be blocked).
0 commit comments