[PD] What exactly is a "stack overflow" ?

Russell Bryant russell at russellbryant.net
Thu Dec 20 19:57:47 CET 2007


Miller Puckette wrote:
> ... and to wade in, here's an idea I'm toying with:  every 1000 or
> so bangs that until sends out, check the CPU clock.  Each time more
> than a second elapses, go check the input buffer from the GUI, and
> execute it (so that mouse clicks would appear within the context of
> the until loop!)  This would allow you to delete the offending until,
> assuming you know where it is.

Are there any other objects that run a loop like this that could potentially
block GUI processing for a long period of time?

My first thought with this approach is that you would end up having to sprinkle
this handling into the code for every object that could potentially have a
problem like this.  If this is the only one, then this certainly sounds like a
simple approach.

> Another idea:  have a GUI item that interrupts Pd, causing the stack
> frame to be rudely dropped and all clocks to be unset.

Yikes.  I personally would rather see an approach that simply ensures that the
GUI input buffer gets serviced, such as your first proposal.  I think that
should be able to handle any situation that this proposal would help, but in a
much less destructive manner.  :)

--
Russell Bryant




More information about the Pd-list mailing list