[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1087090: Segmentation fault when using certain plugins with lv2file



Package: lv2file
Version: 0.95-2

When using lv2file to apply certain plugins, lv2file crashes with a segmentation fault.

The common factor seems to be that plugins supporting the feature http://lv2plug.in/ns/ext/worker#schedule trigger the crash. This is consistent with the backtrace below, which shows that the crash happens while parsing supported features.


Example:

# Create an input file. Details aren't important
$ sox -n -c 2 -b 16 -r 44100 input.wav synth 1 sine
# Apply the Dragonfly hall reverb plugin (from Debian package dragonfly-reverb-lv2) to the input file $ lv2file -i input.wav -o output.wav https://github.com/michaelwillis/dragonfly-reverb
Note: Running 1 instances of the plugin.
Note: Mapping audio channels to plugin ports based on ordering
Segmentation fault



Same example with gbd backtrace, using symbols from lv2file-dbgsym and dragonfly-reverb-lv2-dbgsym:

(gdb) run
Starting program: /usr/bin/lv2file -i input.wav -o output.wav https://github.com/michaelwillis/dragonfly-reverb
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Note: Running 1 instances of the plugin.
Note: Mapping audio channels to plugin ports based on ordering

Program received signal SIGSEGV, Segmentation fault.
__strcmp_avx2 () at ../sysdeps/x86_64/multiarch/strcmp-avx2.S:283
283	../sysdeps/x86_64/multiarch/strcmp-avx2.S: No such file or directory.
(gdb) bt
#0  __strcmp_avx2 () at ../sysdeps/x86_64/multiarch/strcmp-avx2.S:283
#1  0x00007ffff797a74f in DISTRHO::lv2_instantiate (sampleRate=44100,
bundlePath=0x555555622390 "/usr/lib/lv2/DragonflyHallReverb.lv2/", features=<optimized out>)
     at ../../dpf/distrho/src/DistrhoPluginLV2.cpp:1415
#2 0x00007ffff7f05f93 in lilv_plugin_instantiate () from /lib/x86_64-linux-gnu/liblilv-0.so.0 #3 0x0000555555557c23 in main (argc=<optimized out>, argv=<optimized out>) at ./lv2file.c:785
(gdb)



The crash can be reproduced with many plugins from the Debian packages guitarix-lv2 and lsp-plugins-lv2. Any plugin that lists http://lv2plug.in/ns/ext/worker#schedule as a required or supported feature seems to trigger the crash. On the other hand, plugins that don't list that feature don't trigger the crash. For example, in the dragonfly-reverb-lv2 package, urn:dragonfly:early doesn't crash, but urn:dragonfly:plate and urn:dragonfly:room both crash with similar backtraces to the one given above.

Thanks for maintaining this package!

Cheers,
Michael

Attachment: OpenPGP_0x11044FD19FC527CC.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature


Reply to: