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.