[PD-dev] Re: [ pure-data-Bugs-1518030 ] subpatch clearing itself crashes Pd

Frank Barknecht fbar at footils.org
Sun Feb 11 15:56:29 CET 2007


Hallo,

I don't like <textarea> so I'll just post only here for now.

SourceForge.net hat gesagt: // SourceForge.net wrote:
> Comment By: Matteo Sisti Sette (sistisette)
> Date: 2007-02-11 15:24
> 
> Message:
> Logged In: YES 
> user_id=1709568
> Originator: NO
> 
> >But now we have a problem, if a message tries to commit suicide and
> >thus deletes the node that according to Pd's language rules and logic
> >needs to be evaluated again, after the "depth first tree" has come to
> >an end!
> 
> When the moments come to evaluate the "second branch" of a node which has
> been deleted as a result of the execution of its first branch, the object
> no more exists, so the most logical action to take (seems to me) would be
> just not to execute the pending "future branches". The tree does finish.
> Another acceptable option would be to output an error message that says
> that the message tree can't be completed. Indeed that would be the same
> thing, with or without an error message in the output.
> 
> The part you quote from the manual says that the message tree has to come
> to an end. It does not say that nothing must change until it comes to an
> end, as far as i see. You are adding that part. You may be correct, but
> that's not a consequence of the depth first message passing.
> Neither the self-clearing patch nor my "find f,cut" example try to
> generate a tree that does not end.
> 
> Not to mention that in theese examples the branch that ends up with the
> deletion of the message is the last branch, so the evaluation of the next
> branch would be just to detect that it didn't exist anyway.
> 
> 
> >To be able to do this Pd has to save the current branching node
> >somehow to come back there later, when the first branch has finished. 
> 
> Yeah. It is the "somehow" that has been chosen that does not take into
> account the possibility of dinamically deleting objects.

That's not true at all: You can delete objects just fine in almost
every way possible, you just aren't allowed to initiate this deletion
from the object to be deleted itself without [delay], because this
would create a loop and a "chicken-and-egg" problem because the
message that initiates the suicide happens at the same logical time as
the suicide. This is a tree that does not end because it is cyclic.

Ciao
-- 
 Frank Barknecht                 _ ______footils.org_ __goto10.org__




More information about the Pd-dev mailing list