Linux Mint 14 Nadia (32bit) running MATE Pure Data 0.43.4-extended Kernel 3.5.0-48-generic jackdmp 1.9.9
I have a couple of questions about the [expr] external:
I have an [expr] object that takes 1 frequency (as a float) and divide it by 9 different ratios then send the results to 9 different outlets - this seems to work fine
two situations are crashing pd:
ratio by 2 or something it crashes pd
one to the patch I've attached below) it crashes the app as well
is this a known bug?
-or-
what am I doing wrong?
I've attached both the crash log (reflecting 2 crashes) as well as the patch below
any help is appreciated and thanks in advance! kim
========= apport.log ========= ERROR: apport (pid 19550) Fri May 16 11:48:56 2014: debug: session gdbus call: ERROR: apport (pid 19550) Fri May 16 11:48:56 2014: apport: report /var/crash/_usr_bin_pd-extended.1000.crash already exists and unseen, doing nothing to avoid disk usage DoS ERROR: apport (pid 19613) Fri May 16 11:56:33 2014: called for pid 19555, signal 11, core limit 0 ERROR: apport (pid 19613) Fri May 16 11:56:33 2014: executable: /usr/bin/pd-extended (command line "pd-extended") ERROR: apport (pid 19613) Fri May 16 11:56:33 2014: gdbus call error: Error: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service files
ERROR: apport (pid 19613) Fri May 16 11:56:33 2014: debug: session gdbus call: ERROR: apport (pid 19613) Fri May 16 11:56:33 2014: apport: report /var/crash/_usr_bin_pd-extended.1000.crash already exists and unseen, doing nothing to avoid disk usage DoS
=========== patch =========== #N canvas 179 129 872 480 10; #X msg 12 -119 62.64; #X floatatom -43 54 8 0 0 0 - - -; #X floatatom 11 54 8 0 0 0 - - -; #X floatatom 64 53 8 0 0 0 - - -; #X floatatom 118 53 8 0 0 0 - - -; #X floatatom 172 53 8 0 0 0 - - -; #X floatatom 226 53 8 0 0 0 - - -; #X floatatom 279 52 8 0 0 0 - - -; #X floatatom 333 52 8 0 0 0 - - -; #X floatatom 387 52 8 0 0 0 - - -; #X obj 12 -97 expr $f1 * 1/1 ; $f1 * 49/25 ; $f1 * 28/27 * 2 ; $f1
#X text 176 -79 <-- type "* 2" into one expression - this should make it crash; #X connect 0 0 10 0; #X connect 10 0 1 0; #X connect 10 1 2 0; #X connect 10 2 3 0; #X connect 10 3 4 0; #X connect 10 4 5 0; #X connect 10 5 6 0; #X connect 10 6 7 0; #X connect 10 7 8 0; #X connect 10 8 9 0;
-----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