# Strange Leak Detector Assertions Running VST3

**URL:** <https://forum.juce.com/t/strange-leak-detector-assertions-running-vst3/27286>\
**Category:** Audio Plugins\
**Created:** [April 17, 2018, 6:59pm UTC](https://forum.juce.com/t/strange-leak-detector-assertions-running-vst3/27286 "2018-04-17T18:59:29Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![alassandro](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/alassandro/32/4297_2.png) [@alassandro](https://forum.juce.com/u/alassandro)\
**Post date:** [April 17, 2018, 6:59pm UTC](https://forum.juce.com/t/strange-leak-detector-assertions-running-vst3/27286/1 "2018-04-17T18:59:29Z")

</div>

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)
