• samlan

    Hi there,
    I've been playing around with libpd the last few months, trying to make a little app that does audio synthesis from some computer vision algorithms. The program is now complete.. The only thing is, it's a little cpu intensive and I'd like to make it more efficient.

    Basically, what I'm trying to do now is incorporate the [pd~] object in pd-extra to take advantage of parallelism. I'm writing my code in C++ right now and compiling it on a Linux machine running Ubuntu Studio.

    I set up my program and Makefile in a way similar to the pdtest_freeverb c++ example. After some wrangling, everything compiles fine. But when I try to run it,

    Segmentation fault (core dumped)
    

    Boo. At this point I try compiling pdtest_freeverb itself. It compiles fine (although I have to add a #include line in main.cpp for usleep). When I run it,

    error: signal outlet connect to nonsignal inlet (ignored)
    verbose(4): ... you might be able to track this down from the Find menu.
    Segmentation fault (core dumped)
    

    So then I try rebuilding libpd. I delete the old one with make clobber and then make with UTIL=true and EXTRA=true. Still no dice. I delete the whole libpd folder from my hard drive and then clone it again from github. I build libpd with a bunch of different combinations of options. I checkout a couple different versions of libpd and do the same. Nothing seems to work - still getting segfaults.

    So, I am at a bit of a loss here. I don't know why these segfaults are happening. Any help would be ever so appreciated as I have been stuck on this for a while now.

    Here is the output from gdb's backtrace full if that is helpful:

    pdtest_freeverb:

    #0  0x000055555557ad2c in freeverb_dsp (x=0x5555557d1820, sp=<optimized out>)
        at src/externals/freeverb~.c:550
    No locals.
    #1  0x00007ffff7a966b3 in ugen_doit () from ../../../libs/libpd.so
    No symbol table info available.
    #2  0x00007ffff7a96bd3 in ugen_doit () from ../../../libs/libpd.so
    No symbol table info available.
    #3  0x00007ffff7a96bd3 in ugen_doit () from ../../../libs/libpd.so
    No symbol table info available.
    #4  0x00007ffff7a96bd3 in ugen_doit () from ../../../libs/libpd.so
    No symbol table info available.
    #5  0x00007ffff7a985ef in ugen_done_graph () from ../../../libs/libpd.so
    No symbol table info available.
    #6  0x00007ffff7aa5797 in canvas_dodsp () from ../../../libs/libpd.so
    No symbol table info available.
    #7  0x00007ffff7aa58cf in canvas_resume_dsp () from ../../../libs/libpd.so
    No symbol table info available.
    #8  0x00007ffff7aa6ad2 in glob_evalfile () from ../../../libs/libpd.so
    No symbol table info available.
    #9  0x00007ffff7b6d876 in libpd_openfile () from ../../../libs/libpd.so
    No symbol table info available.
    #10 0x000055555556e085 in pd::PdBase::openPatch (path="./pd", patch="test.pd", 
        this=0x555555783358 <lpd>) at ../../../cpp/PdBase.hpp:140
            handle = <optimized out>
            dollarZero = <optimized out>
            handle = <optimized out>
            dollarZero = <optimized out>
    #11 initAudio () at src/main.cpp:55
            bufferFrames = 128
            patch = {_handle = 0x7fffffffdd50, _dollarZero = 6, _dollarZeroStr = "", _filename = "", 
              _path = ".\000\000\000\000\000\000\000hcyUUU\000\000\020\254M\367\377\177\000\000\000\275\271\270\254\335\\X\000\000\000\000\000\000\000\000`cyUUU\000\000`3xUUU\000\000\000\000\000\000\000\000\000\000@cyUUU\000\000P xUUU\000\000\000\000\000\000\000\000\000\000\070eVUUU\000\000\006\000\000\000\377\000\000\000\000\aN\367\377\177\000\000\200\aN\367\377\177\000\000\000\004N\367\377\177\000\000\300\002N\367\377\177\000\000\000\275\271\270\254\335\\X\000\000\000\000%\000\000\000(F\230\366\377\177\000\000\360\332UUUU\000\000\000\275\271\270\254\335\\X\004\000\000\000\000\000\000\000h\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000"...}
            parameters = {deviceId = 6, nChannels = 0, firstChannel = 3099180288}
            options = {flags = 4294958528, numberOfBuffers = 32767, 
              streamName = <error reading variable: Cannot create a lazy string with address 0x0, and a non-zero length.>, priority = -8728}
    #12 0x000055555555af09 in main (argc=<optimized out>, argv=<optimized out>) at src/main.cpp:85
    No locals.
    

    Thanks again for any help!

    posted in libpd / webpd read more

Internal error.

Oops! Looks like something went wrong!