#! ./tesh ! expect signal SIGABRT ! timeout 200 $ ${bindir:=.}/chord_liveness --cfg=model-check:1 --cfg=contexts/factory:ucontext "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > [ 0.000000] (0:@) Configuration change: Set 'model-check' to '1' > [ 0.000000] (0:@) Check the liveness property promela_chord_liveness > [ 0.000000] (1:node@Jean_Yves) Joining the ring with id 14, knowing node 1 > [ 0.000000] (2:node@Boivin) Joining the ring with id 8, knowing node 1 > [ 0.000000] (3:node@Jacquelin) A transfer has occured > [ 0.000000] (3:node@Jacquelin) The task was successfully received by node 1 > [ 0.000000] (1:node@Jean_Yves) Node 14 joined the ring > [ 0.000000] (0:@) Next pair (depth = 12, 2 interleave) already reached ! > [ 0.000000] (0:@) *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* > [ 0.000000] (0:@) | ACCEPTANCE CYCLE | > [ 0.000000] (0:@) *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* > [ 0.000000] (0:@) Counter-example that violates formula : > [ 0.000000] (0:@) [(1)node] iSend (src=node, buff=(verbose only), size=(verbose only)) > [ 0.000000] (0:@) [(2)node] iSend (src=node, buff=(verbose only), size=(verbose only)) > [ 0.000000] (0:@) [(3)node] iRecv (dst=node, buff=(verbose only), size=(verbose only)) > [ 0.000000] (0:@) [(1)node] Wait (comm=(verbose only) [(1)node -> (3)node]) > [ 0.000000] (0:@) [(1)node] iRecv (dst=node, buff=(verbose only), size=(verbose only)) > [ 0.000000] (0:@) [(3)node] Test TRUE (comm=(verbose only) [(1)node -> (3)node]) > [ 0.000000] (0:@) [(3)node] iSend (src=node, buff=(verbose only), size=(verbose only)) > [ 0.000000] (0:@) [(1)node] Wait (comm=(verbose only) [(3)node -> (1)node]) > [ 0.000000] (0:@) [(1)node] iRecv (dst=node, buff=(verbose only), size=(verbose only)) > [ 0.000000] (0:@) [(1)node] Test FALSE (comm=(verbose only)) > [ 0.000000] (0:@) [(1)node] Test FALSE (comm=(verbose only)) > [ 0.000000] (0:@) Expanded pairs = 16 > [ 0.000000] (0:@) Visited pairs = 11 > [ 0.000000] (0:@) Expanded / Visited = 0.687500