[CM] Grace freezes on sprout

Sergey cmdist at nospam.frostglow.com
Sat Sep 22 08:33:19 PDT 2012


When I run the following code in Grace:

    (define (foo)
      (let ((sequence '(0 1 2)))
        (process
          for i from 0 to (length sequence)
          for current-element = (nth sequence i)
          do
          (print current-element)
          (wait 1))))

    (sprout (foo))

grace will print:

  0
  1
  2

and then will go in to what seems like some kind of infinite loop,
spiking my CPU usage to 100%, and slowing everything on the system down
to a crawl.  If I let it run for longer than maybe 30 seconds, my
system will completely freeze (except for disk activity, as I can
see the disk drive light flash), with no mouse movement or keyboard
input of any kind having any effect and no more screen refresh
happening.  The only solution at this point is a hard reboot.

Grace has had the same behavior in numerous other cases as well, but
this is just one of the simplest reproduceable cases I've been able to
find.

Another thing I'd like to report that even when doing absolutely
nothing, Grace uses about 34% of my CPU.  That's what happens when
I run a fresh instance of Grace, without loading any files, nor
opening Grace's editor or doing anything else.  That's pretty
significant CPU use for a process that's doing virtually nothing.
Is there any way to make Grace more efficient?

  --Sergey



More information about the Cmdist mailing list