[PD] [expr] external crashing pd
kim at anechoicmedia.com
Tue May 20 23:06:24 CEST 2014
thanks!! very appreciated :)
hope this finds you well!
On 05/20/2014 12:44 PM, Miller Puckette wrote:
> I just now patched the Pd source to fix this (simply by enforcing the
> maximum number of $ args expr can deal with). The patch is from pd_l2orc.
> It will take a while for this to perclate to compiled versions of Pd but
> you can 'git' the source and get the fix now if you want.
> Of course it would be cool if expr could take more arguments. I don't know
> if there are hidden gotchas there or not.
> BTW the expr code I believe is a direct descendent from the original
> expr that appeared in Max about 1988. Not bad for code longevity :)
> On Tue, May 20, 2014 at 11:08:19AM -0700, Kim Cascone wrote:
>>> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 On 2014-05-16
>>> 21:12, Kim Cascone wrote:
>>>> two situations are crashing pd:
>>>> - when I try to change an expression in the object, like multiply
>>>> a ratio by 2 or something it crashes pd
>>> unable to reproduce.
>> ok thanks for checking :)
>> does anyone else work on Mint 14 using [0-43.4-extended<
>> if so, could you test this by editing the contents of the [expr]
>> external in the patch I provided, i.e., make the app crash?
>>>> - when I attempt to create 10 ratio divisions with outlets (try
>>>> adding one to the patch I've attached below) it crashes the app as
>>>> is this a known bug?
>>> kind of.
>>> looking at the sources of expr i see (extra/expr~/vexp.h):
>>> * Currently the maximum number of variables (inlets) that are supported
>>> * is 10.
>>> #define MAX_VARS 9
>>> and later (showing that not only the "inlets" are limited, but also
>>> the number of outlets is hardcoded to MAX_VARS):
>>> t_outlet *exp_outlet[MAX_VARS];
>>> so you cannot have more than 9 inlets.
>>> expr should not crash though, and instead print something to the
>>> pd-console, that tells you about that problem.
>> yeah - rather impolite that this bug takes down the entire app when
>> attempting to add a 10th outlet
>>> so for now, my hint would be to not use [expr] and instead do explicit
>>> in your case this is pretty straightforward (see attached patch...)
>> will use multiple [expr]'s as a workaround until this is fixed
>> thanks for your help!
>> Pd-list at lists.iem.at mailing list
>> UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
More information about the Pd-list