View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0006772 | ardour | bugs | public | 2016-02-15 21:59 | 2020-04-19 20:17 |
Reporter | rwman | Assigned To | x42 | ||
Priority | normal | Severity | crash | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Platform | linux | OS | openSUSE | OS Version | 13.2 |
Product Version | 4.6 | ||||
Summary | 0006772: crash when clicked "plugin analysis" on any linux-vst plugin | ||||
Description | Ardour version: 4.4, 4.6 or Nightly Ardour-4.6.334-dbg (64-bit) Steps to reproduce: * create new session * add lxvst plugin to master bus (or create any track for that) * right-click on plugin, choose "edit with generic controls" * in the plugin configuration dialog click "plugin analysis" to uncollapse graph. Ardour crashed: segmentation fault Traceback: http://susepaste.org/49940315 I only tried 64-bit versions of Ardour. The issue said to be non-existent on 32-bit Ardour (in my original report: https://sourceforge.net/p/zynaddsubfx)/bugs/126/ | ||||
Tags | No tags attached. | ||||
|
This is a Problem with the Plugin in question not being able to cope with variable buffersizes. When analysis is active, Ardour runs it alternatively at current buffesize and 8192 samples (for analysis). Ardour tells the plugin so (in VST's case "effSetBlockSize"). This plugin is not alone there are a couple of others which crash under the same condition. |
|
So this bug should be addressed by plugin developers? |
|
I don't know yet. needs more investigation. |
|
Found why. In VSTPlugin::connect_and_run, the output buffer passed to _plugin->processReplacing is from scratch buffers (its size is the engine bufsize) and should be from bufs passed in parameters. When we ask plugin analyse, connect_and_run is called with nframes==4096, consequently the output buffer is too tiny. Furthermore, this issue is present in LV2Plugin and LadspaPlugin too but hidden by the fact that "valid" set by out_map.get() is always(often?) true; See: vst_plugin.cc: L568,L595 lv2_plugin.cc: L2096 ladspa_plugin.cc: L595 Problem can exists for inputs buffers too if valid==false I submited a pull request to mimic the behavior of ladspa and lv2 about connecting outputs ports to scratch buffer or bufs passed in parameters. |
|
LADSPA and LV2 do support in-place processing. Input and Output buffers are identical. VST cannot do that. It's probably a mistake to allow plugin analysis of VSTs (it was disabled for a long time and probably slipped in by accident in the GUI) |
|
Is this still an issue with recent git 5.0-pre ? Plugin pin connections and buffers were completely overhauled in late 4.7-xxx. |
|
Various fixes for VST as well as plugin-analysis have been made since the original report. And analysis is known to work for many VST plugins. |
|
Issue has been closed automatically, by Trigger Close Plugin. Feel free to re-open with additional information if you think the issue is not resolved. |
Date Modified | Username | Field | Change |
---|---|---|---|
2016-02-15 21:59 | rwman | New Issue | |
2016-02-15 22:29 | x42 | Note Added: 0017944 | |
2016-02-15 22:31 | rwman | Note Added: 0017945 | |
2016-02-15 23:27 | x42 | Note Added: 0017946 | |
2016-02-18 01:44 | elgoun | Note Added: 0017966 | |
2016-02-18 02:26 | elgoun | Note Edited: 0017966 | |
2016-02-18 13:14 | elgoun | Note Edited: 0017966 | |
2016-02-18 13:15 | elgoun | Status | new => confirmed |
2016-02-21 20:51 | x42 | Note Added: 0017987 | |
2016-06-26 14:29 | x42 | Note Added: 0018259 | |
2016-06-26 14:29 | x42 | Assigned To | => x42 |
2016-06-26 14:29 | x42 | Status | confirmed => feedback |
2020-04-06 18:55 | x42 | Status | feedback => resolved |
2020-04-06 18:55 | x42 | Resolution | open => fixed |
2020-04-06 18:55 | x42 | Note Added: 0021218 | |
2020-04-19 20:17 | system | Note Added: 0023584 | |
2020-04-19 20:17 | system | Status | resolved => closed |