JUCE Assertion failure in juce_AudioProcessor.cpp:441

Building the project succeeds but when I run the plugin with an executable, AudioPluginHost, Logic Pro or as a standalone, I receive JUCE Assertion failure in juce_AudioProcessor.cpp:441 as the output in Xcode. This prevents the plugin from functioning in AudioPluginHost or Logic Pro.

The error that is displayed is:
JUCE Message Thread (1): EXC_BREAKPOINT (code=EXC_I386_BPT, subcode=0x0)

The block of code where the error occurs is:

void AudioProcessor::validateParameter (AudioProcessorParameter* param)
checkForDuplicateParamID (param);
checkForDuplicateTrimmedParamID (param);

#if JucePlugin_Build_AU
jassert (wrapperType == wrapperType_Undefined || param->getVersionHint() != 0);

Has anyone experienced this before or have any ideas for troubleshooting?

Thank you in advance.

Setup: macOS 12.3.1, Xcode 13.4.1, JUCE 7.0.2

1 Like

Info in this thread:

Hi @leehu, thank you for the reply! I Incorporated the version hint into my parameters but it was still giving the same error. I’ve created a new plugin now that contains only the initial juce framework. Building the project succeeds, running the project produces the assertion failure. This occurs when I use the VST3 version with the AudioPluginHost as the executable. This has me confused because I have not added any code or parameters to the plugin.

Do you have any idea why this is occurring?

The Xcode output is this:

Hi, I am having the same issue. To go around it for now, quit XCode, and in ProJucer, deselect the AU plugin option, and resave and re export to XCode, so it does not try to build an AU plugin. It should no longer throw that error any longer. After that, we need to read up on the ridiculous “versioning of every parameter” thing that Apple demands we do to the plugins. Cheers.

Thankyou for this - solved my issues.