[PD] variable receive objects?

Miller Puckette msp at ucsd.edu
Fri May 18 18:06:47 CEST 2012


I didn't realize this until reading about it in this thread - I don't know what
to do about it either; it's been there for years, probably since I added the
IEM guis to Pd (2000 or so?)

There's no good way to fix it and it can't be taken out compatibly - perhaps
it should just print a warning now.

cheers
Miller

On Fri, May 18, 2012 at 08:40:54AM -0700, Jonathan Wilkes wrote:
> ----- Original Message -----
> 
> > From: Claude Heiland-Allen <claude at goto10.org>
> > To: pd-list at iem.at
> > Cc: 
> > Sent: Friday, May 18, 2012 7:08 AM
> > Subject: Re: [PD] variable receive objects?
> > 
> > On 14/05/12 19:43, Jonathan Wilkes wrote:
> >>>  From: IOhannes m zmoelnig<zmoelnig at iem.at>
> >>>  On 2012-05-14 05:02, John Harrison wrote:
> >>>>    I've used those 2 objects a lot and thought they seemed 
> > pretty
> >>>>    stable...
> >>> 
> >>>  that's because the "trivial" case (where receiving data 
> > and
> >>>  changing
> >>>  the receive label are completely independent of each other
> >>>  (stackwise)) won't create much of a problem.
> >> 
> >>  How do I manifest the bug?
> > 
> > See attached.  Uses iem_r, though it should make no difference which 
> > settable-receive you use.
> > 
> > WARNING: clicking the "boom" message makes Pd segfault :WARNING
> > 
> > To understand this you need to know that pd stores a receiver in the symbol 
> > table.  When there is only one receiver, it's just a pointer to the object, 
> > but when there's more than one there's a proxy object that contains a 
> > list.  When you change a receiver it can end up deleting the proxy object if the 
> > receiver count for a symbol drops from 2 to 1. Deleting an object while code is 
> > executing in its context -> boom.
> 
> Thanks, Claude.
> 
> I just want to point out that this affects every iemgui as well.
> 
> > 
> > 
> > Claude
> > 
> > _______________________________________________
> > 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