Starting :init: with pid 0
  1:	proc  0 (:init:) line  29 "lock.spin" (state 1)	[((i<3))]
  2:	proc  0 (:init:) line  30 "lock.spin" (state 2)	[havelock[i] = 0]
Starting locker with pid 1
  3:	proc  0 (:init:) line  31 "lock.spin" (state 3)	[(run locker(i))]
  3:	proc  0 (:init:) line  32 "lock.spin" (state 4)	[i = (i+1)]
  4:	proc  1 (locker) line  14 "lock.spin" (state 1)	[((pass<3))]
  5:	proc  1 (locker) line  15 "lock.spin" (state 2)	[(1)]
  6:	proc  0 (:init:) line  29 "lock.spin" (state 1)	[((i<3))]
  7:	proc  1 (locker) line  15 "lock.spin" (state 3)	[((mutex==0))]
  7:	proc  1 (locker) line  15 "lock.spin" (state 4)	[mutex = 1]
  8:	proc  1 (locker) line  15 "lock.spin" (state 13)	[break]
  9:	proc  1 (locker) line  16 "lock.spin" (state 14)	[havelock[me] = 1]
 10:	proc  1 (locker) line  17 "lock.spin" (state 15)	[havelock[me] = 0]
 11:	proc  1 (locker) line  18 "lock.spin" (state 16)	[mutex = 0]
 12:	proc  1 (locker) line  19 "lock.spin" (state 17)	[pass = (pass+1)]
 13:	proc  1 (locker) line  14 "lock.spin" (state 1)	[((pass<3))]
 14:	proc  1 (locker) line  15 "lock.spin" (state 2)	[(1)]
 15:	proc  1 (locker) line  15 "lock.spin" (state 3)	[((mutex==0))]
 15:	proc  1 (locker) line  15 "lock.spin" (state 4)	[mutex = 1]
 16:	proc  1 (locker) line  15 "lock.spin" (state 13)	[break]
 17:	proc  1 (locker) line  16 "lock.spin" (state 14)	[havelock[me] = 1]
 18:	proc  1 (locker) line  17 "lock.spin" (state 15)	[havelock[me] = 0]
 19:	proc  1 (locker) line  18 "lock.spin" (state 16)	[mutex = 0]
 20:	proc  1 (locker) line  19 "lock.spin" (state 17)	[pass = (pass+1)]
 21:	proc  1 (locker) line  14 "lock.spin" (state 1)	[((pass<3))]
 22:	proc  1 (locker) line  15 "lock.spin" (state 2)	[(1)]
 23:	proc  1 (locker) line  15 "lock.spin" (state 3)	[((mutex==0))]
 23:	proc  1 (locker) line  15 "lock.spin" (state 4)	[mutex = 1]
 24:	proc  1 (locker) line  15 "lock.spin" (state 13)	[break]
 25:	proc  1 (locker) line  16 "lock.spin" (state 14)	[havelock[me] = 1]
 26:	proc  1 (locker) line  17 "lock.spin" (state 15)	[havelock[me] = 0]
 27:	proc  1 (locker) line  18 "lock.spin" (state 16)	[mutex = 0]
 28:	proc  1 (locker) line  19 "lock.spin" (state 17)	[pass = (pass+1)]
 29:	proc  1 (locker) line  20 "lock.spin" (state 18)	[((pass>=3))]
 30: proc 1 terminates
 31:	proc  0 (:init:) line  30 "lock.spin" (state 2)	[havelock[i] = 0]
Starting locker with pid 1
 32:	proc  0 (:init:) line  31 "lock.spin" (state 3)	[(run locker(i))]
 32:	proc  0 (:init:) line  32 "lock.spin" (state 4)	[i = (i+1)]
 33:	proc  1 (locker) line  14 "lock.spin" (state 1)	[((pass<3))]
 34:	proc  1 (locker) line  15 "lock.spin" (state 2)	[(1)]
 35:	proc  0 (:init:) line  29 "lock.spin" (state 1)	[((i<3))]
 36:	proc  1 (locker) line  15 "lock.spin" (state 3)	[((mutex==0))]
 36:	proc  1 (locker) line  15 "lock.spin" (state 4)	[mutex = 1]
 37:	proc  1 (locker) line  15 "lock.spin" (state 13)	[break]
 38:	proc  1 (locker) line  16 "lock.spin" (state 14)	[havelock[me] = 1]
 39:	proc  1 (locker) line  17 "lock.spin" (state 15)	[havelock[me] = 0]
 40:	proc  1 (locker) line  18 "lock.spin" (state 16)	[mutex = 0]
 41:	proc  1 (locker) line  19 "lock.spin" (state 17)	[pass = (pass+1)]
 42:	proc  1 (locker) line  14 "lock.spin" (state 1)	[((pass<3))]
 43:	proc  1 (locker) line  15 "lock.spin" (state 2)	[(1)]
 44:	proc  1 (locker) line  15 "lock.spin" (state 3)	[((mutex==0))]
 44:	proc  1 (locker) line  15 "lock.spin" (state 4)	[mutex = 1]
 45:	proc  1 (locker) line  15 "lock.spin" (state 13)	[break]
 46:	proc  1 (locker) line  16 "lock.spin" (state 14)	[havelock[me] = 1]
 47:	proc  1 (locker) line  17 "lock.spin" (state 15)	[havelock[me] = 0]
 48:	proc  1 (locker) line  18 "lock.spin" (state 16)	[mutex = 0]
 49:	proc  1 (locker) line  19 "lock.spin" (state 17)	[pass = (pass+1)]
 50:	proc  1 (locker) line  14 "lock.spin" (state 1)	[((pass<3))]
 51:	proc  1 (locker) line  15 "lock.spin" (state 2)	[(1)]
 52:	proc  1 (locker) line  15 "lock.spin" (state 3)	[((mutex==0))]
 52:	proc  1 (locker) line  15 "lock.spin" (state 4)	[mutex = 1]
 53:	proc  1 (locker) line  15 "lock.spin" (state 13)	[break]
 54:	proc  1 (locker) line  16 "lock.spin" (state 14)	[havelock[me] = 1]
 55:	proc  1 (locker) line  17 "lock.spin" (state 15)	[havelock[me] = 0]
 56:	proc  1 (locker) line  18 "lock.spin" (state 16)	[mutex = 0]
 57:	proc  1 (locker) line  19 "lock.spin" (state 17)	[pass = (pass+1)]
 58:	proc  1 (locker) line  20 "lock.spin" (state 18)	[((pass>=3))]
 59: proc 1 terminates
 60:	proc  0 (:init:) line  30 "lock.spin" (state 2)	[havelock[i] = 0]
Starting locker with pid 1
 61:	proc  0 (:init:) line  31 "lock.spin" (state 3)	[(run locker(i))]
 61:	proc  0 (:init:) line  32 "lock.spin" (state 4)	[i = (i+1)]
 62:	proc  1 (locker) line  14 "lock.spin" (state 1)	[((pass<3))]
 63:	proc  1 (locker) line  15 "lock.spin" (state 2)	[(1)]
 64:	proc  0 (:init:) line  33 "lock.spin" (state 5)	[((i==3))]
 65:	proc  1 (locker) line  15 "lock.spin" (state 3)	[((mutex==0))]
 65:	proc  1 (locker) line  15 "lock.spin" (state 4)	[mutex = 1]
 66:	proc  1 (locker) line  15 "lock.spin" (state 13)	[break]
 67:	proc  1 (locker) line  16 "lock.spin" (state 14)	[havelock[me] = 1]
 68:	proc  1 (locker) line  17 "lock.spin" (state 15)	[havelock[me] = 0]
 69:	proc  1 (locker) line  18 "lock.spin" (state 16)	[mutex = 0]
 70:	proc  1 (locker) line  19 "lock.spin" (state 17)	[pass = (pass+1)]
 71:	proc  1 (locker) line  14 "lock.spin" (state 1)	[((pass<3))]
 72:	proc  1 (locker) line  15 "lock.spin" (state 2)	[(1)]
 73:	proc  1 (locker) line  15 "lock.spin" (state 3)	[((mutex==0))]
 73:	proc  1 (locker) line  15 "lock.spin" (state 4)	[mutex = 1]
 74:	proc  1 (locker) line  15 "lock.spin" (state 13)	[break]
 75:	proc  1 (locker) line  16 "lock.spin" (state 14)	[havelock[me] = 1]
 76:	proc  1 (locker) line  17 "lock.spin" (state 15)	[havelock[me] = 0]
 77:	proc  1 (locker) line  18 "lock.spin" (state 16)	[mutex = 0]
 78:	proc  1 (locker) line  19 "lock.spin" (state 17)	[pass = (pass+1)]
 79:	proc  1 (locker) line  14 "lock.spin" (state 1)	[((pass<3))]
 80:	proc  1 (locker) line  15 "lock.spin" (state 2)	[(1)]
 81:	proc  1 (locker) line  15 "lock.spin" (state 3)	[((mutex==0))]
 81:	proc  1 (locker) line  15 "lock.spin" (state 4)	[mutex = 1]
 82:	proc  1 (locker) line  15 "lock.spin" (state 13)	[break]
 83:	proc  1 (locker) line  16 "lock.spin" (state 14)	[havelock[me] = 1]
 84:	proc  1 (locker) line  17 "lock.spin" (state 15)	[havelock[me] = 0]
 85:	proc  1 (locker) line  18 "lock.spin" (state 16)	[mutex = 0]
 86:	proc  1 (locker) line  19 "lock.spin" (state 17)	[pass = (pass+1)]
 87:	proc  1 (locker) line  20 "lock.spin" (state 18)	[((pass>=3))]
 88: proc 1 terminates
 89:	proc  0 (:init:) line  34 "lock.spin" (state 6)	[sum = 0]
 90:	proc  0 (:init:) line  35 "lock.spin" (state 7)	[j = 0]
 91:	proc  0 (:init:) line  38 "lock.spin" (state 8)	[((j<3))]
 91:	proc  0 (:init:) line  39 "lock.spin" (state 9)	[sum = (sum+havelock[j])]
 91:	proc  0 (:init:) line  40 "lock.spin" (state 10)	[j = (j+1)]
 92:	proc  0 (:init:) line  38 "lock.spin" (state 8)	[((j<3))]
 92:	proc  0 (:init:) line  39 "lock.spin" (state 9)	[sum = (sum+havelock[j])]
 92:	proc  0 (:init:) line  40 "lock.spin" (state 10)	[j = (j+1)]
 93:	proc  0 (:init:) line  38 "lock.spin" (state 8)	[((j<3))]
 93:	proc  0 (:init:) line  39 "lock.spin" (state 9)	[sum = (sum+havelock[j])]
 93:	proc  0 (:init:) line  40 "lock.spin" (state 10)	[j = (j+1)]
spin: trail ends after 93 steps
#processes: 1
		mutex = 0
		havelock[0] = 0
		havelock[1] = 0
		havelock[2] = 0
		sum = 0
 93:	proc  0 (:init:) line  37 "lock.spin" (state 13)
4 processes created
