Hi

After a break, I am trying to catch up on the brutefir performance test in adk.

Unfortunately, with the current revision of adk (2af0538) I get a segmentation fault when running brutefir in offline mode.

It can be reproduced by building qemu with brutefir and sox and then doing:

cd /etc/

mkdir bftest

cd bftest

sox -t sl -r 44100 -c 2 /dev/zero -r 44100 -c 2 -b 16 pinknoise.wav synth 1:00 pinknoise vol 0.6

cat > wavtest.conf << "EOF"
# Begin wavtest.conf

# File used for testing brutefir
# Uses dirac pulse als filter.
# Stereo only. Input from file pinknoise.wav. Output to file output.wav.

## DEFAULT GENERAL SETTINGS ##

float_bits: 32;             # internal floating point precision
sampling_rate: 44100;       # sampling rate in Hz of audio interfaces
filter_length: 4096,16;      # length of filters
# config_file: "/home/audiovero/.brutefir_config"; # standard location of main config file
overflow_warnings: true;    # echo warnings to stderr if overflow occurs
show_progress: false;        # echo filtering progress to stderr
max_dither_table_size: 0;   # maximum size in bytes of precalculated dither
allow_poll_mode: false;     # allow use of input poll mode
modules_path: "/usr/lib/brutefir";   # extra path where to find BruteFIR modules
monitor_rate: true;        # monitor sample rate
powersave: -80;           # pause filtering when input is zero
lock_memory: false;          # try to lock memory if realtime prio is set
convolver_config: "brutefir_convolver"; # location of convolver config file
#benchmark: true;

## LOGIC ##

logic: "cli" { port: 3000; };

## COEFFS ##


coeff "dirac" {
        filename: "dirac pulse";
    format: "FLOAT64_LE";
    };


## INPUT, OUTPUT ##                           

input "fleft", "fright" {
        device: "file" { path: "pinknoise.wav"; skip: 44;}; # ignore_xrun: true; };
        sample: "S16_LE";
    channels: 2/0,1;
   
};

output "fr", "fl" {
        # device: "alsa" { device: "hw:0";}; # ignore_xrun: true; };
    device: "file" { path: "output.wav"; };
        sample: "S16_LE";
    channels: 2/0,1;
    dither: true;
};




## FILTERS ##



filter "frfilter" {
       from_inputs: "fright";
       to_outputs: "fr";
       coeff: "dirac";
};

filter "flfilter" {
       from_inputs: "fleft";
       to_outputs: "fl";
       coeff: "dirac";
};

# End wavtest.conf
EOF

brutefir -nodefault wavtest.conf

which gives:

"Generating random numbers...Segmentation fault"

.config can be found here:

https://mega.nz/#!5wp3QL6T!JtJxHTm8_wR5RGrDsxTSkUT6CuQD-nW3iNxvEDDfva0
uname -a on qemu:
Linux openadk 4.4.50-1 #1 Sun Mar 12 19:58:04 CET 2017 x86_64 GNU/Linux

The same thing happend also on my asus_p5bvm machine on revision 0c6a3bd.
On earlier revisions of adk (see oder e-mails) the rest ran fine.
I don't really see where this might be coming from.

Any ideas or insights are welcome! :-)

Cheers
Oliver

P.S.
The config file was modified slightly to avoid the /data path, so the the test can be run from anywhere, now.