Vienna Ensemble VST3 crash in host


#1

1. Run demo host.

2. Load an instance of Vienna Ensemble VST3

3. Exit host or delete the filter

4, Crash at component->terminate(); in destructor

    ~VST3PluginInstance()
    {
        jassert (getActiveEditor() == nullptr); // You must delete any editors before deleting the plugin instance!
       
          releaseResources();
        if (editControllerConnection != nullptr && componentConnection != nullptr)
        {
            editControllerConnection->disconnect (componentConnection);
            componentConnection->disconnect (editControllerConnection);
        }
        editController->setComponentHandler (nullptr);
        if (isControllerInitialised)    editController->terminate();
        if (isComponentInitialised)     component->terminate(); //CRASH HERE

If you bypass this you get a AttributeList Leak.

Any ideas?

BTW this does not happen with 64 bit version of Vienna Ensemble and I noticed that when the Vienna VST3 instance is loaded the edtor dissappears and then reappears.

 

Windows 10 64 BIT


#2

Surely you should be reporting it to the plugin authors rather than us? Nothing here suggests that it's a juce bug, does it?


#3

Well yes it does suggest it's a juce bug. The same plugin works with all hosts that I know of except the juce host.

I have tried everything I can to determine what the problem is, but I am not knowledgeable of VST 3.

Does it work with Tracktion?


#4

We fixed some bugs in our VST3 implementation since you posted this, so it'd be worth trying again.

It's not smart to think in terms like "it works in other hosts so it's a juce bug". It'd be equally valid to say "Other plugins work in our host, so it's a plugin bug". But neither argument is solid, and there's no evidence in either direction for this case.

I've been doing this stuff for a long time, and have seen many situations where plugins fail in just one host because of stupid mistakes that are not the host's fault at all. Is this one of those cases? I've no idea. But if it's crashing inside the plugin's code, then something I know for sure is that only the plugin devs themselves can properly debug it.