$ ${bindir:=.}/../../../bin/simgrid-mc --log=mc_dfs.thres:verbose --log=root.fmt="[Checker]%e%m%n" -- ${bindir:=.}/s4u-synchro-barrier 1 --log=s4u_test.thres:critical --log=root.fmt="[App%e%e%e%e]%e%m%n"
> [Checker] Start a DFS exploration. Reduction is: dpor.
-> [Checker] Execute 1: BARRIER_LOCK(barrier: 0) (stack depth: 1, state: 1, 0 interleaves)
+> [Checker] Execute 1: BARRIER_ASYNC_LOCK(barrier: 0) (stack depth: 1, state: 1, 0 interleaves)
> [Checker] Execute 1: BARRIER_WAIT(barrier: 0) (stack depth: 2, state: 2, 0 interleaves)
> [Checker] Execution came to an end at 1;1;0 (state: 3, depth: 3)
> [Checker] Backtracking from 1;1;0
$ ${bindir:=.}/../../../bin/simgrid-mc --log=mc_dfs.thres:verbose --log=root.fmt="[Checker]%e%m%n" -- ${bindir:=.}/s4u-synchro-barrier 2 --log=s4u_test.thres:critical --log=root.fmt="[App%e%e%e%e]%e%m%n"
> [Checker] Start a DFS exploration. Reduction is: dpor.
-> [Checker] Execute 1: BARRIER_LOCK(barrier: 0) (stack depth: 1, state: 1, 0 interleaves)
-> [Checker] Execute 2: BARRIER_LOCK(barrier: 0) (stack depth: 2, state: 2, 0 interleaves)
+> [Checker] Execute 1: BARRIER_ASYNC_LOCK(barrier: 0) (stack depth: 1, state: 1, 0 interleaves)
+> [Checker] Execute 2: BARRIER_ASYNC_LOCK(barrier: 0) (stack depth: 2, state: 2, 0 interleaves)
> [Checker] Execute 1: BARRIER_WAIT(barrier: 0) (stack depth: 3, state: 3, 0 interleaves)
> [Checker] Execute 2: BARRIER_WAIT(barrier: 0) (stack depth: 4, state: 4, 0 interleaves)
> [Checker] Execution came to an end at 1;2;1;2;0 (state: 5, depth: 5)
> [Checker] BARRIER_WAIT(barrier: 0) (state=3)
> [Checker] BARRIER_WAIT(barrier: 0) (state=4)
> [Checker] Dependent Transitions:
-> [Checker] BARRIER_LOCK(barrier: 0) (state=2)
+> [Checker] BARRIER_ASYNC_LOCK(barrier: 0) (state=2)
> [Checker] BARRIER_WAIT(barrier: 0) (state=3)
> [Checker] INDEPENDENT Transitions:
-> [Checker] BARRIER_LOCK(barrier: 0) (state=1)
-> [Checker] BARRIER_LOCK(barrier: 0) (state=2)
+> [Checker] BARRIER_ASYNC_LOCK(barrier: 0) (state=1)
+> [Checker] BARRIER_ASYNC_LOCK(barrier: 0) (state=2)
> [Checker] Backtracking from 1;2
> [Checker] DFS exploration ended. 5 unique states visited; 2 backtracks (7 transition replays, 1 states visited overall)
$ ${bindir:=.}/../../../bin/simgrid-mc --log=mc_dfs.thres:verbose --log=root.fmt="[Checker]%e%m%n" -- ${bindir:=.}/s4u-synchro-barrier 3 --log=s4u_test.thres:critical --log=root.fmt="[App%e%e%e%e]%e%m%n"
> [Checker] Start a DFS exploration. Reduction is: dpor.
-> [Checker] Execute 1: BARRIER_LOCK(barrier: 0) (stack depth: 1, state: 1, 0 interleaves)
-> [Checker] Execute 2: BARRIER_LOCK(barrier: 0) (stack depth: 2, state: 2, 0 interleaves)
-> [Checker] Execute 3: BARRIER_LOCK(barrier: 0) (stack depth: 3, state: 3, 0 interleaves)
+> [Checker] Execute 1: BARRIER_ASYNC_LOCK(barrier: 0) (stack depth: 1, state: 1, 0 interleaves)
+> [Checker] Execute 2: BARRIER_ASYNC_LOCK(barrier: 0) (stack depth: 2, state: 2, 0 interleaves)
+> [Checker] Execute 3: BARRIER_ASYNC_LOCK(barrier: 0) (stack depth: 3, state: 3, 0 interleaves)
> [Checker] Execute 1: BARRIER_WAIT(barrier: 0) (stack depth: 4, state: 4, 0 interleaves)
> [Checker] Execute 2: BARRIER_WAIT(barrier: 0) (stack depth: 5, state: 5, 0 interleaves)
> [Checker] Execute 3: BARRIER_WAIT(barrier: 0) (stack depth: 6, state: 6, 0 interleaves)
> [Checker] BARRIER_WAIT(barrier: 0) (state=4)
> [Checker] BARRIER_WAIT(barrier: 0) (state=5)
> [Checker] Dependent Transitions:
-> [Checker] BARRIER_LOCK(barrier: 0) (state=3)
+> [Checker] BARRIER_ASYNC_LOCK(barrier: 0) (state=3)
> [Checker] BARRIER_WAIT(barrier: 0) (state=5)
> [Checker] Dependent Transitions:
-> [Checker] BARRIER_LOCK(barrier: 0) (state=3)
+> [Checker] BARRIER_ASYNC_LOCK(barrier: 0) (state=3)
> [Checker] BARRIER_WAIT(barrier: 0) (state=4)
> [Checker] INDEPENDENT Transitions:
-> [Checker] BARRIER_LOCK(barrier: 0) (state=2)
-> [Checker] BARRIER_LOCK(barrier: 0) (state=3)
+> [Checker] BARRIER_ASYNC_LOCK(barrier: 0) (state=2)
+> [Checker] BARRIER_ASYNC_LOCK(barrier: 0) (state=3)
> [Checker] INDEPENDENT Transitions:
-> [Checker] BARRIER_LOCK(barrier: 0) (state=1)
-> [Checker] BARRIER_LOCK(barrier: 0) (state=3)
+> [Checker] BARRIER_ASYNC_LOCK(barrier: 0) (state=1)
+> [Checker] BARRIER_ASYNC_LOCK(barrier: 0) (state=3)
> [Checker] Backtracking from 1;2;3
> [Checker] INDEPENDENT Transitions:
-> [Checker] BARRIER_LOCK(barrier: 0) (state=1)
-> [Checker] BARRIER_LOCK(barrier: 0) (state=2)
+> [Checker] BARRIER_ASYNC_LOCK(barrier: 0) (state=1)
+> [Checker] BARRIER_ASYNC_LOCK(barrier: 0) (state=2)
> [Checker] DFS exploration ended. 7 unique states visited; 2 backtracks (10 transition replays, 2 states visited overall)
$ ${bindir:=.}/../../../bin/simgrid-mc --log=mc_dfs.thres:verbose --log=root.fmt="[Checker]%e%m%n" -- ${bindir:=.}/s4u-synchro-mutex --cfg=actors:1 --log=s4u_test.thres:critical --log=root.fmt="[App%e%e%e%e]%e%m%n"
> [App ] Configuration change: Set 'actors' to '1'
> [Checker] Start a DFS exploration. Reduction is: dpor.
-> [Checker] Execute 1: MUTEX_LOCK(mutex: 0, owner:1) (stack depth: 1, state: 1, 0 interleaves)
+> [Checker] Execute 1: MUTEX_ASYNC_LOCK(mutex: 0, owner:1) (stack depth: 1, state: 1, 0 interleaves)
> [Checker] Execute 1: MUTEX_WAIT(mutex: 0, owner:1) (stack depth: 2, state: 2, 0 interleaves)
> [Checker] Execute 1: MUTEX_UNLOCK(mutex: 0, owner:-1) (stack depth: 3, state: 3, 0 interleaves)
-> [Checker] Execute 2: MUTEX_LOCK(mutex: 0, owner:2) (stack depth: 4, state: 4, 0 interleaves)
+> [Checker] Execute 2: MUTEX_ASYNC_LOCK(mutex: 0, owner:2) (stack depth: 4, state: 4, 0 interleaves)
> [Checker] Execute 2: MUTEX_WAIT(mutex: 0, owner:2) (stack depth: 5, state: 5, 0 interleaves)
> [Checker] Execute 2: MUTEX_UNLOCK(mutex: 0, owner:-1) (stack depth: 6, state: 6, 0 interleaves)
> [Checker] Execution came to an end at 1;1;1;2;2;2;0 (state: 7, depth: 7)
> [Checker] Backtracking from 1;1;1;2;2;2;0
> [Checker] INDEPENDENT Transitions:
> [Checker] MUTEX_UNLOCK(mutex: 0, owner:-1) (state=3)
-> [Checker] MUTEX_LOCK(mutex: 0, owner:2) (state=4)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 0, owner:2) (state=4)
> [Checker] INDEPENDENT Transitions:
> [Checker] MUTEX_WAIT(mutex: 0, owner:1) (state=2)
-> [Checker] MUTEX_LOCK(mutex: 0, owner:2) (state=4)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 0, owner:2) (state=4)
> [Checker] Dependent Transitions:
-> [Checker] MUTEX_LOCK(mutex: 0, owner:1) (state=1)
-> [Checker] MUTEX_LOCK(mutex: 0, owner:2) (state=4)
-> [Checker] Execute 2: MUTEX_LOCK(mutex: 0, owner:2) (stack depth: 1, state: 1, 0 interleaves)
-> [Checker] Execute 1: MUTEX_LOCK(mutex: 0, owner:2) (stack depth: 2, state: 8, 0 interleaves)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 0, owner:1) (state=1)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 0, owner:2) (state=4)
+> [Checker] Execute 2: MUTEX_ASYNC_LOCK(mutex: 0, owner:2) (stack depth: 1, state: 1, 0 interleaves)
+> [Checker] Execute 1: MUTEX_ASYNC_LOCK(mutex: 0, owner:2) (stack depth: 2, state: 8, 0 interleaves)
> [Checker] Execute 2: MUTEX_WAIT(mutex: 0, owner:2) (stack depth: 3, state: 9, 0 interleaves)
> [Checker] Execute 2: MUTEX_UNLOCK(mutex: 0, owner:1) (stack depth: 4, state: 10, 0 interleaves)
> [Checker] Execute 1: MUTEX_WAIT(mutex: 0, owner:1) (stack depth: 5, state: 11, 0 interleaves)
> [Checker] MUTEX_WAIT(mutex: 0, owner:1) (state=11)
> [Checker] Backtracking from 2;1;2;2
> [Checker] INDEPENDENT Transitions:
-> [Checker] MUTEX_LOCK(mutex: 0, owner:2) (state=8)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 0, owner:2) (state=8)
> [Checker] MUTEX_WAIT(mutex: 0, owner:2) (state=9)
> [Checker] Dependent Transitions:
-> [Checker] MUTEX_LOCK(mutex: 0, owner:2) (state=1)
-> [Checker] MUTEX_LOCK(mutex: 0, owner:2) (state=8)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 0, owner:2) (state=1)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 0, owner:2) (state=8)
> [Checker] DFS exploration ended. 13 unique states visited; 3 backtracks (18 transition replays, 3 states visited overall)
$ ${bindir:=.}/../../../bin/simgrid-mc --log=mc_dfs.thres:verbose --log=root.fmt="[Checker]%e%m%n" -- ${bindir:=.}/s4u-synchro-mutex --cfg=actors:2 --log=s4u_test.thres:critical --log=root.fmt="[App%e%e%e%e]%e%m%n"
> [App ] Configuration change: Set 'actors' to '2'
> [Checker] Start a DFS exploration. Reduction is: dpor.
-> [Checker] Execute 1: MUTEX_LOCK(mutex: 0, owner:1) (stack depth: 1, state: 1, 0 interleaves)
+> [Checker] Execute 1: MUTEX_ASYNC_LOCK(mutex: 0, owner:1) (stack depth: 1, state: 1, 0 interleaves)
> [Checker] Execute 1: MUTEX_WAIT(mutex: 0, owner:1) (stack depth: 2, state: 2, 0 interleaves)
> [Checker] Execute 1: MUTEX_UNLOCK(mutex: 0, owner:-1) (stack depth: 3, state: 3, 0 interleaves)
-> [Checker] Execute 2: MUTEX_LOCK(mutex: 0, owner:2) (stack depth: 4, state: 4, 0 interleaves)
+> [Checker] Execute 2: MUTEX_ASYNC_LOCK(mutex: 0, owner:2) (stack depth: 4, state: 4, 0 interleaves)
> [Checker] Execute 2: MUTEX_WAIT(mutex: 0, owner:2) (stack depth: 5, state: 5, 0 interleaves)
> [Checker] Execute 2: MUTEX_UNLOCK(mutex: 0, owner:-1) (stack depth: 6, state: 6, 0 interleaves)
-> [Checker] Execute 3: MUTEX_LOCK(mutex: 1, owner:3) (stack depth: 7, state: 7, 0 interleaves)
+> [Checker] Execute 3: MUTEX_ASYNC_LOCK(mutex: 1, owner:3) (stack depth: 7, state: 7, 0 interleaves)
> [Checker] Execute 3: MUTEX_WAIT(mutex: 1, owner:3) (stack depth: 8, state: 8, 0 interleaves)
> [Checker] Execute 3: MUTEX_UNLOCK(mutex: 1, owner:-1) (stack depth: 9, state: 9, 0 interleaves)
-> [Checker] Execute 4: MUTEX_LOCK(mutex: 1, owner:4) (stack depth: 10, state: 10, 0 interleaves)
+> [Checker] Execute 4: MUTEX_ASYNC_LOCK(mutex: 1, owner:4) (stack depth: 10, state: 10, 0 interleaves)
> [Checker] Execute 4: MUTEX_WAIT(mutex: 1, owner:4) (stack depth: 11, state: 11, 0 interleaves)
> [Checker] Execute 4: MUTEX_UNLOCK(mutex: 1, owner:-1) (stack depth: 12, state: 12, 0 interleaves)
> [Checker] Execution came to an end at 1;1;1;2;2;2;3;3;3;4;4;4;0 (state: 13, depth: 13)
> [Checker] Backtracking from 1;1;1;2;2;2;3;3;3;4;4;4;0
> [Checker] INDEPENDENT Transitions:
> [Checker] MUTEX_UNLOCK(mutex: 1, owner:-1) (state=9)
-> [Checker] MUTEX_LOCK(mutex: 1, owner:4) (state=10)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 1, owner:4) (state=10)
> [Checker] INDEPENDENT Transitions:
> [Checker] MUTEX_WAIT(mutex: 1, owner:3) (state=8)
-> [Checker] MUTEX_LOCK(mutex: 1, owner:4) (state=10)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 1, owner:4) (state=10)
> [Checker] Dependent Transitions:
-> [Checker] MUTEX_LOCK(mutex: 1, owner:3) (state=7)
-> [Checker] MUTEX_LOCK(mutex: 1, owner:4) (state=10)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 1, owner:3) (state=7)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 1, owner:4) (state=10)
> [Checker] INDEPENDENT Transitions:
> [Checker] MUTEX_UNLOCK(mutex: 0, owner:-1) (state=6)
-> [Checker] MUTEX_LOCK(mutex: 1, owner:3) (state=7)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 1, owner:3) (state=7)
> [Checker] INDEPENDENT Transitions:
> [Checker] MUTEX_WAIT(mutex: 0, owner:2) (state=5)
-> [Checker] MUTEX_LOCK(mutex: 1, owner:3) (state=7)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 1, owner:3) (state=7)
> [Checker] INDEPENDENT Transitions:
-> [Checker] MUTEX_LOCK(mutex: 0, owner:2) (state=4)
-> [Checker] MUTEX_LOCK(mutex: 1, owner:3) (state=7)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 0, owner:2) (state=4)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 1, owner:3) (state=7)
> [Checker] INDEPENDENT Transitions:
> [Checker] MUTEX_UNLOCK(mutex: 0, owner:-1) (state=3)
-> [Checker] MUTEX_LOCK(mutex: 1, owner:3) (state=7)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 1, owner:3) (state=7)
> [Checker] INDEPENDENT Transitions:
> [Checker] MUTEX_WAIT(mutex: 0, owner:1) (state=2)
-> [Checker] MUTEX_LOCK(mutex: 1, owner:3) (state=7)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 1, owner:3) (state=7)
> [Checker] INDEPENDENT Transitions:
-> [Checker] MUTEX_LOCK(mutex: 0, owner:1) (state=1)
-> [Checker] MUTEX_LOCK(mutex: 1, owner:3) (state=7)
-> [Checker] Execute 4: MUTEX_LOCK(mutex: 1, owner:4) (stack depth: 7, state: 7, 0 interleaves)
-> [Checker] Execute 3: MUTEX_LOCK(mutex: 1, owner:4) (stack depth: 8, state: 14, 0 interleaves)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 0, owner:1) (state=1)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 1, owner:3) (state=7)
+> [Checker] Execute 4: MUTEX_ASYNC_LOCK(mutex: 1, owner:4) (stack depth: 7, state: 7, 0 interleaves)
+> [Checker] Execute 3: MUTEX_ASYNC_LOCK(mutex: 1, owner:4) (stack depth: 8, state: 14, 0 interleaves)
> [Checker] Execute 4: MUTEX_WAIT(mutex: 1, owner:4) (stack depth: 9, state: 15, 0 interleaves)
> [Checker] Execute 4: MUTEX_UNLOCK(mutex: 1, owner:3) (stack depth: 10, state: 16, 0 interleaves)
> [Checker] Execute 3: MUTEX_WAIT(mutex: 1, owner:3) (stack depth: 11, state: 17, 0 interleaves)
> [Checker] MUTEX_WAIT(mutex: 1, owner:3) (state=17)
> [Checker] Backtracking from 1;1;1;2;2;2;4;3;4;4
> [Checker] INDEPENDENT Transitions:
-> [Checker] MUTEX_LOCK(mutex: 1, owner:4) (state=14)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 1, owner:4) (state=14)
> [Checker] MUTEX_WAIT(mutex: 1, owner:4) (state=15)
> [Checker] Dependent Transitions:
-> [Checker] MUTEX_LOCK(mutex: 1, owner:4) (state=7)
-> [Checker] MUTEX_LOCK(mutex: 1, owner:4) (state=14)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 1, owner:4) (state=7)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 1, owner:4) (state=14)
> [Checker] INDEPENDENT Transitions:
> [Checker] MUTEX_UNLOCK(mutex: 0, owner:-1) (state=6)
-> [Checker] MUTEX_LOCK(mutex: 1, owner:4) (state=7)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 1, owner:4) (state=7)
> [Checker] INDEPENDENT Transitions:
> [Checker] MUTEX_WAIT(mutex: 0, owner:2) (state=5)
-> [Checker] MUTEX_LOCK(mutex: 1, owner:4) (state=7)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 1, owner:4) (state=7)
> [Checker] INDEPENDENT Transitions:
-> [Checker] MUTEX_LOCK(mutex: 0, owner:2) (state=4)
-> [Checker] MUTEX_LOCK(mutex: 1, owner:4) (state=7)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 0, owner:2) (state=4)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 1, owner:4) (state=7)
> [Checker] INDEPENDENT Transitions:
> [Checker] MUTEX_UNLOCK(mutex: 0, owner:-1) (state=3)
-> [Checker] MUTEX_LOCK(mutex: 1, owner:4) (state=7)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 1, owner:4) (state=7)
> [Checker] INDEPENDENT Transitions:
> [Checker] MUTEX_WAIT(mutex: 0, owner:1) (state=2)
-> [Checker] MUTEX_LOCK(mutex: 1, owner:4) (state=7)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 1, owner:4) (state=7)
> [Checker] INDEPENDENT Transitions:
-> [Checker] MUTEX_LOCK(mutex: 0, owner:1) (state=1)
-> [Checker] MUTEX_LOCK(mutex: 1, owner:4) (state=7)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 0, owner:1) (state=1)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 1, owner:4) (state=7)
> [Checker] INDEPENDENT Transitions:
> [Checker] MUTEX_UNLOCK(mutex: 0, owner:-1) (state=3)
-> [Checker] MUTEX_LOCK(mutex: 0, owner:2) (state=4)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 0, owner:2) (state=4)
> [Checker] INDEPENDENT Transitions:
> [Checker] MUTEX_WAIT(mutex: 0, owner:1) (state=2)
-> [Checker] MUTEX_LOCK(mutex: 0, owner:2) (state=4)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 0, owner:2) (state=4)
> [Checker] Dependent Transitions:
-> [Checker] MUTEX_LOCK(mutex: 0, owner:1) (state=1)
-> [Checker] MUTEX_LOCK(mutex: 0, owner:2) (state=4)
-> [Checker] Execute 2: MUTEX_LOCK(mutex: 0, owner:2) (stack depth: 1, state: 1, 0 interleaves)
-> [Checker] Execute 1: MUTEX_LOCK(mutex: 0, owner:2) (stack depth: 2, state: 20, 0 interleaves)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 0, owner:1) (state=1)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 0, owner:2) (state=4)
+> [Checker] Execute 2: MUTEX_ASYNC_LOCK(mutex: 0, owner:2) (stack depth: 1, state: 1, 0 interleaves)
+> [Checker] Execute 1: MUTEX_ASYNC_LOCK(mutex: 0, owner:2) (stack depth: 2, state: 20, 0 interleaves)
> [Checker] Execute 2: MUTEX_WAIT(mutex: 0, owner:2) (stack depth: 3, state: 21, 0 interleaves)
> [Checker] Execute 2: MUTEX_UNLOCK(mutex: 0, owner:1) (stack depth: 4, state: 22, 0 interleaves)
> [Checker] Execute 1: MUTEX_WAIT(mutex: 0, owner:1) (stack depth: 5, state: 23, 0 interleaves)
> [Checker] Execute 1: MUTEX_UNLOCK(mutex: 0, owner:-1) (stack depth: 6, state: 24, 0 interleaves)
-> [Checker] Execute 3: MUTEX_LOCK(mutex: 1, owner:3) (stack depth: 7, state: 25, 0 interleaves)
+> [Checker] Execute 3: MUTEX_ASYNC_LOCK(mutex: 1, owner:3) (stack depth: 7, state: 25, 0 interleaves)
> [Checker] Execute 3: MUTEX_WAIT(mutex: 1, owner:3) (stack depth: 8, state: 26, 0 interleaves)
> [Checker] Execute 3: MUTEX_UNLOCK(mutex: 1, owner:-1) (stack depth: 9, state: 27, 0 interleaves)
-> [Checker] Execute 4: MUTEX_LOCK(mutex: 1, owner:4) (stack depth: 10, state: 28, 0 interleaves)
+> [Checker] Execute 4: MUTEX_ASYNC_LOCK(mutex: 1, owner:4) (stack depth: 10, state: 28, 0 interleaves)
> [Checker] Execute 4: MUTEX_WAIT(mutex: 1, owner:4) (stack depth: 11, state: 29, 0 interleaves)
> [Checker] Execute 4: MUTEX_UNLOCK(mutex: 1, owner:-1) (stack depth: 12, state: 30, 0 interleaves)
> [Checker] Execution came to an end at 2;1;2;2;1;1;3;3;3;4;4;4;0 (state: 31, depth: 13)
> [Checker] Backtracking from 2;1;2;2;1;1;3;3;3;4;4;4;0
> [Checker] INDEPENDENT Transitions:
> [Checker] MUTEX_UNLOCK(mutex: 1, owner:-1) (state=27)
-> [Checker] MUTEX_LOCK(mutex: 1, owner:4) (state=28)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 1, owner:4) (state=28)
> [Checker] INDEPENDENT Transitions:
> [Checker] MUTEX_WAIT(mutex: 1, owner:3) (state=26)
-> [Checker] MUTEX_LOCK(mutex: 1, owner:4) (state=28)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 1, owner:4) (state=28)
> [Checker] Dependent Transitions:
-> [Checker] MUTEX_LOCK(mutex: 1, owner:3) (state=25)
-> [Checker] MUTEX_LOCK(mutex: 1, owner:4) (state=28)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 1, owner:3) (state=25)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 1, owner:4) (state=28)
> [Checker] INDEPENDENT Transitions:
> [Checker] MUTEX_UNLOCK(mutex: 0, owner:-1) (state=24)
-> [Checker] MUTEX_LOCK(mutex: 1, owner:3) (state=25)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 1, owner:3) (state=25)
> [Checker] INDEPENDENT Transitions:
> [Checker] MUTEX_WAIT(mutex: 0, owner:1) (state=23)
-> [Checker] MUTEX_LOCK(mutex: 1, owner:3) (state=25)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 1, owner:3) (state=25)
> [Checker] INDEPENDENT Transitions:
> [Checker] MUTEX_UNLOCK(mutex: 0, owner:1) (state=22)
-> [Checker] MUTEX_LOCK(mutex: 1, owner:3) (state=25)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 1, owner:3) (state=25)
> [Checker] INDEPENDENT Transitions:
> [Checker] MUTEX_WAIT(mutex: 0, owner:2) (state=21)
-> [Checker] MUTEX_LOCK(mutex: 1, owner:3) (state=25)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 1, owner:3) (state=25)
> [Checker] INDEPENDENT Transitions:
-> [Checker] MUTEX_LOCK(mutex: 0, owner:2) (state=20)
-> [Checker] MUTEX_LOCK(mutex: 1, owner:3) (state=25)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 0, owner:2) (state=20)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 1, owner:3) (state=25)
> [Checker] INDEPENDENT Transitions:
-> [Checker] MUTEX_LOCK(mutex: 0, owner:2) (state=1)
-> [Checker] MUTEX_LOCK(mutex: 1, owner:3) (state=25)
-> [Checker] Execute 4: MUTEX_LOCK(mutex: 1, owner:4) (stack depth: 7, state: 25, 0 interleaves)
-> [Checker] Execute 3: MUTEX_LOCK(mutex: 1, owner:4) (stack depth: 8, state: 32, 0 interleaves)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 0, owner:2) (state=1)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 1, owner:3) (state=25)
+> [Checker] Execute 4: MUTEX_ASYNC_LOCK(mutex: 1, owner:4) (stack depth: 7, state: 25, 0 interleaves)
+> [Checker] Execute 3: MUTEX_ASYNC_LOCK(mutex: 1, owner:4) (stack depth: 8, state: 32, 0 interleaves)
> [Checker] Execute 4: MUTEX_WAIT(mutex: 1, owner:4) (stack depth: 9, state: 33, 0 interleaves)
> [Checker] Execute 4: MUTEX_UNLOCK(mutex: 1, owner:3) (stack depth: 10, state: 34, 0 interleaves)
> [Checker] Execute 3: MUTEX_WAIT(mutex: 1, owner:3) (stack depth: 11, state: 35, 0 interleaves)
> [Checker] MUTEX_WAIT(mutex: 1, owner:3) (state=35)
> [Checker] Backtracking from 2;1;2;2;1;1;4;3;4;4
> [Checker] INDEPENDENT Transitions:
-> [Checker] MUTEX_LOCK(mutex: 1, owner:4) (state=32)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 1, owner:4) (state=32)
> [Checker] MUTEX_WAIT(mutex: 1, owner:4) (state=33)
> [Checker] Dependent Transitions:
-> [Checker] MUTEX_LOCK(mutex: 1, owner:4) (state=25)
-> [Checker] MUTEX_LOCK(mutex: 1, owner:4) (state=32)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 1, owner:4) (state=25)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 1, owner:4) (state=32)
> [Checker] INDEPENDENT Transitions:
> [Checker] MUTEX_UNLOCK(mutex: 0, owner:-1) (state=24)
-> [Checker] MUTEX_LOCK(mutex: 1, owner:4) (state=25)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 1, owner:4) (state=25)
> [Checker] INDEPENDENT Transitions:
> [Checker] MUTEX_WAIT(mutex: 0, owner:1) (state=23)
-> [Checker] MUTEX_LOCK(mutex: 1, owner:4) (state=25)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 1, owner:4) (state=25)
> [Checker] INDEPENDENT Transitions:
> [Checker] MUTEX_UNLOCK(mutex: 0, owner:1) (state=22)
-> [Checker] MUTEX_LOCK(mutex: 1, owner:4) (state=25)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 1, owner:4) (state=25)
> [Checker] INDEPENDENT Transitions:
> [Checker] MUTEX_WAIT(mutex: 0, owner:2) (state=21)
-> [Checker] MUTEX_LOCK(mutex: 1, owner:4) (state=25)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 1, owner:4) (state=25)
> [Checker] INDEPENDENT Transitions:
-> [Checker] MUTEX_LOCK(mutex: 0, owner:2) (state=20)
-> [Checker] MUTEX_LOCK(mutex: 1, owner:4) (state=25)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 0, owner:2) (state=20)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 1, owner:4) (state=25)
> [Checker] INDEPENDENT Transitions:
-> [Checker] MUTEX_LOCK(mutex: 0, owner:2) (state=1)
-> [Checker] MUTEX_LOCK(mutex: 1, owner:4) (state=25)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 0, owner:2) (state=1)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 1, owner:4) (state=25)
> [Checker] Dependent Transitions:
> [Checker] MUTEX_UNLOCK(mutex: 0, owner:1) (state=22)
> [Checker] MUTEX_WAIT(mutex: 0, owner:1) (state=23)
> [Checker] Backtracking from 2;1;2;2
> [Checker] INDEPENDENT Transitions:
-> [Checker] MUTEX_LOCK(mutex: 0, owner:2) (state=20)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 0, owner:2) (state=20)
> [Checker] MUTEX_WAIT(mutex: 0, owner:2) (state=21)
> [Checker] Dependent Transitions:
-> [Checker] MUTEX_LOCK(mutex: 0, owner:2) (state=1)
-> [Checker] MUTEX_LOCK(mutex: 0, owner:2) (state=20)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 0, owner:2) (state=1)
+> [Checker] MUTEX_ASYNC_LOCK(mutex: 0, owner:2) (state=20)
> [Checker] DFS exploration ended. 37 unique states visited; 7 backtracks (76 transition replays, 33 states visited overall)
$ ${bindir:=.}/../../../bin/simgrid-mc -- ${bindir:=.}/s4u-synchro-mutex --cfg=actors:3 --log=s4u_test.thres:critical
$ ${bindir:=.}/../../../bin/simgrid-mc --log=mc_dfs.thres:verbose --log=root.fmt="[Checker]%e%m%n" -- ${bindir:=.}/s4u-synchro-semaphore --log=sem_test.thres:critical --log=root.fmt="[App%e%e%e%e]%e%m%n"
> [Checker] Start a DFS exploration. Reduction is: dpor.
-> [Checker] Execute 1: SEM_LOCK(semaphore: 0) (stack depth: 1, state: 1, 0 interleaves)
+> [Checker] Execute 1: SEM_ASYNC_LOCK(semaphore: 0) (stack depth: 1, state: 1, 0 interleaves)
> [Checker] Execute 1: SEM_WAIT(semaphore: 0, granted: yes) (stack depth: 2, state: 2, 0 interleaves)
> [Checker] Execute 1: SEM_UNLOCK(semaphore: 1) (stack depth: 3, state: 3, 0 interleaves)
-> [Checker] Execute 1: SEM_LOCK(semaphore: 0) (stack depth: 4, state: 4, 0 interleaves)
-> [Checker] Execute 2: SEM_LOCK(semaphore: 1) (stack depth: 5, state: 5, 0 interleaves)
+> [Checker] Execute 1: SEM_ASYNC_LOCK(semaphore: 0) (stack depth: 4, state: 4, 0 interleaves)
+> [Checker] Execute 2: SEM_ASYNC_LOCK(semaphore: 1) (stack depth: 5, state: 5, 0 interleaves)
> [Checker] Execute 2: SEM_WAIT(semaphore: 1, granted: yes) (stack depth: 6, state: 6, 0 interleaves)
> [Checker] Execute 2: SEM_UNLOCK(semaphore: 0) (stack depth: 7, state: 7, 0 interleaves)
> [Checker] Execute 1: SEM_WAIT(semaphore: 0, granted: yes) (stack depth: 8, state: 8, 0 interleaves)
> [Checker] Execute 1: SEM_UNLOCK(semaphore: 1) (stack depth: 9, state: 9, 0 interleaves)
-> [Checker] Execute 1: SEM_LOCK(semaphore: 0) (stack depth: 10, state: 10, 0 interleaves)
-> [Checker] Execute 2: SEM_LOCK(semaphore: 1) (stack depth: 11, state: 11, 0 interleaves)
+> [Checker] Execute 1: SEM_ASYNC_LOCK(semaphore: 0) (stack depth: 10, state: 10, 0 interleaves)
+> [Checker] Execute 2: SEM_ASYNC_LOCK(semaphore: 1) (stack depth: 11, state: 11, 0 interleaves)
> [Checker] Execute 2: SEM_WAIT(semaphore: 1, granted: yes) (stack depth: 12, state: 12, 0 interleaves)
> [Checker] Execute 2: SEM_UNLOCK(semaphore: 0) (stack depth: 13, state: 13, 0 interleaves)
> [Checker] Execute 1: SEM_WAIT(semaphore: 0, granted: yes) (stack depth: 14, state: 14, 0 interleaves)
> [Checker] Execute 1: SEM_UNLOCK(semaphore: 1) (stack depth: 15, state: 15, 0 interleaves)
-> [Checker] Execute 1: SEM_LOCK(semaphore: 0) (stack depth: 16, state: 16, 0 interleaves)
-> [Checker] Execute 2: SEM_LOCK(semaphore: 1) (stack depth: 17, state: 17, 0 interleaves)
+> [Checker] Execute 1: SEM_ASYNC_LOCK(semaphore: 0) (stack depth: 16, state: 16, 0 interleaves)
+> [Checker] Execute 2: SEM_ASYNC_LOCK(semaphore: 1) (stack depth: 17, state: 17, 0 interleaves)
> [Checker] Execute 2: SEM_WAIT(semaphore: 1, granted: yes) (stack depth: 18, state: 18, 0 interleaves)
> [Checker] Execute 2: SEM_UNLOCK(semaphore: 0) (stack depth: 19, state: 19, 0 interleaves)
> [Checker] Execute 1: SEM_WAIT(semaphore: 0, granted: yes) (stack depth: 20, state: 20, 0 interleaves)
> [Checker] Execute 1: SEM_UNLOCK(semaphore: 1) (stack depth: 21, state: 21, 0 interleaves)
-> [Checker] Execute 2: SEM_LOCK(semaphore: 1) (stack depth: 22, state: 22, 0 interleaves)
+> [Checker] Execute 2: SEM_ASYNC_LOCK(semaphore: 1) (stack depth: 22, state: 22, 0 interleaves)
> [Checker] Execute 2: SEM_WAIT(semaphore: 1, granted: yes) (stack depth: 23, state: 23, 0 interleaves)
> [Checker] Execute 2: SEM_UNLOCK(semaphore: 0) (stack depth: 24, state: 24, 0 interleaves)
> [Checker] Execution came to an end at 1;1;1;1;2;2;2;1;1;1;2;2;2;1;1;1;2;2;2;1;1;2;2;2;0 (state: 25, depth: 25)
> [Checker] Backtracking from 1;1;1;1;2;2;2;1;1;1;2;2;2;1;1;1;2;2;2;1;1;2;2;2;0
> [Checker] INDEPENDENT Transitions:
> [Checker] SEM_UNLOCK(semaphore: 1) (state=21)
-> [Checker] SEM_LOCK(semaphore: 1) (state=22)
+> [Checker] SEM_ASYNC_LOCK(semaphore: 1) (state=22)
> [Checker] INDEPENDENT Transitions:
> [Checker] SEM_WAIT(semaphore: 0, granted: yes) (state=20)
-> [Checker] SEM_LOCK(semaphore: 1) (state=22)
+> [Checker] SEM_ASYNC_LOCK(semaphore: 1) (state=22)
> [Checker] Dependent Transitions:
> [Checker] SEM_UNLOCK(semaphore: 0) (state=19)
> [Checker] SEM_WAIT(semaphore: 0, granted: yes) (state=20)
> [Checker] Backtracking from 1;1;1;1;2;2;2;1;1;1;2;2;2;1;1;1;2;2;2
> [Checker] INDEPENDENT Transitions:
-> [Checker] SEM_LOCK(semaphore: 0) (state=16)
-> [Checker] SEM_LOCK(semaphore: 1) (state=17)
+> [Checker] SEM_ASYNC_LOCK(semaphore: 0) (state=16)
+> [Checker] SEM_ASYNC_LOCK(semaphore: 1) (state=17)
> [Checker] INDEPENDENT Transitions:
> [Checker] SEM_UNLOCK(semaphore: 1) (state=15)
-> [Checker] SEM_LOCK(semaphore: 1) (state=17)
+> [Checker] SEM_ASYNC_LOCK(semaphore: 1) (state=17)
> [Checker] INDEPENDENT Transitions:
> [Checker] SEM_WAIT(semaphore: 0, granted: yes) (state=14)
-> [Checker] SEM_LOCK(semaphore: 1) (state=17)
+> [Checker] SEM_ASYNC_LOCK(semaphore: 1) (state=17)
> [Checker] Dependent Transitions:
> [Checker] SEM_UNLOCK(semaphore: 0) (state=13)
> [Checker] SEM_WAIT(semaphore: 0, granted: yes) (state=14)
> [Checker] Backtracking from 1;1;1;1;2;2;2;1;1;1;2;2;2
> [Checker] INDEPENDENT Transitions:
-> [Checker] SEM_LOCK(semaphore: 0) (state=10)
-> [Checker] SEM_LOCK(semaphore: 1) (state=11)
+> [Checker] SEM_ASYNC_LOCK(semaphore: 0) (state=10)
+> [Checker] SEM_ASYNC_LOCK(semaphore: 1) (state=11)
> [Checker] INDEPENDENT Transitions:
> [Checker] SEM_UNLOCK(semaphore: 1) (state=9)
-> [Checker] SEM_LOCK(semaphore: 1) (state=11)
+> [Checker] SEM_ASYNC_LOCK(semaphore: 1) (state=11)
> [Checker] INDEPENDENT Transitions:
> [Checker] SEM_WAIT(semaphore: 0, granted: yes) (state=8)
-> [Checker] SEM_LOCK(semaphore: 1) (state=11)
+> [Checker] SEM_ASYNC_LOCK(semaphore: 1) (state=11)
> [Checker] Dependent Transitions:
> [Checker] SEM_UNLOCK(semaphore: 0) (state=7)
> [Checker] SEM_WAIT(semaphore: 0, granted: yes) (state=8)
> [Checker] Backtracking from 1;1;1;1;2;2;2
> [Checker] INDEPENDENT Transitions:
-> [Checker] SEM_LOCK(semaphore: 0) (state=4)
-> [Checker] SEM_LOCK(semaphore: 1) (state=5)
+> [Checker] SEM_ASYNC_LOCK(semaphore: 0) (state=4)
+> [Checker] SEM_ASYNC_LOCK(semaphore: 1) (state=5)
> [Checker] INDEPENDENT Transitions:
> [Checker] SEM_UNLOCK(semaphore: 1) (state=3)
-> [Checker] SEM_LOCK(semaphore: 1) (state=5)
+> [Checker] SEM_ASYNC_LOCK(semaphore: 1) (state=5)
> [Checker] INDEPENDENT Transitions:
> [Checker] SEM_WAIT(semaphore: 0, granted: yes) (state=2)
-> [Checker] SEM_LOCK(semaphore: 1) (state=5)
+> [Checker] SEM_ASYNC_LOCK(semaphore: 1) (state=5)
> [Checker] INDEPENDENT Transitions:
-> [Checker] SEM_LOCK(semaphore: 0) (state=1)
-> [Checker] SEM_LOCK(semaphore: 1) (state=5)
+> [Checker] SEM_ASYNC_LOCK(semaphore: 0) (state=1)
+> [Checker] SEM_ASYNC_LOCK(semaphore: 1) (state=5)
> [Checker] DFS exploration ended. 25 unique states visited; 4 backtracks (64 transition replays, 36 states visited overall)