I've tested loading externals and it just doesn't create and complain

Are you sure? Turn on log level 4. Here's what I get when I try to load a single precision [markex/randomF] in my double precision built:

refusing to load 32bit-float object 'randomF' into 64bit-float Pd
maximum object loading depth 1000 reached
 markex/randomF
Note that actual warning is only visible with log level 3 and above.


but trying to load cyclone with [declare -lib cyclone] crashes Pd!
Please run Pd in a debugger and see where it crashes.

I also get a crash when trying to load [iemguts/receivecanvas]. In this specific case, the reason is that this object registers a proxy class without a name (passing NULL instead of a symbol for the class name), so Pd segfaults when it tries to print the warning. Pd should do a NULL check and probably omit the warning for unnamed classes.

Christof


On 26.02.2020 14:12, Alexandre Torres Porres wrote:


Em qua., 26 de fev. de 2020 às 10:09, Dan Wilcox <[email protected] <mailto:[email protected]>> escreveu:

    Forgive me if this has been gone over, but what's the behavior if
    a single-precision Pd tries to load a double-precision external or
    vice versa? Does it fail to load or simply crash?

    If it crashes, maybe there needs to be some mechanism to query the
    compiled precision of the external, ie. some sort of function
    pointer or define, etc. If it's not there, then assume
    single-precision and act accordingly. It would be nice to have
    useful error print concerning this. I'm just musing here. :)


I've tested loading externals and it just doesn't create and complain, but trying to load cyclone with [declare -lib cyclone] crashes Pd!

_______________________________________________
Pd-dev mailing list
[email protected]
https://lists.puredata.info/listinfo/pd-dev
_______________________________________________
Pd-dev mailing list
[email protected]
https://lists.puredata.info/listinfo/pd-dev

Reply via email to