Upon closing the host after instantiating a VST3 build of my plugin I receive *** Leaked objects detected: 2 instance(s) of class StringArray
(varies from 2-6 instances)… but I don’t use StringArrays anywhere in my code. I do, however, use static const juce::StringRef
members of my processor for my parameter IDs that I pass into my juce::AudioProcessorValueTreeState
.
I profiled with Xcode’s “Leaks” instrument (although I don’t find it super reliable) and it fires off leak detections for juce::JuceVST3Component::JuceVST3Component()
- specifically when that constructor calls to juce::AudioProcessorValueTreeState::createAndAddParameter()
from my plugin. Instruments reported the offending leaks deriving from operator new(unsigned long)
which I thought may be allocations of typedef uint32 Vst::ParamID
, but I didn’t see any explicit allocations of that type.
Has anyone else run into this issue? I can’t seem to recreate the leak detection in formats of my plugin other than VST3.
I’m on macOS High Sierra (10.13.4), Xcode 9.3, using JUCE’s master branch (tag v5.3.1)