JUCE Assertion failure in juce_VST_Wrapper.cpp:1783


#1

The code at this assertion says “if this assertion is hit file a bug” so I’m here to try and troubleshoot it.

I have a Juce-based plug-in that I’m loading in a Juce-based host, both on Linux. The plug-in itself is an instrument, takes no inputs, and getDefaultLayoutForChannelNumAndBus correctly returns AudioChannelSet::disabled(). Accordingly the filter returns true when setting this as the preferred bus arrangement, so the assert jassert ((! set.isDisabled()) && success); fires.

Immediately afterwards, the host process is killed due to a floating point exception for reasons I can’t discern since all the variables displayed in the debugger make sense.

Should I be overriding my plug-in’s setPreferredBusArrangement to return false if a disabled set is provided even though it is technically a totally acceptable bus arrangement? Is there some other bit of information I’m missing?


#2

Can I see the simplified version of your AudioProcessor? That would help me to debug this. In any case, this bug is probably already fixed on develop - but you’ll need to update your code. Look at the JUCE/examples/PlugInSamples/MultiSynth example on the develop branch and modify it to only have a single bus.


#3

Hey Fabian,

Sorry for the months-later reply, your comment about it potentially already being fixed sent me on quite a wild ride of. The short version is that I was indeed using an out-of-date version of JUCE, and while I still see the assert pop up in the terminal from time to time, making sure I have been updating JUCE cleared up the exception so everything is gravy. I’m feeling a little embarrassed about ignoring updates, but I do very much appreciate the reminder, thanks for your help.


#4

No problem!