Forgot to include pd-list... ---------- Forwarded message ---------- From: "Ivica Bukvic" ico@vt.edu Date: May 19, 2014 2:57 PM Subject: Re: [PD] [expr] external crashing pd To: "IOhannes m zmoelnig" zmoelnig@iem.at Cc:
This had been fixed in pd-l2ork a while ago, it is alloc/dealloc error where math is off by one and hence the crash. On top of that pd-l2ork version warns user they have exceeded the number of allowable arguments and fails to create the object this preventing potential problems that may come as a result of improperly instantiated object receiving data. Please dig through recent pd-l2ork commits to find the fix.
HTH On May 19, 2014 1:11 PM, "IOhannes m zmoelnig" zmoelnig@iem.at 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.
- 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 well
is this a known bug?
kind of. looking at the sources of expr i see (extra/expr~/vexp.h):
<snip> /* * Currently the maximum number of variables (inlets) that are supported * is 10. */ #define MAX_VARS 9 </snip>
and later (showing that not only the "inlets" are limited, but also the number of outlets is hardcoded to MAX_VARS):
<snap> t_outlet *exp_outlet[MAX_VARS]; </snap>
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.
so for now, my hint would be to not use [expr] and instead do explicit patching. in your case this is pretty straightforward (see attached patch...)
fgamsdr IOhannes -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 Comment: Using GnuPG with Icedove - http://www.enigmail.net/
iQIcBAEBCAAGBQJTebUxAAoJELZQGcR/ejb4hnsP/3dvJEqN4NxNgl3btxfLa3dj ooCiAqlJgUZjnA4n49Qr8E1IAXd+/9fjn5YcSOa99C6mH064JxkIXlQGX7OVYJZh k1xQGyv5zzXssmttVsxEdslIRJMEtkiPC7JL8zCOVPAxV8+GP02Vxy2lir5dNrGJ Q6zPk0adM7WVmsJdmMontAgRMglurtcvO+vgjblFukDLWO2ZbDRM1d6K/NnPg7cq lCu6/KbcEetOqAlCqFXlZwAvlDr102TewMQVW3WegqsssRsY5gLMxB9GiO7dMIMD 84PgUHLb6VOY+Ee1tEcGU2nRD5dLXJH48d3V7D0zP+V4T9bC6P5q9FC0h87KcFrI S0JCkLqUAjTN0jMvkiYW48P3s6UhfKWylaqRntUynSuUNW2cfwv26minOvX1d4T2 eQhkbRQnymAppsGivwGhajeje8zG/RtLKo2DycSUjtChHdptWY0DMDbZFO8YKgT2 /GwBXfBYbYKDIGELvBR+vjFDnkozWNaMZRziAxczuCcheq+lmBvcBsSxCWlMxtDF LjJvh0m3BezcE6HQK4+TG7DcCtpLm6gTcB9WElV3eledVoo7/FC9jPJIzJ/G/cru dNrwovc1uoU4GjLyW5roIcgch6HrrOFh2GoMSJyqL9IgNdQ6EA0Ug2UjIMXoFY0Z 7P2SQpFZQHUbPBHhZhtm =rNx0 -----END PGP SIGNATURE-----
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list