Cabbage Logo
Back to Cabbage Site

Cabbage VST in Ardour

Hello,

using Cabbage I exported some VST plugins.
When I load them into Ardour6, often it crashes.
For example, this happens when loading these VST2 (created in Cabbage from the example files): TR-808 and Arpeggiator.

[I use: Ubuntu 18.04, Cabbage 2.8.0., Ardour 6.9.0 (rev 6.9) Intel 64-bit - debug]

What the problem is?
Thanks for helping

t.

I can’t say without trying these myself and letting you know. I’m currently rewriting the build system so it might be a day or two before I get around to testing and getting back to you. Feel free to bump this thread in a few days if you’ve not heard from me :wink:

@tux do you see any error messages when Ardour crashes? Can you provide a stack trace by running ardour from the command line and then getting it to crash? That might give some clues to the source of the problem(s).

@brylie, you’re on Ubuntu too right, do you have Ardour set up?

Hi,

this is what I read in the terminal when in Ardour6.9 I select “Arpeggiator_CAB” VST (exported from Cabbage 2.8, Arpeggiator.csd) to assign it to a track:

Resetting csound ...
csound = 0x(nil)
0dBFS level = 32768,0
--Csound version 6.15 (double samples) Sep 21 2020
[commit: 4c15b607237748fdf6ebfde4c8cce87717d2b893]
libsndfile-1.0.28
initAllCsoundChannels (ValueTree cabbageData) ...
csound = 0x0x55cbeb13c9e0
handle = 0x0x55cbed0d4450
initAllCsoundChannels (ValueTree cabbageData) - done
Emulate VST Bypass Port for Arpeggiator_CAB 
initAllCsoundChannels (ValueTree cabbageData) ...
csound = 0x0x55cbeb13c9e0
handle = 0x0x55cbed0d4450
initAllCsoundChannels (ValueTree cabbageData) - done
dispatch_x_events: ConfigureNotify cfg: (700 440) plugin: (700 440)

So, when I play a key of the virtual keyboard in the VST GUI, Ardour6.9 suddenly turns off.
This in the terminal:

    backtrace() returned 33 addresses
    /usr/local/lib/libcsound64.so.6.0(+0x43f9a) [0x7f38e7a82f9a]
    /lib/x86_64-linux-gnu/libc.so.6(+0x3f040) [0x7f397526e040]
    /usr/local/lib/libcsound64.so.6.0(+0x6bc64) [0x7f38e7aaac64]
    /usr/local/lib/libcsound64.so.6.0(+0x63117) [0x7f38e7aa2117]
    /usr/local/lib/libcsound64.so.6.0(+0x62c18) [0x7f38e7aa1c18]
    /usr/local/lib/libcsound64.so.6.0(+0x74728) [0x7f38e7ab3728]
    /usr/local/lib/libcsound64.so.6.0(+0x74c90) [0x7f38e7ab3c90]
    /usr/local/lib/libcsound64.so.6.0(+0x7596b) [0x7f38e7ab496b]
    /usr/local/lib/libcsound64.so.6.0(csoundPerformKsmps+0xed) [0x7f38e7a85794]
    /home/a/Documents/VST_CABBAGE/Arpeggiator_CAB.so(_ZN21CsoundPluginProcessor18performCsoundKsmpsEv+0x27) [0x7f3908d0dc87]
    /home/a/Documents/VST_CABBAGE/Arpeggiator_CAB.so(_ZN21CsoundPluginProcessor14processSamplesIfEEvRN4juce11AudioBufferIT_EERNS1_10MidiBufferE+0x5bd) [0x7f3908d185fd]
    /home/a/Documents/VST_CABBAGE/Arpeggiator_CAB.so(+0x3444ad) [0x7f3908a234ad]
    /usr/local/lib/ardour6/libardour.so.3(_ZN6ARDOUR9VSTPlugin15connect_and_runERNS_9BufferSetElldRKNS_11ChanMappingES5_jl+0x5fe) [0x7f397d4407da]
    /usr/local/lib/ardour6/libardour.so.3(_ZN6ARDOUR12PluginInsert15connect_and_runERNS_9BufferSetElldjlb+0x160c) [0x7f397d115ab4]
    /usr/local/lib/ardour6/libardour.so.3(_ZN6ARDOUR12PluginInsert3runERNS_9BufferSetElldjb+0x277) [0x7f397d117683]
    /usr/local/lib/ardour6/libardour.so.3(_ZN6ARDOUR5Route22process_output_buffersERNS_9BufferSetElljbb+0xa88) [0x7f397d1f32ce]
    /usr/local/lib/ardour6/libardour.so.3(_ZN6ARDOUR5Route9run_routeElljbb+0x1cb) [0x7f397d1f43e3]
    /usr/local/lib/ardour6/libardour.so.3(_ZN6ARDOUR5Route16no_roll_unlockedEjllb+0xf0) [0x7f397d2088d2]
    /usr/local/lib/ardour6/libardour.so.3(_ZN6ARDOUR9MidiTrack16no_roll_unlockedEjllb+0x3b) [0x7f397d07a55b]
    /usr/local/lib/ardour6/libardour.so.3(_ZN6ARDOUR5Route7no_rollEjllb+0x8c) [0x7f397d20879a]
    /usr/local/lib/ardour6/libardour.so.3(_ZN6ARDOUR5Graph17process_one_routeEPNS_5RouteE+0x198) [0x7f397cd22590]
    /usr/local/lib/ardour6/libardour.so.3(_ZN6ARDOUR9GraphNode7processEv+0x58) [0x7f397cd27b68]
    /usr/local/lib/ardour6/libardour.so.3(_ZN6ARDOUR9GraphNode3runEi+0x1b) [0x7f397cd22877]
    /usr/local/lib/ardour6/libardour.so.3(_ZN6ARDOUR5Graph7run_oneEv+0x3ee) [0x7f397cd20082]
    /usr/local/lib/ardour6/libardour.so.3(_ZN6ARDOUR5Graph13helper_threadEv+0x19d) [0x7f397cd203e9]
    /usr/local/lib/ardour6/libardour.so.3(_ZNK5boost4_mfi3mf0IvN6ARDOUR5GraphEEclEPS3_+0x65) [0x7f397cd273c1]
    /usr/local/lib/ardour6/libardour.so.3(_ZN5boost3_bi5list1INS0_5valueIPN6ARDOUR5GraphEEEEclINS_4_mfi3mf0IvS4_EENS0_5list0EEEvNS0_4typeIvEERT_RT0_i+0x4d) [0x7f397cd26b17]
    /usr/local/lib/ardour6/libardour.so.3(_ZN5boost3_bi6bind_tIvNS_4_mfi3mf0IvN6ARDOUR5GraphEEENS0_5list1INS0_5valueIPS5_EEEEEclEv+0x4a) [0x7f397cd25f40]
    /usr/local/lib/ardour6/libardour.so.3(_ZN5boost6detail8function26void_function_obj_invoker0INS_3_bi6bind_tIvNS_4_mfi3mf0IvN6ARDOUR5GraphEEENS3_5list1INS3_5valueIPS8_EEEEEEvE6invokeERNS1_15function_bufferE+0x20) [0x7f397cd2566a]
    /usr/local/lib/ardour6/ardour-6.9.0(_ZNK5boost9function0IvEclEv+0x61) [0x55cbe68da48b]
    /usr/local/lib/ardour6/backends/libjack_audiobackend.so(_ZN6ARDOUR16JACKAudioBackend21_start_process_threadEPv+0x65) [0x7f394d32a265]
    /lib/x86_64-linux-gnu/libpthread.so.0(+0x76db) [0x7f39766e36db]
    /lib/x86_64-linux-gnu/libc.so.6(clone+0x3f) [0x7f397535071f]
    Csound tidy up: Errore di segmentazione
    pure virtual method called
    terminate called without an active exception
    backtrace() returned 19 addresses
    /usr/local/lib/libcsound64.so.6.0(+0x43f9a) [0x7f38e7a82f9a]
    /lib/x86_64-linux-gnu/libc.so.6(+0x3f040) [0x7f397526e040]
    /lib/x86_64-linux-gnu/libc.so.6(gsignal+0xc7) [0x7f397526dfb7]
    /lib/x86_64-linux-gnu/libc.so.6(abort+0x141) [0x7f397526f921]
    /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0x9d0a9) [0x7f3975c730a9]
    /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0xa8506) [0x7f3975c7e506]
    /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0xa8571) [0x7f3975c7e571]
    /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0xa925f) [0x7f3975c7f25f]
    /usr/local/lib/ardour6/libpbd.so.4(_ZN3PBD5Timer15timeout_handlerEv+0x23) [0x7f397a28df67]
    /usr/local/lib/ardour6/libpbd.so.4(_ZN3PBD5Timer16_timeout_handlerEPv+0x20) [0x7f397a28de1c]
    /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x4ce23) [0x7f3979566e23]
    /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_dispatch+0x155) [0x7f39795663a5]
    /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x4c770) [0x7f3979566770]
    /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_loop_run+0xc2) [0x7f3979566a82]
    /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0(gtk_main+0xb7) [0x7f3978e01a37]
    /usr/local/lib/ardour6/libgtkmm2ext.so.0(_ZN9Gtkmm2ext2UI3runER8Receiver+0x1a9) [0x7f397a620ceb]
    /usr/local/lib/ardour6/ardour-6.9.0(+0xcf5f65) [0x55cbe6f21f65]
    /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7) [0x7f3975250bf7]
    /usr/local/lib/ardour6/ardour-6.9.0(+0x67c11a) [0x55cbe68a811a]
    Csound tidy up: Annullato
    Errore di segmentazione (core dump creato)
    a@a:~$ 

Thanks,
t.

I’m just working on the new build system for Linux. I will test these plugins in Ardour once I have them building. Thanks for the report. Off hand I can’t see what might be causing the problem. I would suggest building Cabbage yourself, but there doesn’t seem much point when the means of building it are about to change quite drastically. Better leave it with me. I’ll get back to you soon.

Hi @tux, can I you test this version and let me know if it works OK?

https://1drv.ms/u/s!Ah4mHoWvP_Gcg6Y7fOXdryeZ8LX8sg?e=1sxTmX

Just unzip, and run the install scripts. You might wish to first run the uninstall scripts to remove the previous version. You’ll need to chmod the scripts in order to run them.

Hmm, I just tried here and they are not showing in any DAW :face_with_symbols_over_mouth: Leave it with me.

Hello,

I uninstalled Cabbage 2.8.0 and I installed your new version 2.8.9, which works very well.

But as for exported VST, there are these errors in Ardour 6.9:

[Info]: Scanning: /home/VST_CAB/TR-808.so
    [ERROR]: Missing entry method in VST2 plugin '/home/VST_CAB/TR-808.so'
    [WARNING]: Cannot open VST2 module '/home/VST_CAB/TR-808.so'
    Scan Failed.

Same error for Arpeggiator.so
(Please note that I am using Ubuntu 18.04, I think I would do well to upgrade to version 20.04LTS.)

Bye,
t.

I just updated last night. 18.04 was starting to feel very old…

p.s. I’m just running off a new build now…

Can you try that link again when you get a minute, I’ve updated the installer with new binaries. Still not sure it will work…

Thanks, I tried the new version:

loading Arpeggiator.so, Ardour6.9 suddenly shuts down again as soon as I play a key on the keyboard.

Loading TR-808 synth VST, now I can play and record for some time, then the sound goes away (Ardour disappears from QJackCtl Connections, even if in Ardour it says: Jack is running) and Ardour freezes, I have to kill the process.

If someone is using Ubuntu 20.04, I would be interested to know if there are the same problems or not, so I might know if it depends on the fact that I have a slightly outdated OS (Ubuntu 18.04). It could also depend on Ardour 6.9.0, it’s the latest version, I installed it by compiling from sources.

Bye,
t.

Leave it with me. I’ll test here on 20.04 and let you know how it goes. :+1:

@tux I just tested the latest build on 20.04 and the plugins load fine in Ardour, but performance isn’t great. But I’m not set up for real time performance here. In fact, most plugins I drop onto a track cause a rapid spike in CPU. On the other hand, the same plugin in Reaper works without causing the slightest blip in CPU. It’s strange. I am going to work on the VST3 interface next to see if the situation is any better there.

So I’d say it’s safe to move to 20.04 - but it’s not all plain sailing in terms of performance.

Yes. I tried to reproduce this bug and it corrupted my secure boot partition with the following steps

  1. built a the TR-808 project as a VST3 instrument
  2. opened Ardour with a new project
  3. created a track with the TR-808 instrument
  4. attempted to open the TR-808 UI via Ardour

At that point my computer became completely unresponsive, not even mouse movement - even my reflection in the monitor was froze. So, I immediately held the power button for a cold-boot :cold_face: . Upon boot, I was greeted with an ominous error: :cold_sweat:

ACPI region does not cover the entire command/response buffer

After a couple of hours of phone-based troubleshooting and BIOS-tweaking, I resigned to re-install my operating system. :cd:

Again, this may be pure coincedence, but it was immediately after testing out this plugin in Ardour. While I’ve experienced my share of reboot/hardware/kernel surprises with Linux, I’ve rarely encountered an issue that couldn’t be resolved by fixing a BIOS/GRUB configuration. :penguin:

Oh man, and it wasn’t even you who reported the problem :grimacing: I was testing the VST2 interface, I haven’t gotten around to doing any tests with the VST3 interface. I think moving forward it’s better we test basic instruments first. I think the 808 instrument uses some external text files. It’s very strange because I can run the same instruments in Reaper, Bitwig and Renoise without any CPU issues.

Thanks for testing, and sorry again it triggered this kind of response. It’s certainly the first time I’ve ever seen this kind of behaviour.