Steps to reproduce:
add zynaddsubfx vst plugin to the track
open plugin settings (double click)
* open "plugin analysis" in the window
Ardour crashed (Segmentation fault)
OS: opensSUSE 13.2 64-bit
Ardour version: 4.4
Zynaddsubfx version: 2.5.3
Traceback:
Program received signal SIGSEGV, Segmentation fault. 0x00007fe99d1436c9 in __memcpy_sse2_unaligned () from /lib64/libc.so.6 (gdb) bt #0 0x00007fe99d1436c9 in __memcpy_sse2_unaligned () at /lib64/libc.so.6 #1 0x00007fe94204a509 in Master::GetAudioOutSamples(unsigned long, unsigned int, float*, float*) () at /usr/lib64/vst/ZynAddSubFX.so #2 0x00007fe94203eb50 in ZynAddSubFX::run(float const**, float**, unsigned int, DISTRHO::MidiEvent const*, unsigned int) () at /usr/lib64/vst/ZynAddSubFX.so #3 0x00007fe94203abdb in DISTRHO::PluginExporter::run(float const**, float**, unsigned int, DISTRHO::MidiEvent const*, unsigned int) () at /usr/lib64/vst/ZynAddSubFX.so #4 0x00007fe94203bc6d in DISTRHO::PluginVst::vst_processReplacing(float const**, float**, int) () at /usr/lib64/vst/ZynAddSubFX.so #5 0x00007fe942038ff7 in DISTRHO::vst_processReplacingCallback(_AEffect*, float**, float**, int) () at /usr/lib64/vst/ZynAddSubFX.so #6 0x00007fe9a2d7a67b in ARDOUR::VSTPlugin::connect_and_run(ARDOUR::BufferSet&, ARDOUR::ChanMapping, ARDOUR::ChanMapping, unsigned int, long) () at /usr/lib64/ardour4/libardour.so.3 #7 0x000000000082f61c in () #8 0x000000000082fbdc in () #9 0x00007fe9a1ae8632 in () at /usr/lib64/libglibmm-2.4.so.1 #10 0x00007fe9a1584303 in () at /usr/lib64/libglib-2.0.so.0 #11 0x00007fe9a15838e5 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0 #12 0x00007fe9a1583c48 in () at /usr/lib64/libglib-2.0.so.0 #13 0x00007fe9a1583f0a in g_main_loop_run () at /usr/lib64/libglib-2.0.so.0 #14 0x00007fe9a0e2afa7 in gtk_main () at /usr/lib64/libgtk-x11-2.0.so.0 #15 0x00007fe9a3384b16 in Gtkmm2ext::UI::run(Receiver&) () at /usr/lib64/ardour4/libgtkmm2ext.so.0 #16 0x0000000000495f3d in () #17 0x00007fe99d0d4b05 in __libc_start_main () at /lib64/libc.so.6 #18 0x00000000004a0044 in ()
your ardour version is too old, please update.
I know ardour doesn't always report buffer size changes when doing offline rendering, although I think it might be fixed in 4.6.
anyway, this is not a zyn bug but an ardour one.
it's not reporting a buffer size change to the plugin (export/offline/freewheel always uses 8192 frames)
I upgraded ardour to 4.6.0 and this bug still aplies. The only difference in the Ardour 4.6 is that you should choose "edit with generic controls" to see the "plugin analysis" dropdown.
the lv2 version might not have this issue, have you tried it yet?
Yes, Lv2 version does not have this issue. [But both Lv2 and vst versinos missing any UI controls to change synth settings]
For the moment some of the UI/Plugin integration depends on having the UI built with ntk. With the standard fltk UI it is still possible to connect to plugin instances with the zynaddsubfx-ext-gui, but this is not the prefered workflow.
So, testing with slackware 32bit, git zyn, and git ardour I fail to replicate the issue. This could mean that:
Further investigation will be needed.
It is unclear if this is related to the same underlying issue as the renoise crash or not, but some undefined behavior was just fixed. Could you verify if this resolves your issue?
What i should test? Current zynaddsubfx from git?
Yep. Just make sure that you're at the HEAD of the master branch and the DPF submodule is up-to-date (via git submodule update).
I tested current git zyn with 64-bit Ardour-4.6.334 nightly and the bug is still here.
This must be Ardour bug. Ardour crashes for me on any VST plugin with similar scenario. So this ticket can be closed, i guess. I will report it to Ardour.
Reported: http://tracker.ardour.org/view.php?id=6772
I got an answer there that sound like this is plugin's fault, not Ardour.
the ardour devs are so quick to dismiss the bugs...
the thing is, zynaddsubfx can handle variable buffer sizes!
I've been using it as such in carla for a long time (every midi event makes a process split).
I was able to reproduce this issue, although I got a difference backtrace from your original report.
But It does match the new one you posted on the ardour bugtracker.
I'd say this is defintely an ardour issue.
The same plugin works fine in lv2 version under the same conditions, the vst is the only one that crashes.
And zynaddsubfx does in fact handle variable buffer sizes just fine.
Based upon the discussion on the ardour bug tracker I'm going to say this sounds like their bug. In the case that the discussion there indicates otherwise please reopen this issue.