[chuck-dev] Sporking til you drop (wake time is past, wake_time < (now_system - .5) )

Andrew C. Smith acsmith at willamette.edu
Sun Oct 25 11:17:17 EDT 2009


I've discovered a slightly strange bug, or possibly my computer is
just running out of resources. I got chuck working as a dynamic
library in an external program, and have circles orbiting around other
circles sending the areas of all possible triangles made from the
orbit points to global buses. Basically, this requires an update every
frame tick, at 30::ms (arbitrary, judged by what frame rate looks
adequate on most video games) and then one of my chuck files
interpolates between the points at a control rate.

I've gotten it down to where I just append "Bus.setChan(x, y); \n" to
the end of a string (I use a method "setChan" so that it can broadcast
an event to waiting shreds, rather than just having the receiving
shreds update constantly) then right at the end of every frame tick
(assuming that my string has contents) I spork the shred. This means
that only ONE shred is sporked every tick, no matter the number of
buses or global variables I've changed.

The problem is that I consistently get this message: internal sanity
check failed in shredule() / (wake time is past) - x : y (where x and
y are numbers referring to time passed in the VM, I believe). I
checked it out, and x is SET to y just two function calls earlier,
with nothing much happening in between. It calls


More information about the chuck-dev mailing list