Re: [LAU] reporting a bug: getting a backtrace

From: Fons Adriaensen <fons@email-addr-hidden>
Date: Sat Jan 21 2012 - 12:44:21 EET

On Sat, Jan 21, 2012 at 12:11:10AM +0000, Alan Russell wrote:

> I got the same bug trying to patch a feedback loop on mine. It doesn't
> seem to matter what modules are in the feedback line, even a gain
> object set to 0 (-infinity dB, whatever). As soon as you close the
> loop, the program exits.

In module.cpp change

float **Module::getData(int index)
{
    if (!cycleReady) {
        generateCycle();
        cycleReady = true;
    }
    return data[index];
}

to

float **Module::getData(int index)
{
    if (!cycleReady) {
        cycleReady = true;
        generateCycle();
    }
    return data[index];
}

and recompile. If you have recent compilation tools you may
have to add -ldl to the list of libraries in Makefile.

The order of these two statements was apparently changed,
but it *does* matter. If there is a loop, getData() for one
particular module will call itself before generateCycle()
returns. If that happens generateCycle() must not be called
again.

Ciao,

-- 
FA
Vor uns liegt ein weites Tal, die Sonne scheint - ein Glitzerstrahl.
_______________________________________________
Linux-audio-user mailing list
Linux-audio-user@email-addr-hidden
http://lists.linuxaudio.org/listinfo/linux-audio-user
Received on Sat Jan 21 12:15:02 2012

This archive was generated by hypermail 2.1.8 : Sat Jan 21 2012 - 12:15:02 EET