Okay: have built a fresh 1.2.1.2 AND a fresh 1.2.1.1 and observe the same error in both versions. Here's a revised test program that nicely demonstrates that the problem lies with rounding: if the fractional part of now between 0.0 and 0.5 (inclusive), it rounds down. If it is greater than 0.5, it rounds up. And when the time is rounded up, it appears that yield() doesn't yield. ==============pasted code below============== Event e; spork ~ costello(); abbot(); fun void abbot() { while (1) { now + 44100.25::samp => time later; <<< "abbot(1):", now, later >>>; later => now; <<< "abbot(2):", now, later >>>; e.broadcast(); <<< "abbot(3):", now, later >>>; me.yield(); <<< "abbot(4):", now, later >>>; } } fun void costello() { while (1) { <<< "costello(1):", now >>>; e => now; <<< "costello(2):", now >>>; } } ==============pasted output below============== [poorbook15-8:Chuck/chuck-1.2.1.1-dev/src] r% ./chuck --version chuck version: 1.2.1.1b (dracula) exe target: mac os x : powerpc http://chuck.cs.princeton.edu/ [poorbook15-8:Chuck/chuck-1.2.1.1-dev/src] r% ./chuck ~/bar.ck abbot(1): 0.000000 44100.250000 costello(1): 0.000000 abbot(2): 44100.250000 44100.250000 abbot(3): 44100.250000 44100.250000 costello(2): 44100.000000 // 0.25 rounded down costello(1): 44100.000000 abbot(4): 44100.250000 44100.250000 abbot(1): 44100.250000 88200.500000 abbot(2): 88200.500000 88200.500000 abbot(3): 88200.500000 88200.500000 costello(2): 88200.000000 // 0.5 rounded down costello(1): 88200.000000 abbot(4): 88200.500000 88200.500000 abbot(1): 88200.500000 132300.750000 abbot(2): 132300.750000 132300.750000 abbot(3): 132300.750000 132300.750000 abbot(4): 132300.750000 132300.750000 abbot(1): 132300.750000 176401.000000 costello(2): 132301.000000 // 0.75 rounded up, failed to yield costello(1): 132301.000000 abbot(2): 176401.000000 176401.000000 abbot(3): 176401.000000 176401.000000 costello(2): 176401.000000 // 0.0 behaves costello(1): 176401.000000 abbot(4): 176401.000000 176401.000000 abbot(1): 176401.000000 220501.250000 abbot(2): 220501.250000 220501.250000 abbot(3): 220501.250000 220501.250000 costello(2): 220501.000000 costello(1): 220501.000000 abbot(4): 220501.250000 220501.250000 abbot(1): 220501.250000 264601.500000 abbot(2): 264601.500000 264601.500000 abbot(3): 264601.500000 264601.500000 costello(2): 264601.000000 costello(1): 264601.000000 abbot(4): 264601.500000 264601.500000 abbot(1): 264601.500000 308701.750000 C-c C-c[chuck]: cleaning up...