[chuck-users] infinitely stuck

Kassen signal.automatique at gmail.com
Fri Sep 19 02:53:53 EDT 2008

Dear ChucKists,

Another day, another novel and exciting way to get the whole VM stuck;

Wurely w => dac;
1.0 / 0 => w.freq;
1 => w.noteOn;
second => now;

At a frequency of infinity (which admittedly is a bit silly but it happened
by accident...) Wurley (and probably the other FM instruments as well, I
imagine) gets completely stuck and takes 100% CPU time. This is quite
understandable but what's not so nice is that this gets the whole VM stuck
as well. Watchdog will offer to stop the shred (in the Mini) but fails... so
that forces us to quit the whole thing the hard way.

I think LiSa can cause a similar situation if we request a lot of voices
very quickly, say one every few ms, and she runs out of voices (I'm not yet
certain about the exact conditions there).

Generally it seems like watchdog is unable to remidy the situation if it's a
UGen and not a shred that gets stuck. I'm not sure how we should deal with
this. Perhaps there could be some way to get watchdog to interupt UGens, or
perhaps we should sanitise UGen function calls. I'm not sure, for example,
whether there is a perceived need for fm electrical pianos to accept
frequencies above the nequist... It probably can't be avoided that some
things will get suck under some conditions but I would like to have some
safeguards against this taking down the whole VM, where possible.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cs.princeton.edu/pipermail/chuck-users/attachments/20080919/e07ce10d/attachment.html>

More information about the chuck-users mailing list