title: Whats causing timeout in Promela/SPIN?
body: <p>I have the following promela code: </p>
  
  <pre><code>chan level = [0] of {int};
  
  proctype Sensor (chan levelChan) {
      int x;
      do
      :: true -&gt;
              levelChan ? x;
              if 
              :: (x &lt; 2) -&gt; printf("low %d", x);
              :: (x &gt; 8) -&gt; printf("high %d", x);
              :: else -&gt; printf("normal %d", x);
              fi
      od
  }
  
  init {
      run Sensor(level);  
      int lvl = 5;
      level ! lvl;
      lvl = 0;
      do 
      :: true -&gt;
          level ! lvl; 
          lvl++;
          (lvl &gt; 9) -&gt; break;
      od
  }
  </code></pre>
  
  <p>I am expecting to send level (0-9) information into a channel and have the sensor output low|normal|high depending on this level. Its quite simple. But why SPIN saying its timeout all the time? </p>
  
  <pre><code>  0:    proc  - (:root:) creates proc  0 (:init:)
  Starting Sensor with pid 1
    1:    proc  0 (:init:) creates proc  1 (Sensor)
    1:    proc  0 (:init:) 1.pml:18 (state 1) [(run Sensor(level))]
    2:    proc  1 (Sensor) 1.pml:6 (state 11) [(1)]
    3:    proc  0 (:init:) 1.pml:20 (state 2) [lvl = 5]
    4:    proc  0 (:init:) 1.pml:20 (state 3) [level!lvl]
    4:    proc  1 (Sensor) 1.pml:8 (state 2)  [levelChan?x]
    5:    proc  1 (Sensor) 1.pml:9 (state 9)  [else]
    6:    proc  0 (:init:) 1.pml:21 (state 4) [lvl = 0]
  normal 5  8:    proc  1 (Sensor) 1.pml:12 (state 8) [printf('normal %d',x)]
    9:    proc  0 (:init:) 1.pml:22 (state 10)    [(1)]
   12:    proc  1 (Sensor) 1.pml:6 (state 11) [(1)]
   13:    proc  0 (:init:) 1.pml:24 (state 6) [level!lvl]
   13:    proc  1 (Sensor) 1.pml:8 (state 2)  [levelChan?x]
   14:    proc  1 (Sensor) 1.pml:9 (state 9)  [((x&lt;2))]
  low 0 15:   proc  1 (Sensor) 1.pml:10 (state 4) [printf('low %d',x)]
   17:    proc  0 (:init:) 1.pml:25 (state 7) [lvl = (lvl+1)]
   19:    proc  1 (Sensor) 1.pml:6 (state 11) [(1)]
  timeout
  #processes: 2
   19:    proc  1 (Sensor) 1.pml:8 (state 2)
   19:    proc  0 (:init:) 1.pml:26 (state 8)
  2 processes created
  </code></pre>
  
  <p>It seem to only do 1 iteration of the do loop why? </p>