VST3 plugins built with JUCE 4.2 crash Cakewalk Sonar when adding the plugin to the project. This only happens if the plugin has more output buses than the main bus.
Reproducible with MultiOutSynth. Simply build a (64bit) VST3 plugin and try to load it in Sonar. Access Violation. Here’s the call stack:
MultiOutSynth.vst3!juce::zeromem(void * memory, unsigned __int64 numBytes) Line 34 C++
MultiOutSynth.vst3!juce::FloatVectorOperations::clear(float * dest, int num) Line 503 C++
MultiOutSynth.vst3!juce::JuceVST3Component::processAudio(Steinberg::Vst::ProcessData & data, juce::Array<float *,juce::DummyCriticalSection,0> & channelList) Line 1745 C++
MultiOutSynth.vst3!juce::JuceVST3Component::process(Steinberg::Vst::ProcessData & data) Line 1649 C++
If you set the maxMidiChannel = 1 in this project, it works fine again (since this causes the example to only have a main bus).
VST2 plugins work just fine, even with additional buses.
Tested with Cakewalk Sonar Platinum 22.3.0 x64.