[CM] Grace freezes on sprout

Sergey cmdist at nospam.frostglow.com
Sat Sep 22 10:50:07 PDT 2012

On Sat, Sep 22, 2012 at 12:13:02PM -0500, Heinrich Taube wrote:
> ok for sure you need to do an svn update as i had not actually committed the new error hook code for the latest sndlib!!!
> please do this so we are on the same page:
> cd cm
> rm -rf sndlin
> premake4 clean
> premake4
> make

Ok.  I did the above (modifying "sndlin" to "sndlib", and the last
"premake4" to "premake4 --jack"

It seemed to compile fine, with just a few warnings.  The full compile
log is here:


Then, when I ran Grace, in my terminal I saw the following errors:


When I ran either the code I posted in my original message or your
suggested modification with "format" instead of "print", Grace reported
replied "syntax-error" when I executed the "(sprout (foo))" line, though
no complaints when executing the definition of foo.

Also, at the same time it reported the syntax-error in the Grace window,
on my terminal I saw Grace output:

    ;sprout: unbound variable
    ;    (sprout (foo))

This is definitely better than going in to an infinite loop and hanging
my machine, but now I think I'm a bit at a loss as far as understanding
what's going on here.  Which variable does Grace think is unbound?  And
what is the source of the syntax-error?



> that will pull the latest sndlib tar ball and compile everything. the start the app and try that example, perhaps it won't crash.  the reason that grace is probably racing is that it is in a tight loop because the C side never sees the error return value.
> let me know if this fixes it or not.  lots has changed so you should expect issues to come up. I'm not adding any new features until its as stable as last spring.
> if it ever does this you can go to the Eval menu and select Interrupt Scheme (assuming you will get enough cycles to use the mouse.) on OSX you can press Command-K and this will do it more quickly.
> also when the queue is empty it will print a "queue is empty" to std:out -- if you don't see that after an error or when all processes are done then its probably racing.

More information about the Cmdist mailing list