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

Charles Henry czhenry at gmail.com
Thu Dec 20 20:54:00 CET 2007


I don't think it's so bad to have a means of dropping the stack and
unsetting clocks.  As a debugging technique, it could allow you to
stop everything and probe some of your variables--not just an escape
from infinite loops but a more general tool.

The performance and generality of until is pretty important to
preserve.  I wouldn't suggest to put a "child proof cap" on it, if you
can't disable it somehow.  damn child proof caps... Daddy needs his
medicine!

Chuck


On 12/20/07, Miller Puckette <mpuckett at imusic1.ucsd.edu> 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.
>
> Another idea:  have a GUI item that interrupts Pd, causing the stack
> frame to be rudely dropped and all clocks to be unset.
>
> aren'y they both ugly?  but maybe something like this is needed ...
>
> M
>
>
> On Thu, Dec 20, 2007 at 05:39:14PM +0000, Andy Farnell wrote:
> > On Thu, 20 Dec 2007 10:43:57 -0600
> > "Charles Henry" <czhenry at gmail.com> wrote:
> >
> > > On Dec 19, 2007 7:58 PM, Chris McCormick <chris at mccormick.cx> wrote:
> > > > On Wed, Dec 19, 2007 at 02:22:44PM +0000, Andy Farnell wrote:
> > > > > On Mon, 17 Dec 2007 22:23:11 +0100 IOhannes m zmoelnig <zmoelnig at iem.at> wrote:
> > > > > > but a [bang(--[until] is not meant to loop infinitely.
> > > > > > it loops until a certain condition is reached.
> > > > >
> > > > > As it stands the behaviour of [until] is correct, but it's a very dangerous
> > > > > object unlike almost every other Pd object it's the only one beginners can
> > > > > really screw up with.
> > >
> > > I think a useful feature that would perhaps be able to handle this
> > > type of problem is a 'halt'/'continue' routine for message processing.
> > >  Say, for example, it could be automatically handled during a stack
> > > overflow-clear the stack and send an error message.  Or triggered by
> > > the watchdog to catch bang/until problems.  Something like that would
> > > give you the opportunity to save/re-load or add additional objects to
> > > stop the infinite loop, when not intended.
> >
> >
> > The subject of the watchdog is really interesting and I'd love to
> > hear a deeper discussion on it. But how do you propose to identify
> > an infinite loop? At what point does the watchdog say "Hi I'm Clippy
> > your Pd Watchdog... did you mean to create an infinite loop?"
> >
> >
> > > but it would still run into those problems of finding an arbitrary
> > > condition to trigger the 'halt'
> >
> > Hmmmm, there's beard stroker. :)
> >
> > a.
> >
> >
> > >
> > > Chuck
> > >
> > > _______________________________________________
> > > PD-list at iem.at mailing list
> > > UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
> >
> >
> > --
> > Use the source
> >
> > _______________________________________________
> > PD-list at iem.at mailing list
> > UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
>
> _______________________________________________
> PD-list at iem.at mailing list
> UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
>




More information about the Pd-list mailing list